OpenStack开源云计算操作系统安装详细步骤-红帽Linux+PackStack含资源

OpenStack开源云计算操作系统安装详细步骤-红帽Linux+PackStack含资源

部署环境

三台服务器可为VMWare Workstation中的三个虚拟机,注意打开CPU虚拟化选项

  • Controller(控制节点)
    • CPU 2个
    • 内存 4G
    • 硬盘 30G
  • Compute(计算节点)
    • CPU 2个
    • 内存 4G
    • 硬盘 30G
  • NTP(时间服务器)
    • CPU 1个
    • 内存 1G
    • 硬盘 20G

安装步骤

  • 前序步骤:三台服务器均安装RHEL7.1系统或centOS7.1

    • 安装介质
      • rhel-server-7.1-x86_64-dvd.iso
      • 链接:https://pan.baidu.com/s/1e_JsJRKmiKiTFM57gcYwYA 提取码:iw1i
      • RHEL7OSP-6.0-2015-02-23.2-x86_64.iso
      • 链接:https://pan.baidu.com/s/1JMQYDj2P2adXbE_SHZoCTQ 提取码:kewr
      • 红帽操作系统安装步骤略
    • 网络模式配置成host-only
  • 1、配置网络和计算机名(三个节点)

    • Controller
      • IP: 192.168.6.66
      • 子网掩码:255.255.255.0
      • 网关:192.168.6.254
      • DNS: 192.168.6.66
      • 计算机名: controller
    • Compute
      • IP: 192.168.6.77
      • 子网掩码:255.255.255.0
      • 网关:192.168.6.254
      • DNS: 192.168.6.66
      • 计算机名: compute
    • NTP
      • IP: 192.168.6.88
      • 子网掩码:255.255.255.0
      • 网关:192.168.6.254
      • DNS: 192.168.6.66
      • 计算机名: ntp
# 打开网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 

TYPE=Ethernet
BOOTPROTO=none
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes
# 三台机器分别设置为66/77/88
IPADDR=192.168.6.66
NETMASK=255.255.255.0
DNS1=192.168.6.66

# 重启网络生效
systemctl restart network
# 或者
service network restart

# 修改主机名
hostnamectl set-hostname controller

# 计算机名写入host表
# xshell --> 工具 --> 发送键输入到所有会话
vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 以下为增加内容
192.168.6.66  controller
192.168.6.77  compute
192.168.6.88  ntp
  • 2、配置安全(三个节点)
# 关闭防火墙
systemctl stop firewalld.service  # 本次关闭
systemctl disable firewalld.service  # 开机不自启

# 关闭SELinux(内核安全机制)
vim /etc/selinux/config
SELINUX=disabled  # 开机不自启

setenforce 0  # 本次关闭

# 关闭 NetworkManager 服务(RHEL7对桥接支持不好)
systemctl disable NetworkManager  # 开机不自启

systemctl stop NetworkManager.service  # 本次关闭

关于 selinux, 可参考 getsebool -a 中的开关
在国内,一般直接关掉防火墙和selinux,但从安全角度来说,强烈不建议这样做

  • 3、配置时间服务器(只在ntp服务器中配置)
    • 保证OpenStack各个节点的时间一致,因为服务对时间特别敏感,OpenStack各组件之间交互特别频繁,交互关系特别多
    • 时钟服务器一定不可以搭在OpenStack节点上,而必须是一个外部节点
    • 红帽7中默认安装了新的chronyd时钟服务,而没有安装老的ntpd时钟服务
    • packstack安装OpenStack时,会自动检测时钟服务chronyd,纯开源安装不会检测
vim /etc/chrony.conf

# 注释如下四行,因为ntp是host-only模式,无法连接互联网,故取消上行对时
#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

:set nu  # 打开行号
# 取消第29行的注释,让ntp服务器作为最终的时钟源
local stratum 10

# 模仿第22行
allow 192.168.6/24  # 允许该网段的主机向我同步时间

# 重启时钟服务
systemctl restart chronyd.service

# 在controller节点中测试时钟服务器是否设置成功
date  # 查看当前时间
date 11112011  # 将controller节点时间改成错误时间
ntpdate 192.168.6.88  # 设置向ntp时钟服务器同步时间
date  # 再次查看当前时间,发现跟时钟服务器相同了
  • 4、配置yum服务器和yum仓库文件(只在yum源服务器中配置)
    • 将NTP服务器复用成为yum源
    • 新建根文件夹 mkdir /isos
    • 通过xftp的sftp协议将宿主机windows中的rhel-server-7.1-x86_64-dvd.iso和RHEL7OSP-6.0-2015-02-23.2-x86_64.iso两个文件拷贝至linux中的/isos目录中
    • yum源需要使用http共享出去
    • 挂载rhel-server-7.1-x86_64-dvd.iso安装http包
# 利用rhel-server-7.1-x86_64-dvd.iso安装http包

# 将iso文件挂在到/media上面
mount rhel-server-7.1-x86_64-dvd.iso /media/

# 查看挂在的iso文件
df -h

# 新建本地yum源
cd /etc/yum.repos.d/
vim dvd.repo

[dvd]
name=redhat
baseurl=file:///media
gpgcheck=0

# 利用本地yum源安装httpd包
cd
yum -y install httpd
# 安装成功会出现complete!

# 启动http服务
systemctl enable httpd
systemctl start httpd

# 在http默认目录下新建两个目录
mkdir /var/www/html/pub
mkdir /var/www/html/openstack

# 卸载之前挂载在/media上的iso文件
umount /media/
df -h  # 查看确认已卸载


# 进入http目录,写一个index文件
cd /varcd /var/www/html/
vim index.html
hello
# 局域网内任意主机通过浏览器访问网址http://192.168.6.88,可以看到hello

# 将rhel-server-7.1-x86_64-dvd.iso和RHEL7OSP-6.0-2015-02-23.2-x86_64.iso两个文件的完整路径写入fstab
vim /etc/fstab
/isos/rhel-server-7.1-x86_64-dvd.iso /var/www/html/pub iso9660 defaults 0 0
/isos/RHEL7OSP-6.0-2015-02-23.2-x86_64.iso /var/www/html/openstack iso9660 defaults 0 0

# 挂载并验证是否成功
mount -a  # 挂载,看到如下反馈
mount: /dev/loop0 is write-protected, mounting read-only
mount: /dev/loop1 is write-protected, mounting read-only
df -h  # 验证,看到如下反馈
/dev/loop0             3.7G  3.7G     0 100% /var/www/html/pub
/dev/loop1             515M  515M     0 100% /var/www/html/openstack
# 浏览器访问验证可以查看iso光盘中的内容
# http://192.168.6.88/pub
# http://192.168.6.88/openstack

# 更改yum源地址
# 路径写到哪一层,取决于repodata在哪一层
cd /var/www/http/openstack
# 发现在RH7-RHOS-6.0和RH7-RHOS-6.0-Installer目录下都有repodata,所以配置两个yum源仓库,最终结果如下
vim /etc/yum.repos.d/dvd.repo

[dvd]
name=redhat
baseurl=http://192.168.6.88/pub
gpgcheck=0

[openstack]
name=openstack
baseurl=http://192.168.6.88/openstack/RH7-RHOS-6.0-Installer
gpgcheck=0

[OSP]
name=OSP
baseurl=http://192.168.6.88/openstack/RH7-RHOS-6.0
gpgcheck=0

# 测试yum仓库是否配置成功
yum clear all
yum list all

cd /var/www/html/openstack/RH7-RHOS-6.0/Packages
# 可以看见yum安装openstack所有需要的包
# 可以学习createrepo -v命令,了解如何制作repodata文件夹下的内容

# 将ntp服务器中的yum仓库配置文件拷贝到controller和compute两台服务器的相应路径中,以便另两台机器中能够通过yum命令自动化安装openstack
scp /etc/yum.repos.d/dvd.repo root@controller:/etc/yum.repos.d/

至此,其他服务器安装时,都是远程使用ntp服务器中的yum仓库进行安装,当需要安装多个节点时,会特别方便

  • 5、安装packstack工具(仅在controller服务器中操作)
    • packstack是用来部署openstack的工具包
    • 通过packstack工具生成的应答文件可以快速安装多个节点
# 可通过ntp服务器上面的yum源安装packstack包
yum -y install openstack-packstack
# 安装成功会出现complete!

# 查看帮助
packstack --help |more

# 生成应答文件,作为安装openstack时的参数,类似于批处理,安装过程的批处理
# Generate a template of an answer file, using this option excludes all other options
packstack --gen-answer-file=/root/answers.txt
# 此时会在 /root/ 目录下生成应答文件 answers.txt, 并得到如下反馈生成一个公钥
Packstack changed given value  to required value /root/.ssh/id_rsa.pub

# 华为使用TripleO生成lld文件来做这件事
# 该帮助文档有600多行,可以在vim中使用如下命令
:set nu     # 显示行号
:set nonu   # 取消显示行号
gg          # 跳转到文本第一行
G           # 跳转到文本最后一行
:n          # 跳转到文本的第n行
/XXX        # 搜索XXX并跳转光标
n           # 搜索后光标跳转到下一个
N           # 搜索后光标跳转到上一个

dd          # 删除光标所在行
dG          # 删除光标所在行到最后一行的所有内容

  • 6、规划并使用应答文件安装openstack
vim /root/answers.txt

# 设置NTP服务器地址
CONFIG_NTP_SERVERS=192.168.8.88

# 设置ADMIN账户密码
CONFIG_KEYSTONE_ADMIN_PW=redhat

# 设置HORIZON_SSL加密,使得登录时使用https而不是http
CONFIG_HORIZON_SSL=y

# 关闭PROVISION_DEMO演示环境,若打开演示,会默认做好网络、镜像,还分发一个云主机
CONFIG_PROVISION_DEMO=n

# 设置计算节点IP地址
CONFIG_COMPUTE_HOSTS=192.168.6.77
# 可同时设置多个计算节点,甚至可将控制节点复用为计算节点,此处不做下面的设置
CONFIG_COMPUTE_HOSTS=192.168.6.77,192.168.6.66

# 通过应答文件,自动化安装openstack
packstack --answer-file=/root/answers.txt
# 安装过程需输入控制节点和计算节点的密码,并会传输秘钥,以便自动化安装过程中不需要再次输入密码
# 如果时钟同步出了问题,安装将无法进行。不需要知道时钟服务器的密码

# 安装成功后应能看到下面的文字
**** Installation completed successfully ******

# 通过访问https://192.168.6.66/dashboard进入openstack
# 用户名/密码为:admin/redhat

你可能感兴趣的:(OpenStack开源云计算操作系统安装详细步骤-红帽Linux+PackStack含资源)