一、实验目的
1、了解OpenStack平台部署方法
2、了解脚本部署方式
3、使用脚本部署OpenStack平台
二、实验软件要求
VMware、Centos7、CentOS-7-x86_64-DVD-1511 、XianDian-IaaS-v2.2
三、实验内容
1、部署架构
一台控制节点和一台计算节点组成简单架构OpenStack平台,控制节点安装MySQL、Keystone、Glance、Nova、Neutron、Dashboard等服务,主要作为认证、镜像管理节点,以及提供Nova和Neutron服务的管理节点。提供Dashboard界面服务。计算节点主要安装nova-compute和Neutron服务,Nova服务提供云主机服务,Neutron提供网络服务。通过Shell脚本进行OpenStack平台部署,脚本分为控制节点脚本和计算节点脚本,对应节点执行部署脚本。
2、规划节点
Linux操作系统的节点规划,见下表。
IP |
主机名 |
节点 |
192.168.100.10 |
controller |
控制节点 |
192.168.100.20 |
compute |
计算节点 |
3、基础准备
准备2台VMware虚拟机,手动最小化安装2台CentOS 7.2系统,作为OpenStack节点,第一张网卡为仅主机模式,第二张网卡为NAT模式,以及配置CPU虚拟化,计算节点至少使用4 GB内存,硬盘不小于50GB。第一张网卡网段为192.168.100.0/24,第二张网卡网段为192.168.200.0/24。并对compute节点分两个区为sdb1与sdc1。
- 实施步骤
四、YUM源配置
|
controller节点
|
compute节点
五、上传基础镜像并挂载
|
上传XianDian-IaaS-v2.2.iso和CentOS-7-x86_64-DVD-1511.iso两个镜像包至controller节点/root目录中,并将ISO文件挂载至/opt/目录中。
清除缓存,验证yum源。测试本地yum源是否安装成功。
六、搭建ftp服务器,开启并设置自启
控制节点安装vsftpd服务,提供计算节点ftp访问方式。
# yum install vsftpd -y
在/etc/vsftpd/vsftpd.conf配置中添加一行代码:
anon_root=/opt
重启vsftpd服务:
# systemctl restart vsftpd
#systemctl enable vsftpd
七、修改selinux 文件(compute 和controller 同样配置)
#vi /etc/seliunx/config
修改SELINUX=disabled
#setenforce 0 (立即生效)
查看配置:#getenforce (查看selinux 规则,若输出为permissive 则成功)
八、配置防火墙(compute 和controller 同样配置)
禁止开机自启:#systemctl disable firewalld
立即关闭:#systemctl stop firewalld
九、划分空白磁盘,cinder存储和swift存储(compute)
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 99.8G 0 part
├─centos-root 253:0 0 83.8G 0 lvm /
└─centos-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
sdc 8:32 0 50G 0 disk
sr0 11:0 1 1024M 0 rom
处理分区sdb
[root@compute ~]# parted /dev/sd
sda sda1 sda2 sdb sdc
[root@compute ~]# parted /dev/sd
sda sda1 sda2 sdb sdc
[root@compute ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart cinder 0 51GB
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 51.0GB 51.0GB cinder
(parted) quit
Information: You may need to update /etc/fstab.
处理分区sdc
[root@compute ~]# parted /dev/sdc
GNU Parted 3.1
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart swift 0 51GB
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 51.0GB 51.0GB swift
(parted) quit
Information: You may need to update /etc/fstab.
Sdb与Sdc进行格式化
[root@compute ~]# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (gpt).
mkfs.xfs: Use the -f option to force overwrite.
[root@compute ~]# mkfs.xfs /dev/sdc
mkfs.xfs: /dev/sdc appears to contain a partition table (gpt).
mkfs.xfs: Use the -f option to force overwrite.
查看分区结果
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 99.8G 0 part
├─centos-root 253:0 0 83.8G 0 lvm /
└─centos-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
└─sdb1 8:17 0 47.5G 0 part
sdc 8:32 0 50G 0 disk
└─sdc1 8:33 0 47.5G 0 part
sr0 11:0 1 1024M 0 rom
[root@compute ~]# fdisk -l
# Start End Size Type Name
1 34 99609375 47.5G Microsoft basic cinder
1 34 99609375 47.5G Microsoft basic swift
十、编辑环境变量(controller、compute相同)
[root@controller ~]# yum install -y iaas-xiandian
配置信息如下:
[root@controller ~]# vi /etc/xiandian/openrc.sh
##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10
##Controller Server hostname. example:controller
HOST_NAME=controller
##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20
##Compute Node hostname. example:compute
HOST_NAME_NODE=compute
##--------------------Rabbit Config ------------------##
##user for rabbit. example:openstack
RABBIT_USER=openstack
##Password for rabbit user .example:000000
RABBIT_PASS=000000
##--------------------MySQL Config---------------------##
##Password for MySQL root user . exmaple:000000
DB_PASS=000000
##--------------------Keystone Config------------------##
##Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=domain
ADMIN_PASS=000000
DEMO_PASS=000000
##Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
##--------------------Glance Config--------------------##
##Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
##Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
##--------------------Nova Config----------------------##
##Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
##Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
##--------------------Neturon Config-------------------##
##Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
##Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
##metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
##External Network Interface. example:eth1
INTERFACE_NAME=eno33554952(controller外网网卡名称)
##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
#minvlan=101
##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
#maxvlan=200
##--------------------Cinder Config--------------------##
##Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
##Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
##Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1(分区信息)
##--------------------Trove Config--------------------##
##Password for Mysql Trove User. exmaple:000000
TROVE_DBPASS=000000
##Password for Keystore Trove User. exmaple:000000
TROVE_PASS=000000
##--------------------Swift Config---------------------##
##Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
##The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdc1(分区信息)
##The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.100.20
##--------------------Heat Config----------------------##
##Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
##Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
##--------------------Ceilometer Config----------------##
##Password for Mysql ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
##Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
##--------------------AODH Config----------------##
##Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
##Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
[root@controller ~]#
将controller节点的openrc.sh传输至compute节点所放目录下。
[root@compute ~]# scp controller://etc/xiandian/openrc.sh /etc/xiandian/openrc.sh
The authenticity of host 'controller (192.168.100.10)' can't be established.
ECDSA key fingerprint is 32:68:31:bb:4b:c9:2b:e6:73:7f:c0:2b:49:4b:97:c4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'controller' (ECDSA) to the list of known hosts.
root@controller's password:
openrc.sh 100% 3105 3.0KB/s 00:00
[root@compute ~]# cat /etc/xiandian/openrc.sh
十一、使用脚本安装部署OpenStack平台(controller、compute)
1、双节点执行 iaas-pre-host.sh
[root@controller ~]# iaas-pre-host.sh
重启系统,执行reboot命令
执行完这个脚本两个节点都要重启!!!(compute 节点要先重启)