一、节点规划
- 控制节点(controller):一块200G的硬盘;两块网卡,第一块网卡IP地址使用168.100.10,第二块网卡IP地址使用192.168.200.10。
- 计算节点(compute):一块200G的硬盘和一块100G的硬盘;两块网卡,第一块网卡IP地址使用168.100.20,第二块网卡IP地址使用192.168.200.20。
- 镜像:5及7.0版本的镜像和chinaskills_cloud_iaas.iso镜像
二、基础环境准备及系统安装
- 创建controller控制节点
- 在VMware软件新建虚拟机——自定义——选择虚拟机硬件兼容性(Workstation 15.x)——新建虚拟机向导(空白硬盘)——客户机操作系统(Linux、CentOS 7)——命名虚拟机——处理器配置(处理器数量:1;每个处理器的内核数量:2)——新建虚拟机向导(2048)——网络类型(NAT)——I/O控制器类型(LSI logic)——磁盘类型(SCSI(S))——创建新虚拟磁盘(容量为200G)——完成
- 编辑虚拟机设置:添加网络适配器,使用ISO映像文件。
- 开启虚拟机:
修改网卡命名规则为eth规则
选择安装位置
配置分区
设置密码
修改主机名:
修改第一块网卡:
修改第二块网卡:
重启网卡:systemctl restart network
修改内核:
重启:reboot
- ssh连接上controller控制节点
- 创建compute计算节点
- 在VMware软件新建虚拟机——自定义——选择虚拟机硬件兼容性(Workstation 15.x)——新建虚拟机向导(空白硬盘)——客户机操作系统(Linux、CentOS 7)——命名虚拟机——处理器配置(处理器数量:1;每个处理器的内核数量:2)——新建虚拟机向导(2048)——网络类型(NAT)——I/O控制器类型(LSI logic)——磁盘类型(SCSI(S))——创建新虚拟磁盘(容量为200G)——完成
- 编辑虚拟机设置:添加网络适配器,添加硬盘(100G),使用ISO映像文件。
- 开启虚拟机:
修改网卡命名规则为eth规则
选择安装位置
配置分区
设置密码
修改主机名:
修改第一块网卡:
修改第二块网卡:
重启网卡:systemctl restart network
重启:reboot
- ssh连接上compute控制节点
三、搭建openstack云平台
Controller节点配置:
1. 上传centos7.0镜像和chinaskills_cloud_iaas.iso镜像至controller节点。
- 关闭selinux防火墙
[root@controller ~]# systemctl stop firewalld #关闭防火墙
[root@controller ~]# systemctl disable firewalld #设置防火墙开机不自启
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@controller ~]# setenforce 0 #临时关闭selinux防火墙,0表示关闭,1表示开启
[root@controller ~]# getenforce #查看selinux防火墙的状态
Permissive
[root@controller ~]# vi /etc/selinux/config
- 挂载镜像
[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/
mount: /dev/loop0 写保护,将以只读方式挂载
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# cp -rf /mnt/* /opt/centos/
[root@controller ~]# umount /mnt/
[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /mnt/
mount: /dev/loop0 写保护,将以只读方式挂载
[root@controller ~]# cp -rf /mnt/* /opt/
[root@controller ~]# umount /mnt/
- yum源文件处理
[root@controller ~]# cd /etc/yum.repos.d/
[root@controller yum.repos.d]# mv * /media/
写yum源文件:
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1
清除yum源缓存,验证yum源,下载所需软件包。
[root@controller yum.repos.d]# yum clean all
[root@controller yum.repos.d]# yum repolist
5.配置vsftpd
[root@controller yum.repos.d]# echo anon_root=/opt/ >> /etc/vsftpd/vsftpd.conf #设置匿名访问
[root@controller yum.repos.d]# systemctl restart vsftpd #重启ftp服务
[root@controller yum.repos.d]# systemctl enable vsftpd #设置ftp服务开机自启
6.修改脚本
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10 #controller节点的IP地址
#Controller HOST Password. example:000000
HOST_PASS=000000
#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节点的IP地址
#Compute HOST Password. example:000000
HOST_PASS_NODE=000000
#Compute Node hostname. example:compute
HOST_NAME_NODE=compute
#--------------------Chrony Config-------------------##
#Controller network segment IP. example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=192.168.100.0/24 #controller节点所在的网段
#--------------------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=demo
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
#Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.100.10 #本机IP地址
#External Network Interface. example:eth1
INTERFACE_NA
Compute节点配置:
1.关闭防火墙
[root@compute ~]# systemctl stop firewalld
[root@compute ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@compute ~]# setenforce 0
[root@compute ~]# getenforce
Permissive
2.硬盘分区。
[root@compute ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x34bc5373 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-209715199,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+25G
分区 1 已设置为 Linux 类型,大小设为 25 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (52430848-209715199,默认为 52430848):
将使用默认值 52430848
Last 扇区, +扇区 or +size{K,M,G} (52430848-209715199,默认为 209715199):+25G
分区 2 已设置为 Linux 类型,大小设为 25 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
3.yum源文件处理。
移除原yum源:
[root@compute ~]# cd /etc/yum.repos.d/
[root@compute yum.repos.d]# mv * /media/
写yum源文件。
[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
清除yum源缓存,验证yum源,下载所需软件包。
[root@compute yum.repos.d]# yum clean all
[root@compute yum.repos.d]# yum repolist
[root@compute yum.repos.d]# yum install -y vim iaas-xiandian
4.修改脚本。
将controller节点的脚本复制至compute节点。
[root@compute ~]# scp 192.168.100.10:/etc/xiandian/openrc.sh /etc/xiandian/openrc.sh
[root@compute ~]# vim /etc/xiandian/openrc.sh
INTERFACE_IP=192.168.100.20
四、刷脚本
controller节点:
[root@controller ~]# iaas-pre-host.sh
[root@controller ~]# iaas-install-mysql.sh
[root@controller ~]# iaas-install-keystone.sh
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# iaas-install-glance.sh
[root@controller ~]# iaas-install-nova-controller.sh
[root@controller ~]# iaas-install-neutron-controller.sh
[root@controller ~]# iaas-install-dashboard.sh
compute节点:
[root@compute ~]# iaas-pre-host.sh
[root@compute ~]# iaas-install-nova-compute.sh
[root@compute ~]# iaas-install-neutron-compute.sh
五、登录openstack云平台
在浏览器中输入http://192.168.100.10/dashboard