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

  • 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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容