• OpenStack是一套IaaS解决方案
• OpenStack是一个开源的云计算管理平台
• 以Apache许可证为授权
一.前期准备:
1>准备3台虚拟机,配置如下:
openstack 管理主机:
– 2CPU,至少6G内存,50G硬盘
– 配置静态IP:192.168.1.10
nova01,nova02 计算节点 *2:
– 2CPU,4.5G 内存,100G 硬盘
– 配置静态IP:192.168.1.11(12)
2>配置DNS(这个需要在所有服务器上做):
– openstack 安装时候需要使用外部 dns 来解析域名
vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114 设置真机DNS地址
注:去掉search开头的所有行
– 将 openstack.tedu.cn 域名对应的 IP 解析到我们安装的openstack 服务器,真实环境用的是DNS域名解析,我这里用的是虚拟机做的,所以需要直接声明一下(三台服务器都要做,主机名改为相应的主机名)
#vim /etc/hosts
192.168.1.10 openstack
192.168.1.11 nova01
192.168.1.12 nova02
3>配置时间服务(时间同步) [三台服务器都做]
nova 服务器之间的时间必须保持一致(这里跟真机的时间同步)
#vim /etc/chrony.conf
server 192.168.1.254 iburst
#systemctl restart chronyd
测试时间同步:
# chronyc sources -v //出现*号代表NTP时间可用
^* gateway 2 6 17 62 -753us[-7003us] +/- 24ms
4>配置yum仓库:
• CentOS7-1804.iso //系统软件
• RHEL7-extras.iso //提供 Python 依赖软件包
• RHEL7OSP-10.iso //光盘拥有众多目录,每个目录都是一个软件仓库,我们配置其中2个软件仓库
– openstack 主要软件仓库
rhel-7-server-openstack-10-rpms
– packstack 软件仓库
rhel-7-server-openstack-10-devtools-rpms
#vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/centos-1804"
enabled=1
gpgcheck=0
[ftp_repo1]
name=rhel-7-server-openstack-10-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-rpms
enabled=1
gpgcheck=0
[ftp_repo2]
name=rhel-7-server-openstack-10-devtools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-devtools-rpms
enabled=1
gpgcheck=0
[ftp_repo3]
name=extras
baseurl=ftp://192.168.1.254/extras
enabled=1
gpgcheck=0
#yum clean all
#yum repolist
软件包共有 repolist: 10,670 (正确)
5>安装额外软件包(三台服务器都要做):
安装openstack期间,有些软件包所依赖的软件包,并没有在安装过程中安装,这些软件包需提前安装
– qemu-kvm
– libvirt-daemon
– libvirt-daemon-driver-qemu
– libvirt-client
– python-setuptools
软件包安装:
[root@room9pc01 ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools
6>检查基础环境
• 是否卸载firewalld 和 NetworkManager
• 检查配置主机网络参数(静态IP)
• 主机名必须能够相互 ping 通
• 检查配置主机yum源(4个,10670)
• 依赖软件包是否安装
• 检查NTP服务器是否可用
• 检查 /etc/resolv.conf 不能有 search 开头的行
这些都没有问题,说明前面的配置正确.
二.安装Openstack:
1>配置packstack(官方openstack安装脚本)
安装openstack 需要使用 packstack:
[root@openstack ~]# yum install -y openstack-packstack
使用 packstack 创建通用应答文件:
[root@openstack ~]# packstack --gen-answer-file=answer.ini
2>配置packstack:
[root@openstack ~]# vim answer.ini
42: CONFIG_SWIFT_INSTALL=n //因为没有配置ceph存储,这里是"no"
45: CONFIG_CEILOMETER_INSTALL=n //计费配置
49: CONFIG_AODH_INSTALL=n //计费配置
53: CONFIG_GNOCCHI_INSTALL=n //计费配置
75: CONFIG_NTP_SERVERS=192.168.1.254 //NTP服务地址
98: CONFIG_COMPUTE_HOSTS=192.168.1.11,192.168.1.12 //指定在那台服务器上安装nova组件
102: CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11,192.168.1.12 //指定哪台机器支持vxlan网络
333: CONFIG_KEYSTONE_ADMIN_PW=a //超级管理员的密码
840: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan //指明openstack运行支持的协议
910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex //定义内部通信需要三层交换机"br-ex"
921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 //将物理机的网卡eth0,变为交换机端口(设置外网端口)
1179: CONFIG_PROVISION_DEMO=n //事例(不需要,"no")
3>一键部署Openstack:
[root@openstack ~]# packstack --answer-file=answer.ini
• 如果前期环境准备无误,只要耐心等待安装结束即可
• 根据主机配置不同,安装过程需要20分钟左右或更久
• 如果出现错误,根据屏幕上给出的日志文件进行排错
三.通过浏览器打开Horizon (192.168.1.10)
Horizon BUG 处理
安装虽然没有报错,但默认无法打开 Horizon,这是一个软件的配置 BUG
#vim /etc/httpd/conf.d/15-horizon_vhost.conf
– WSGIApplicationGroup %{GLOBAL}
ServerAlias localhost
WSGIDaemonProcess apache group=apache processes=3
threads=10 user=apache
WSGIProcessGroup apache
WSGIApplicationGroup %{GLOBAL} <--- 这里添加
#apachectl graceful //重新载入配置文件
最后,在配置文件中输入192.168.1.10即可进入搭建好的openstack图形界面