实际操作示意图
在VMware里面创建两台centos7的虚拟机作为搭建云平台的两节点配置如下:
1、第一台虚拟机 作为控制节点
2CPU
3G以上内存
硬盘50G
网络适配器一个nat 一个仅主机
虚拟机分区情况
Boot 分区 200M
swap分区 是虚拟机内存大小的2倍
/ 分区 40G
第二台虚拟机 作为计算节点
2CPU
2G以上内存
硬盘三个:50G 20G 20G
网络适配器两个:一个nat 一个仅主机
虚拟机分区情况
Boot 分区 200M
swap分区 是虚拟机内存大小的2倍
/ 分区 40G
修改控制节点和计算节点的主机名称
配置文件
#vi /etc/hostname
重新登录生效
#login
修改网卡信息
控制节点
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 HWADDR=00:0C:29:07:A6:62 TYPE=Ethernet UUID=b9d869dd-c7dd-4949-9604-b3d7d31f7bf2 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.100.10 NETMASK=255.255.255.0 GATEWAY=192.168.100.2
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.200.10 NETMASK=255.255.255.0
重启网络
#service network restart
计算节点
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 HWADDR=00:0C:29:07:A6:62 TYPE=Ethernet UUID=b9d869dd-c7dd-4949-9604-b3d7d31f7bf2 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.100.20 NETMASK=255.255.255.0 GATEWAY=192.168.100.2
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.200.20 NETMASK=255.255.255.0
重启网络
#service network restart
将镜像文件CentOS-7-x86_64-DVD-1511.iso和XianDian-IaaS-v2.2.iso传至控制节点虚拟机内(控制节点做)
域名解析(两节点都做)
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.100.10 controller 192.168.100.20 compute
验证:互ping
计算节点 # ping controller
# ping 192.168.100.10
控制节点 # ping compute
# ping 192.168.100.20
关防火墙(两节点都做)
centos6.5
# iptables –F
# iptables –X
# iptables –Z
# service iptables save
# iptables –L
centos7
#systemctl stop firewalld
#service firewalld save
设置开机不自动启动
#systemctl disable firewalld
# vi /etc/selinux/config
把SELINUX=enforcing改成SELINUX=permissive
# setenforce 0
查看镜像文件,对镜像文件做挂载,做镜像源(控制节点做)
# mount -o loop XianDian-IaaS-v2.2.iso /mnt/
# cp -rvf /mnt/* /opt/
# umount /mnt/
# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
# mkdir /opt/centos7
# cp -rvf /mnt/* /opt/centos7/
# umount /mnt/
控制节点 配置yum源 (控制节点做)
# cd /etc/yum.repos.d/
# rm -rvf *
# vi local.repo
[centos] name=centos baseurl=file:///opt/centos7/ gpgcheck=0 enabled=1 [iaas] name=iaas baseurl=file:///opt/iaas-repo/ gpgcheck=0 enabled=1
# yum clean all
# yum list
控制节点安装ftp (控制节点做)
# yum install vsftpd -y
修改配置信息
# vi /etc/vsftpd/vsftpd.conf
在最后一行添加anon_root=/opt
保存退出
# service vsftpd restart
# chkconfig vsftpd on
验证:本地搜索ftp://192.168.100.10/
# yum install httpd
# service httpd restart
http://192.168.100.10/
计算节点 配置yum源 (计算节点做)
# cd /etc/yum.repos.d/
# rm -rvf *
# vi local.repo
[centos] name=centos baseurl=ftp://controller/centos7/ gpgcheck=0 enabled=1 [iaas] name=iaas baseurl=ftp://controller/iaas-repo/ gpgcheck=0 enabled=1
# yum clean all
# yum list
安装部署云平台
编辑环境变量
controller和compute节点
# yum install iaas-xiandian -y
(1)# cd /etc/xiandian/
(2)去除配置文件中每一行开头的#
# sed -i 's/^#//g' openrc.sh
第二种去除配置文件中每一行开头的#
# vi openrc.sh
:%s/^.//g
(3)将密码全部设置为000000
# vi openrc.sh
:%s/PASS=/PASS=000000/g
修改剩余配置
编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置。
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=demo //(自定义) 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=enp9s0 //(外网网卡名)[仅主机网卡] CINDER_DBPASS=000000 CINDER_PASS=000000 TROVE_DBPASS=000000 TROVE_PASS=000000 BLOCK_DISK=md126p4 //(空白分区名) SWIFT_PASS=000000 OBJECT_DISK=md126p5 //(空白分区名) 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
通过脚本安装服务
基础配置操作命令已经编写成shell脚本,通过脚本进行一键安装。如下:
# Controller节点和Compute节点
执行脚本iaas-pre-host.sh进行安装
# 安装完成后同时重启
[root@controller ~]# reboot
# 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节点
执行脚本iaas-install-neutron-controller.sh进行安装
#Compute节点
执行脚本iaas-install-neutron-compute.sh进行安装
通过脚本创建neutron网络(创建gre网络即可)
创建flat网络
#Controller节点
执行脚本iaas-install-neutron-controller-flat.sh进行安装
#Compute节点
执行脚本iaas-install-neutron-compute-flat.sh进行安装
创建gre网络
#Controller节点
执行脚本iaas-install-neutron-controller-gre.sh进行安装
#Compute节点
执行脚本iaas-install-neutron-compute-gre.sh进行安装
创建vlan网络
#Controller节点
执行脚本iaas-install-neutron-controller-vlan.sh进行安装
#Compute节点
执行脚本iaas-install-neutron-compute-vlan.sh进行安装
通过脚本安装dashboard服务
#Controller
执行脚本iaas-install-dashboard.sh进行安装
访问
打开浏览器访问Dashboard
http://controller(或本机内网ip)/dashboard
注:检查防火墙规则,确保允许http服务相关端口通行,或者关闭防火墙。
通过脚本安装Cinder服务
#Controller
执行脚本iaas-install-cinder-controller.sh进行安装
#Compute节点
执行脚本iaas-install-cinder-compute.sh进行安装
安装Swift对象存储服务
#Controller节点
# source admin-openrc.sh
通过脚本安装Swift服务
#Controller
执行脚本iaas-install-swift-controller.sh进行安装
#Compute节点
执行脚本iaas-install-swift-compute.sh进行安装
执行过程中需要确认登录controller节点和输入controller节点root用户密码。
安装Trove服务
执行脚本进行安装
#Controller节点
执行脚本iaas-install-trove.sh进行安装
需注意安装Trove服务之前需要配置好网络(flat或gre),创建好子网,并确认系统已经安装swift和cinder两个服务,否则安装会失败。
安装Heat编配服务
# Controller节点
通过脚本安装heat服务
#Controller节点
执行脚本iaas-install-heat.sh进行安装
安装Ceilometer监控服务
通过脚本安装Ceilometer服务
#Controller节点
执行脚本iaas-install-ceilometer-controller.sh进行安装
#Compute节点
执行脚本iaas-install-ceilometer-compute.sh进行安装
通过脚本安装alarm服务
#Controller节点
执行脚本iaas-install-alarm.sh进行安装