环境采用红帽OSP6
OS:RHEL7.1
强烈建议16G内存,8G也可,但比较慢
16G内存 8G内存(可能有点吃力)
第一个节点:8G 第一个节点:4G
第二个节点:4G 第二个节点:2G
第三个节点:2G 第三个节点:1G
第一个节点:控制节点 ,一张仅主机网卡,磁盘100G开启CPU虚拟化
第二个节点:计算节点 ,1张仅主机网卡 磁盘100G开启CPU虚拟化
第三个节点:NTP节点,1张仅主机网卡 磁盘100G不开启虚拟化 因为NTP是做时间同步的,不需要开启虚拟化
1. [root@localhost ~]# hostnamectl set-hostname controller
[root@localhost ~]# bash
2. [root@localhost ~]# hostnamectl set-hostname compute
[root@localhost ~]# bash
3. [root@localhost ~]# hostnamectl set-hostname ntp
[root@localhost ~]# bash
[root@controller ~]# vi /etc/hosts #进入hosts里面修改hosts文件,使能够与三台虚拟机相互通信(映射)
[root@controller ~]# cat /etc/hosts #查看hosts里面的配置信息
[root@controller ~]# scp /etc/hosts root@compute:/etc/
[root@controller ~]# scp /etc/hosts root@ntp:/etc/
第一个:配置OS源(所需安装的软件包资源httpd)
第二个:配置OpenStack源(有OpenStack所需要的所有软件包)
一个repo文件需要配置上面两个部分
切换到ntp节点
将光盘在虚拟机上进行挂载
将光盘在操作系统中挂载到临时挂载点 /mnt (目的是为了安装httpd服务)
先到虚拟机上,看看设备镜像是否挂载,如果没有就把它挂上去
挂载红帽7.1的镜像
[root@ntp ~]# mount /dev/cdrom /mnt #把7.1的镜像挂到/mnt临时目录上
[root@ntp ~]# cd /etc/yum.repos.d/ #进入yum.repo目录
[root@ntp yum.repos.d]# vi dvd.repo #配置repo配置信息
[dvd]
name=dvd
baseurl=file:///mnt/ #第一次是挂载到/mnt目录下的
gpgcheck=0
enabled=1
安装并启动http服务
[root@ntp yum.repos.d]# yum install -y httpd #安装httpd服务
[root@ntp yum.repos.d]# systemctl start httpd #开启httpd服务
[root@ntp yum.repos.d]# systemctl enable httpd.service #设置开机自启动服务
[root@ntp yum.repos.d]# cd /var/www/html/ #进入一个网页html目录
[root@ntp html]# ls
[root@ntp html]# mkdir dvd #在html创建一个dvd目录
[root@ntp html]# ls
dvd
[root@ntp html]# umount /mnt/ #卸载 /mnt临时镜像文件
[root@ntp html]# ls /var/www/html/dvd/
[root@ntp html]# ls /mnt/
[root@ntp html]# mount /dev/cdrom /var/www/html/dvd/ #把镜像文件挂载到dvd目录下
mount: /dev/sr0 is write-protected, mounting read-only #显示已挂载成功
[root@ntp html]# df -Th #查看磁盘的大小,状态
但是这时候一旦重启,光盘挂载就会失效,所以我们要将这个光盘路径进行永久挂载,写入开机自启文件
[root@ntp html]# vi /etc/fstab #将磁盘永久挂载
最下面添加这行
/dev/cdrom /var/www/html/dvd iso9660 defaults 0 0
[root@ntp html]# mount -a #挂载磁盘
[root@ntp html]# cat /etc/fstab #查看挂载
可以修改repo文件路径,之后拷到controller和compute上
[root@ntp ~]# vi /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=http://192.168.100.81/dvd/ #这个一定要注意,不要输错了,刚刚是/mnt,现在是dvd目录下,地址 写自己虚拟机的ntp地址
gpgcheck=0
enabled=1
把NTP的源复制到controller和compute节点上
[root@ntp ~]# scp /etc/yum.repos.d/dvd.repo root@controller:/etc/yum.repos.d/
[root@ntp ~]# scp /etc/yum.repos.d/dvd.repo root@compute:/etc/yum.repos.d/
[root@controller ~]# systemctl stop firewalld #关掉防火墙
[root@controller ~]# systemctl disable firewalld #设置防火墙开机启动
[root@controller ~]# systemctl stop NetworkManager.service #关闭网络服务
[root@controller ~]# systemctl disable NetworkManager
[root@controller ~]# setenforce 0
[root@controller ~]# getenforce
[root@controller ~]# vi /etc/selinux/config
切换到ntp节点
[root@ntp ~]# mkdir /isoso #创建isoso目录
[root@ntp ~]# ls /isoso/ #查看isoso目录下的镜像
RHEL7OSP-6.0-2015-02-23.2-x86_64.iso
把光盘内容进行永久挂载
[root@ntp ~]# cd /var/www/html/
[root@ntp html]# ls
dvd
[root@ntp html]# mkdir openstack #创建OpenStack的目录
[root@ntp html]# ls #查看所在位置
dvd openstack
在/etc/fstab 中加入这行
/isoso/RHEL7OSP-6.0-2015-02-23.2-x86_64.iso /var/www/html/openstack iso9660 defaults 0 0
全部挂载
[root@ntp openstack]# mount -a
[root@ntp openstack]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 48G 1.6G 46G 4% /
devtmpfs devtmpfs 904M 0 904M 0% /dev
tmpfs tmpfs 914M 0 914M 0% /dev/shm
tmpfs tmpfs 914M 8.6M 905M 1% /run
tmpfs tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/loop0 iso9660 515M 515M 0 100% /var/www/html/openstack
/dev/sr0 iso9660 3.7G 3.7G 0 100% /var/www/html/dvd
/dev/sda1 xfs 497M 120M 378M 25% /boot
[root@ntp ~]# cd /etc/yum.repos.d/
[root@ntp yum.repos.d]# ls
dvd.repo redhat.
[root@ntp yum.repos.d]# cd /var/www/html/openstack/
[root@ntp openstack]# ls
RH7-RHOS-6.0 RH7-RHOS-6.0-Installer RHEL7-Errata RHEL-7-RHSCL-1.2 version.txt [root@ntp ~]# cd /etc/yum.repos.d/
openstack里面有4个目录,意味着要配置4个路径,加上我们之前配置的os路径,一共配置5个。
切换到controller节点
在controller节点上配置好repo文件
[root@controller ~]# cd /etc/yum.repos.d/
[root@controller yum.repos.d]# vi dvd.repo
[dvd]
name=dvd
baseurl=http://192.168.100.82/dvd/
gpgcheck=0
enabled=1
[RH7-RHOS-6.0]
name=RH7-RHOS-6.0
baseurl=http://192.168.100.82/openstack/RH7-RHOS-6.0
gpgcheck=0
enabled=1
[RH7-RHOS-6.0-Installer]
name=RH7-RHOS-6.0-Installer
baseurl=http://192.168.100.82/openstack/RH7-RHOS-6.0-Installer
gpgcheck=0
enabled=1
[RHEL7-Errata]
name=RHEL7-Errata
baseurl=http://192.168.52.138/openstack/RHEL7-Errata
gpgcheck=0
enabled=1
[RHEL-7-RHSCL-1.2]
name=RHEL-7-RHSCL-1.2
baseurl=http://192.168.100.82/openstack/RHEL-7-RHSCL-1.2
gpgcheck=0
enabled=1
测试yum是否正常工作
yum clean all #清除缓存
yum repolist all #列出所有的包
yum install -y readline* #测试yum是否能够正常工作
#如果不能正常工作,或者dvd软件包为0就要检查 yum包是否配置错误,一般都是路径配置错误
要仔细的检查,不能马虎
把NTP的源复制到ntp和compute节点上
[root@ntp ~]# scp /etc/yum.repos.d/dvd.repo root@ntp:/etc/yum.repos.d/
root@controller's password:
dvd.repo 100% 547 0.5KB/s 00:00
[root@ntp ~]# scp /etc/yum.repos.d/dvd.repo root@compute:/etc/yum.repos.d/
root@compute's password:
dvd.repo 100% 547 0.5KB/s 00:00
更新三个yum源,三台机子都要更新
[root@controller ~]# yum update #更新yum安装包
切换到ntp服务器
确认是否安装chrony包,如果没有/etc/chrony.conf就用yum安装chrony包,其他服务器同理
[root@ntp ~]# yum list all |grep chron #列出chrony包
[root@ntp ~]# yum install -y chron* #下载chrony所有组件安装包
[root@ntp ~]# vi /etc/chrony.conf #进入chrony文件下编辑
编辑的内容
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
allow 192.168.100/24 #修改你自己的主机网段及掩码
local stratum 10
启动服务
[root@ntp ~]# systemctl restart chronyd.service #设置chronyd重启服务
[root@ntp ~]# systemctl enable chronyd #设置chrony开机启动
[root@ntp ~]# yum install -y net* #下载net包
查看监听的端口号 :123
[root@ntp ~]# netstat -tulnp |grep :123
切换至controller和compute
[root@compute ~]# date -s "2010-01-01 11:00:00"
[root@compute ~]# yum install -y ntp #下载时间npt软件包
[root@compute ~]# ntpdate ntp #更新ntp时间
[root@compute ~]# date #查看当前时间
但是每次手工同步都非常的麻烦,所以可以进行配置让它自动同步
[root@compute ~]# vi /etc/chrony.conf #进入时间服务配置里
编辑内容
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
server ntp iburst #同步你ntp的时间范围
compute和controller都要做ntp自动更新服务,做完更新服务时,都要把chrony重启并设置为自启动
分别在三个节点上执行更新
[root@controller ~]# yum update -y
[root@controller ~]# yum install -y openstack-packstack
[root@controller ~]# packstack --help |grep ans
–gen-answer-file= 一个绝对路径
可以根据模板来生成一个应答文件,文件里面有安装所需要的所有参数,我们直接去更改文件里面的参数,然后执行这个文件就可以进行安装。
root@controller ~]# packstack --gen-answer-file=/root/answers.txt
#执行上面命令就可以生成一个应答文件,然后修改这个文件:
[root@controller ~]# vim answers.txt
#修改的内容:(插入模式按/查找)
CONFIG_NTP_SERVERS=192.168.52.138 #写ntp的ip地址
CONFIG_COMPUTE_HOSTS=192.168.52.136,192.168.52.137 #写controller和compute的ip地址
CONFIG_KEYSTONE_REGION=WuHan #指的是区域,默认是武汉
CONFIG_KEYSTONE_ADMIN_PW=redhat #opnstack的登录密码
CONFIG_HORIZON_SSL=y #指的是是否加密,默认是
CONFIG_PROVISION_DEMO=n #指的是是否给用户演示 一般默认否
参数配置好之后,就可以直接运行(这时候运行可能会报错mariadb)
[root@controller ~]# packstack --answer-file=/root/answers.txt
解决方案:删除,重新安装,然后再次执行
[root@controller ~]# yum remove mariadb #删除Mariadb安装包
[root@controller ~]# yum install -y mariadb mariadb-server 下载mariadb安装包
[root@controller ~]# packstack --answer-file=/root/answers.txt #运行answers.txt文件
如果安装出来是这种报错的话
就要排除两个地方:1.是否安装chronyd时间同步服务,配置信息是否配置正确
2.配置完chronyd服务是是否重启并开启时间自动同步服务
3.在进入vi/chronyd.conf服务是是否正确配置HOSTS的控制和计算节点的ip地址
解决方案:1.进入vi /etc/chronyd.conf查看配置错没有,挨个排查,参照7个步骤,逐一排查
2.排查完之后保存并退出,,然后重启chronyd服务并开启chrony服务自启动
3.进入 vi answers.txt 应答文件中,查看里面的配置是否修改正确,特CONFIG_COMPUTE_HOSTS= 是计算节点和控制节点的ip地址,修改controller和compute节点时,一定要用逗号隔开,不然会报错。不要修改成ntp的节点了,修改完后,保存并退出,然后再次执行 packstack --answer-file=/root/answers.txt即可