红帽OpenStack私有云部署

1.部署前的准备

环境采用红帽OSP6

OS:RHEL7.1

强烈建议16G内存,8G也可,但比较慢

资源分配:

16G内存 8G内存(可能有点吃力)

第一个节点:8G 第一个节点:4G

第二个节点:4G 第二个节点:2G

第三个节点:2G 第三个节点:1G

节点规划:

第一个节点:控制节点 ,一张仅主机网卡,磁盘100G开启CPU虚拟化

第二个节点:计算节点 ,1张仅主机网卡 磁盘100G开启CPU虚拟化

第三个节点:NTP节点,1张仅主机网卡 磁盘100G不开启虚拟化 因为NTP是做时间同步的,不需要开启虚拟化

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.IP地址及主机名规划

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

1.修改controller主机的/etc/hosts 文件

[root@controller ~]# vi /etc/hosts #进入hosts里面修改hosts文件,使能够与三台虚拟机相互通信(映射)
[root@controller ~]# cat /etc/hosts   #查看hosts里面的配置信息

在这里插入图片描述

2.将/etc/hosts 文件拷贝到另外两台主机上

[root@controller ~]# scp /etc/hosts root@compute:/etc/
[root@controller ~]# scp /etc/hosts root@ntp:/etc/

在这里插入图片描述

3.配置yum源(yum仓库)

第一个:配置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/

在这里插入图片描述

5. 关闭防火墙SELinux NetworkManager

[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 

在这里插入图片描述

6. 配置OpenStack YUM源

切换到ntp节点

  • 通过WinSCP软件把iso镜像上传到NTP服务器里面
  • 创建临时目录存放iso文件

在这里插入图片描述

[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安装包

在这里插入图片描述

7. 配置NTP服务(服务器端配置)

切换到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

8. 配置NTP服务(客户器端配置)

切换至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重启并设置为自启动

9. 在控制节点上部署PackStack

分别在三个节点上执行更新

[root@controller ~]# yum update -y
  1. 通过PackStack安装OpenStack
[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即可

安装成功

在这里插入图片描述
访问192.168.100.80/dashboard/出现如下界面在这里插入图片描述
如果密码错误,请到controller节点查看密码

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐