目录
一、环境准备
1、准备服务器
2、主机名与域名配置
3、yum仓库配置
4、配置时间同步
二、安装Openstack与Nova依赖环境
1、Nova依赖软件包安装
2、Openstack依赖软件包安装
三、搭建私有云
1、环境检查
2、配置应答文件answer.ini
一、环境准备
1、准备服务器
4台centos 7.5服务器:
服务器 | 主机名 | IP | 配置 | 备注 |
openstack服务器 | openstack | 192.168.2.10 | 2C 7G | 关闭selinux 关闭firewalld |
nova服务器 | nova1 | 192.168.2.20 | 2C 4G | 关闭selinux 关闭firewalld |
nova服务器 | nova2 | 192.168.2.30 | 2C 4G | 关闭selinux 关闭firewalld |
源服务器 | http | 192.168.2.40 | 1C 1G | 关闭selinux 关闭firewalld |
2、主机名与域名配置
(3台做主机名解析)
vim /etc/hosts
192.168.2.10 openstack
192.168.2.20 nova1
192.168.2.30 nova2
openstack安装时需要使用外部dns来解析域名,3台主机都如下配置:
vim /etc/resolv.conf
#把无关项都去掉,search后面得域名后缀都删除,去掉search开头得所有行
nameserver 114.114.114.114
3、yum仓库配置
yum镜像下载地址:
链接:https://pan.baidu.com/s/1OtBp89aHrnF-tKLW9dscdg?pwd=1234
提取码:1234
其中:
- RHEL7-extras.iso 提供Python依赖软件包
- RHEL7OSP-10.iso 光盘拥有众多目录,每个目录都是一个软件仓库,我们配置其中2个仓库,openstack主要仓库为rhel-7-server-openstack-10-rpms和rhel-7-server-openstack-10-devtools-rpms
此处选择http主机为yum源服务器,将RHEL7-extras.iso和RHEL7OSP-10.iso下载解压到openstack主机,并搭建http源,如果是内网机器,还要加一个系统源,本次实验是外网环境,就不单独搭建系统源了,如果内网环境请自行添加:
(建议将http源单独找一台服务器,实际部署有试过将http源部署在openstack服务器,在安装openstack的时候有报错,并且导致http无法访问的情况)
#http主机执行
yum install httpd -y
mkdir -p /var/www/html/{extras,openstack}
将RHEL7-extras.iso内容挂载复制到/var/www/html/extras目录下
将RHEL7OSP-10.iso内容挂载复制到/var/www/html/openstack目录下
chmod -R 755 /var/www/html/
systemctl enable --now httpd
如上可以正常访问,下面开始配置yum源客户端:
三台主机均如下相同配置:
vim /etc/yum.repos.d/openstack.repo
内容如下,添加三个openstack安装源:
[extras]
name=CentOS-$releasever - Extras
baseurl="http://192.168.2.40/extras"
enabled=1
gpgcheck=0
[openstack]
name=CentOS-$releasever - Openstack
baseurl="http://192.168.2.40/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0
[openstack-devtools]
name=CentOS-$releasever - Openstack-dev-tools
baseurl="http://192.168.2.40/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
yum clean all
yum repolist
源搭建成功。
4、配置时间同步
(时间同步服务器建议也是单独找一台服务器,实际部署有试过和openstack共享服务器,在安装openstack的时候有报错,是时间无法同步)
服务端:
同样将http主机(192.168.2.40)服务器作为时间服务器,其他主机向该机进行时间同步
#在http服务器执行
yum install chrony -y
vim /etc/chrony.conf
#新增如下内容
bindacqaddress 0.0.0.0
allow 192.168.2.0/24
systemctl restart chronyd
systemctl enable chronyd
客户端:
(openstack和nova主机均如下配置):
#在openstack和nova主机配置
yum install chrony -y
vim /etc/chrony.conf
#配置如下内容,将自带server配置都注释或删除,就用下面一个server地址
server 192.168.2.40 iburst
systemctl restart chronyd
systemctl enable chronyd
检查时间同步状态:
#在nova主机执行
chronyc sources -v
二、安装Openstack与Nova依赖环境
1、Nova依赖软件包安装
在nova1和nova2主机安装Nova相关包:
qemu-kvm:主包
libvirt-daemon:libvirt守护进程
libvirt-daemon-driver-qemu:libvirt启动
libvirt-client:libvirt客户端
python-setuptools:python工具包
openstack启动虚机得过程如下:
user指令--->openstack--->nova--->libvirtd--->qemu-kvm,其中openstack和nova属于openstack项目,libvirtd和qemu-kvm属于单独得虚拟化平台,所以需要单独安装:
yum install qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools -y
systemctl enable --now libvirtd
2、Openstack依赖软件包安装
Openstack安装2个软件包
- python-setuptools
- openstack-packstack
#在openstack主机安装
yum install python-setuptools openstack-packstack -y
三、搭建私有云
1、环境检查
- 禁用selinux、卸载firewalld和NetworkManger
- 主机名必须能够解析
- 检查配置主机yum源(含系统源、extras源、和openstack相关源)
- 依赖软件包是否安装(参见上文第二节:安装nova和openstack依赖环境)
- 检查NTP服务器是否可用
- 检查/etc/resolv.conf不能有search开头得行
2、配置应答文件answer.ini
(在openstack主机操作):
cd /root
packstack --gen-answer-file=answer.ini
ls
如上会生成一个应答文件。
修改应答文件:
vim /root/answer.ini
需要修改得内容如下:
#42行:为是否安装swift组件,swift一般在做存储云才用到,这里可不装
CONFIG_SWIFT_INSTALL=n
#45、49、53行:计费相关
CONFIG_CEILOMETER_INSTALL=n
CONFIG_AODH_INSTALL=n
CONFIG_GNOCCHI_INSTALL=n
#75行:时间服务器地址,这里填写NTP时间服务器地址
CONFIG_NTP_SERVERS=192.168.2.40
#95行:默认就是本机IP,不做更改,这个是设置openstack Dashboard管理节点是在哪台机器
CONFIG_CONTROLLER_HOST=192.168.2.10
#98行:nova组件安装IP地址,这里需要给几个nova主机安装nova组件,就填几个IP,这里应该将nova1和nova2的IP都写上,但是后面nova2要做其他实验,这里就安装nova1一个
CONFIG_COMPUTE_HOSTS=192.168.2.20
#102行:在哪个主机安装配置Neutron网络,这里所有主机包含openstack和nova主机都要安装,同样nova2先不装,装openstack和nova1主机
CONFIG_NETWORK_HOSTS=192.168.2.10,192.168.2.20
#330行:用户名,管理员用户名是admin,也可自定义修改
CONFIG_KEYSTONE_ADMIN_USERNAME=admin
#333行:管理员密码,密码默认是随机数,也可自定义修改
CONFIG_KEYSTONE_ADMIN_PW=admin
#840行:支持的网络协议,如果要连互联网,就要支持运营商的flat直连网络
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan
#910行:ovs网桥名称
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
#921行:网桥物理网卡接口,br-ex转发给真实物理网卡ens38,真实物理网卡名需要根据本机实际物理网卡名对于修改
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens38
#1179行:是否需要演示案例,这里设置不,可以减少内存
CONFIG_PROVISION_DEMO=n
修改好应答文件好,可以使用packstack根据应答文件配置安装openstack和nova,nova节点会被远程安装(通过ssh):
packstack --answer-file=/root/answer.ini
执行上面安装后,如果各主机之间没有配置互信,会要求输入各个nova节点主机的密码,按提示输入密码后回车即可,安装过程耗时比较长,需要耐心等待安装。
如下图所示,如果遇到报错,需要按照提示对于修改,然后再重新执行安装,下图是报ntp时间同步报错,和一个NetworkManager启动,而networking没有启用的警告:
修正错误后,重新安装:
如上,安装成功,至此一个openstack的私有云就安装完成。