使用脚本部署OpenStack平台--刘飞
基本环境配置
安装虚拟机
我们这次安装采用双节点搭建,首先创建两台虚拟机,一台controller节点,另一台compute节点。
手动最小化安装2台CentOS 7.2 系统,作为OpenStack节点,第一张网卡为仅主机模式,第二张网
卡为NAT模式,以及配置CPU虚拟化,计算节点至少使用4 GB内存,硬盘不小于50GB。第一张网卡网
段为192.168.100.0/24, 第二张网卡网段为192.168.200.0/24。 并对compute节点分两个区为
sdb1与sdb2。
双节点配置
Controller节点:4G内存,处理器4个,硬盘50G,添加两张网卡,第一张网卡为仅主机模式地址为192.168.100.10,
第二张网卡为NAT模式地址为192.168.200.10。
Compute节点:4G内存,处理器4个,硬盘100G+30G,添加两张网卡,第一张网卡为仅主机模式地址为192.168.100.20,
第二张网卡为NAT模式地址为192.168.200.20。并对第二块硬盘划分sdb1和sdb2两个分区。
配置网络、主机名
主机名
# hostnamectl set-hostname controller
# hostnamectl set-hostname compute
网络配置
Controller节点:
仅主机网卡
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno16777728 UID=8caf5c12-eb68-4c21-a0f0-7d9a6b3dbe24 DEVICE=eno16777728 ONBOOT=yes IPADDR=192.168.100.10 NETMASK=255.255.255.0
NAT网卡
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes> IPV6_FAILURE_FATAL=no NAME=eno16777728 UID=c74a9810-e056-4a17-9d96-fa81d9dbcd47 DEVICE=eno16777728 ONBOOT=yes IPADDR=192.168.200.10 NETMASK=255.255.255.0 GATEWAY=192.168.200.2 DNS1=8.8.8.8
Compute节点:
仅主机网卡
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno16777728 UID=8caf5c12-eb68-4c21-a0f0-7d9a6b3dbe24 DEVICE=eno16777728 ONBOOT=yes IPADDR=192.168.100.20 NETMASK=255.255.255.0
NAT网卡
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes> IPV6_FAILURE_FATAL=no NAME=eno16777728 UID=c74a9810-e056-4a17-9d96-fa81d9dbcd47 DEVICE=eno16777728 ONBOOT=yes IPADDR=192.168.200.20 NETMASK=255.255.255.0 GATEWAY=192.168.200.2 DNS1=8.8.8.8
配置yum源
注意:controller节点yum采用本地yum compute节点的yum采用controller节点搭建的ftp服务的yum。
上传基础镜像:
上传XianDian-IaaS-v2.2.iso 和CentOS-7-x86_ 64-DVD-1511.iso两个镜像包至controller节点/root目录中,并将ISO文件挂载至/opt/目录中。
yum源备份
cd /etc/yum.repo.d/
mkdir repo
mv Centos-* repo
创建repo文件
【controller】
在/etc/yum.repos.d创建centos.repo源文件
[centos] name=centos baseurl=file:///opt/centos gpgcheck=0 enabled=1 [iaas] name=iaas baseurl=file:///opt/iaas-repo gpgcheck=0 enabled=1
【compute】
在/etc/yum.repos.d创建centos.repo源文件
[centos] name=centos baseurl=ftp://192.168.100.10/centos gpgcheck=0 enabled=1 [iaas] name=iaas baseurl=ftp://192.168.100.10/iaas-repo gpgcheck=0 enabled=1
挂载iso文件
【挂载CentOS-7-x86_64-DVD-1511.iso】
[root@controller ~]# mount CentOS-7-x86_64-DVD-1511.iso /mnt/ [root@controller ~]# mkdir /opt/centos [root@controller ~]# cp -rvf /mnt/* /opt/centos/ [root@controller ~]# umount /mnt/
【挂载XianDian-IaaS-v2.2.iso】
[root@controller ~]# mount XianDian-IaaS-v2.2.iso /mnt/ [root@controller ~]# cp -rvf /mnt/* /opt/ [root@controller ~]# umount /mnt/
搭建ftp服务器,开启并设置自启
【controller】
[root@controller ~]# yum install vsftpd –y [root@controller ~]# vi /etc/vsftpd/vsftpd.conf
添加anon_root=/opt/ //指定匿名用户登陆的家目录
保存退出
关闭防火墙并设置开机不自启
【controller/compute】
systemctl stop firewalld systemctl disable firewalld
selinux关闭
【controller/compute】
setenforce 0 //暂时关闭
修改配置文件
/etc/selinux/conf //永久关闭
清除缓存,验证yum源
# yum clean all # yum repolist all
配置域名解析
修改/etc/hosts添加以下内容
controller 节点
192.168.100.10 controller 192.168.100.20 compute
compute 节点
192.168.100.10 controller 192.168.100.20 compute
compute硬盘分区
代码:
fdisk /dev/sdb
分为sdb1和sdb2两个分区,分别提供cinder服务使用空分区和计算节点swift 服务使用空分区。
安装iaas-xiandian服务
安装软件包
在控制节点和计算节点安装iaas-xiandian软件包。
注意:安装前先确保yum源正常
yum install iaas-xiandian -y
修改配置文件
编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,
根据每项参数上一行的说明及服务器实际情况进行配置.
去除配置文件中每一行开头的#
sed -i 's/^#//g' /etc/xiandian/openrc.sh
将密码全部设置为000000
- %s/PASS=/PASS=000000/g
【controller/compute】
修改内容:
HOST_IP=192.168.100.10 HOST_NAME=controller HOST_IP_NODE=192.168.100.20 HOST_NAME_NODE=compute RABBIT_USER=openstack RABBIT_PASS=000000 DB_PASS=000000 DOMAIN_NAME=xiandian(自定义) ADMIN_PASS=000000 DEMO_PASS=000000 KEYSTONE_DBPASS=000000 GLANCE_DBPASS=000000 GLANCE_PASS=000000 NOVA_DBPASS=000000 NOVA_PASS=000000 NEUTRON_DBPASS=000000 NEUTRON_PASS=000000 METADATA_SECRET=000000 INTERFACE_NAME= eno33554952(外网网卡名) CINDER_DBPASS=000000 CINDER_PASS=000000 TROVE_DBPASS=000000 TROVE_PASS=000000 BLOCK_DISK=sdb1(空白分区名) 提供cinder服务使用空分区 SWIFT_PASS=000000 OBJECT_DISK=sdb2(空白分区名) swift 服务使用空分区 STORAGE_LOCAL_NET_IP=192.168.100.20 HEAT_DBPASS=000000 HEAT_PASS=000000 CEILOMETER_DBPASS=000000 CEILOMETER_PASS=000000 AODH_DBPASS=000000 AODH_PASS=000000
使用脚本安装
安装基础服务
首先执行下面脚本
【controller/compute】
iaas-pre-host.sh
安装MySQL数据库服务
控制节点通过脚本安装MySQL数据库服务:
- Controller节点
执行脚本iaas-install-mysql.sh进行安装
安装Keystone认证服务
- Controller节点
执行脚本iaas-install-keystone.sh进行安装。
安装Glance镜像服务
- Controller 节点
执行脚本iaas-install-glance.sh进行安装
安装Nova计算服务
- Controller节点
执行脚本iaas-install-nova-controller.sh进行安装
- Compute节点
执行脚本iaas-install-nova-compute.sh进行安装
安装Neutron网络服务
- Controller节点
通过脚本安装网络服务:
执行脚本ias-install-neutron-controller.sh
执行脚本iaas-install-neutron-controller-gre.sh
脚本里最后一行有错 enabled 改为enable
文件在/usr/local/bin
- Compute节点:
通过脚本安装网络服务:
执行脚本ias-install-neutron-compute.sh
执行脚本iaas-install-neutron-compute-gre.sh
安装Dashboard服务
- controller节点
通过脚本安装Dashboard服务:
执行脚本iaas-install-dashboard.sh
安装Cinder块存储服务
- controller节点
通过脚本安装块存储服务:
执行脚本iaas-install-cinder-controller.sh
- compute节点
通过脚本安装块存储服务:
执行脚本 iaas-install-cinder-compute.sh
安装Swift对象存储服务
- controller节点
通过脚本安装对象存储服务:
执行脚本 iaas-install-swif-controller.sh
- compute节点
通过脚本安装对象存储服务:
执行过程中需要确认登录controller节点和输入controller节点root用户密码。
执行脚本iaas-install-swif-compute.sh
访问
访问Dashboard服务
打开浏览器,访问http://192.168.100.10/dashboard地址,输入环境变量文件中填写的密码,
域为xiandian、用户名为admin、密码为00000,然后单击“连接”按钮,如图