双节点部署 open stack
部署计划:
一个控制节点和一台计算节点组成简架构 OpenStack 平台,控制节点安装 MySQL、Keystone、Glance等服务,主要作为认证、镜像管理节点、以及提供 Nova 和 Neutron 服务的管理节点。计算节点主要安装 nova-compute 和 Neutron 服务,Nova 服务提供云主机服务,Neutron 提供网络服务。
准备:
IP | 主机名 | 节点 |
---|---|---|
192.168.200.10 | controller | 控制节点 |
192.168.200.20 | compute | 计算节点 |
每台最小虚拟机安装Centos7.2。每台虚拟机两张网卡,一张仅主机、一张为NET模式。第一张网卡网段为192.168.200.0 第二张网卡网段为192.168.100.0。两台虚拟机CPU开启虚拟化,两个节点你内存最大优化为4G+,控制节点可以给少点,控制节点硬盘为50G即可,计算节点配置为100G分两个区为 sda3 与 sda4,也可以再额外添加两块5G的硬盘。
也可以直接弄一个100G的硬盘然后载弄一个40G的硬盘,且记在创建的虚拟机的时候点击100G的网卡。划分磁盘的时候把40G磁盘划分了,再配置 /etc/xiandian/openrc.sh 这文件的时候写 sdb1 与 sdb2。
操作:
基础环境配置
1. 两台虚拟机的第一个NAT网卡要在一个网段上,第二个仅主机的网卡也要在一个网段上。
2. 修改主机名
上传镜像
#上传镜像
[root@controller ~]# ls
anaconda-ks.cfg XianDian-IaaS-v2.2.iso
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# mkdir /opt/iaas
#挂载镜像
[root@controller ~]# mount /dev/sr0 /opt/centos
mount: /dev/loop0 写保护,将以只读方式挂载
[root@controller ~]# mount XianDian-IaaS-v2.2.iso /opt/iaas/
mount: /dev/loop1 写保护,将以只读方式挂载
#删除所以的国外yum源
[root@controller ~]# rm -rf /etc/yum.repos.d/*
#配置本地yum源
[root@controller ~]# vi /etc/yum.repos.d/loacl.repo
[root@controller ~]# cat /etc/yum.repos.d/loacl.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# yum clean all
已加载插件:fastestmirror
正在清理软件源: centos iaas
Cleaning up list of fastest mirrors
[root@controller ~]# yum repolist all
已加载插件:fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
iaas | 2.9 kB 00:00:00
(1/3): centos/group_gz | 153 kB 00:00:00
(2/3): centos/primary_db | 3.3 MB 00:00:00
(3/3): iaas/primary_db | 2.3 MB 00:00:00
源标识 源名称 状态
centos centos 启用: 4,070
iaas iaas 启用: 1,688
repolist: 5,758
修改hosts配置文件
[root@controller ~]# vi /etc/hosts
192.168.200.10 controller
192.168.200.20 compute
配置 ftp 防火墙
控制节点
[root@controller ~]#yum install vim net-tools vsftpd bash-c*
#共享opt文件夹
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
anon_root=/opt #添加进去
#重启ftp
[root@controller ~]# systemctl restart vsftpd
#开机自启 ftp 服务
[root@controller ~]# systemctl enable bsftpd
[root@controller ~]# setenforce 0
#关闭se(修改配置文件是为了永久关闭)
[root@controller ~]# vi /etc/selinux/config
SELINUX=disabled #修改为这个
#关闭防火墙
[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld //开机自动关闭防火墙
[root@controller ~]# iptables -F
[root@controller ~]# iptables -X
[root@controller ~]# iptables -Z
[root@controller ~]# iptables-save
克隆虚拟机
克隆一个计算几点,修改IP还需要修改UUID(随便改一个就可以),你如果是自己弄得两个虚拟机就不需要克隆了!!!
计算节点
计算节点是通过 FTP 来配置 yum 源。
[root@compute ~]vi /etc/yum.repos.d/ftp.repo
[root@compute ~]cat /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://192.168.200.100/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.200.100/iaas/iaas-repo
gpgcheck=0
enabled=1
[root@compute ~]# yum clean all
已加载插件:fastestmirror
正在清理软件源: centos iaas
Cleaning up list of fastest mirrors
[root@compute ~]# yum repolist all
已加载插件:fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
iaas | 2.9 kB 00:00:00
(1/3): centos/group_gz | 153 kB 00:00:00
(2/3): centos/primary_db | 3.3 MB 00:00:00
(3/3): iaas/primary_db | 2.3 MB 00:00:00
源标识 源名称 状态
centos centos 启用: 4,070
iaas iaas 启用: 1,688
repolist: 5,758。
安装 iass-xiandian 服务
两个节点都需要安装
[root@controller ~]# yum install iaas-xiandian -y
[root@compute ~]# yum install iaas-xiandian -y
小技巧
#将文件中的##换成@
sed -i s/##/@/g /etc/xiandian/openrc.sh
#将文件中的#去掉
sed -i s/#//g /etc/xiandian/openrc.sh
#将文件中的@换回##
sed -i s/@/##/g /etc/xiandian/openrc.sh
#删除#号
还可以进入文件直接输入(:%s/^#//g)
修该配置文件
#查看没有注释的内容
[root@controller ~]# egrep -v '^$|^#' /etc/xiandian/openrc.sh
#controller节点NAT的IP
HOST_IP=192.168.200.10
HOST_NAME=controller
#comture节点NAT的IP
HOST_IP_NODE=192.168.200.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
#controller仅主机的ip文件名字
INTERFACE_NAME=eno11
minvlan=
maxvlan=
CINDER_DBPASS=000000
CINDER_PASS=000000
BLOCK_DISK=sdb1
TROVE_DBPASS=000000
TROVE_PASS=000000
SWIFT_PASS=000000
OBJECT_DISK=sdb2
STORAGE_LOCAL_NET_IP=192.168.200.20
HEAT_DBPASS=
HEAT_PASS=
CEILOMETER_DBPASS=
CEILOMETER_PASS=
AODH_DBPASS=
AODH_PASS=
将控制节点的文件传达计算节点
#这IP地址是计算几点的地址
[root@controller ~]# scp -r /etc/xiandian/openrc.sh 192.168.100.20:/etc/xiandian/openrc.sh
跑脚本
跑脚本的时候看好节点再跑,一个一个跑要不如何卡死
安装基础服务
这个脚本跑完需要断开重新了连接一下
# 两个节点都跑
[root@localhost ~]# iaas-pre-host.sh
安装 MySQL
[root@controller ~]# iaas-install-mysql.sh
安装 Keystone 认证服务
[root@controller ~]# iaas-install-keystone.sh
安装 Glance 镜像服务
[root@controller ~]# iaas-install-glance.sh
安装 Nova 服务
[root@controller ~]# iaas-install-nova-controller.sh
[root@compute ~]# iaas-install-nova-compute.sh
安装 Neutron 网络服务
[root@controller ~]# iaas-install-neutron-controller.sh
[root@controller ~]# iaas-install-neutron-controller-gre.sh
[root@compute ~]# iaas-install-neutron-compute.sh
[root@compute ~]# iaas-install-neutron-compute-gre.sh
安装 Dashboard 服务
[root@controller ~]# iaas-install-dashboard.sh
安装 Cinder 服务
[root@controller ~]# iaas-install-cinder-controller.sh
[root@compute ~]# iaas-install-cinder-compute.sh
安装 Swift 对象存储服务
[root@controller ~]# iaas-install-swift-controller.sh
[root@compute ~]# iaas-install-swift-compute.sh
访问 Dashboard 服务
在浏览器访问:https://192.168.200.10/dashboard 地址,输入环境变量文件中填写的密码。
域名为:demo
用户名为:admin
密码为:000000
然后连接即可,进去之后都点一点。