服务器脚本搭建国基北盛openstack平台
@
基础环境搭建
环境准备:
1,使用两台服务器分别作为控制节点,和计算节点,密码为000000
2,使用crt上传镜像CentOS-7-x86_64-DVD-1804.iso 和chinaskills_cloud_iaas.iso到控制节点root目录下
控制节点网卡配置
cat /etc/sysconfig/network-scripts/ifcfg-enp2s0f0
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0f0 #第一张网卡
UUID=bf67ee4d-f110-407f-bc74-b51b755650b6
DEVICE=enp2s0f0
ONBOOT=yes
IPADDR=10.60.2.10
PREFIX=24 #子网掩码24,和NETMASK一样的用法
GATEWAY=10.60.2.1
[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0f1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0f1 #第二张网卡
UUID=986557de-f9d3-4554-af06-cb057dfce365
DEVICE=enp2s0f1
ONBOOT=yes
IPADDR=10.60.3.10
PREFIX=24 #注意第二张网卡不要配置网关
计算节点网卡配置
cat /etc/sysconfig/network-scripts/ifcfg-enp2s0f0
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0f0
UUID=5871f25a-3b4e-40c1-b266-043d6604da66
DEVICE=enp2s0f0
ONBOOT=yes
IPADDR=10.60.2.20
PREFIX=24
GATEWAY=10.60.2.1
[root@compute ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0f1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0f1
UUID=a4097286-851d-4364-8d63-ce6a4e4227a2
DEVICE=enp2s0f1
ONBOOT=yes
IPADDR=10.60.3.20
PREFIX=24
两边网卡配置完成后重启
注:其实第二张网卡可以不用配置,在neutron脚本会被修改,但是第二张网卡的网段要知道,是要用于后面云主机实例的外网卡的!
主机映射
vi /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.60.2.10 controller
10.60.2.20 compute #注意主机名要在IP地址的后面
用scp命令远程传输给compute节点
scp /etc/hosts compute:/etc/hosts
3,关闭防火墙和selinux以及NetworkManager
关闭防火墙并设置开机不启动
systemctl stop firewalld && systemctl enable firewalld
关闭NetworkManager并设置开机不启动
systemctl stop NetworkManager && systemctl enable NetworkManager
临时关闭Selinux
setenforce 0
这几步后面执行pre脚本时会再做一遍的
设置yum源
创建挂载目录
mkdir /opt/
挂载yum源到/mnt/目录下再复制到/opt/下做永久挂载,也可以yum直接挂载到/opt/下
[root@controller ~]# mount /root/CentOS-7-x86_64-DVD-1804.iso /mnt
[root@controller ~]# cp -rfv /mnt/* /opt/centos
[root@controller ~]# umount /mnt/
[root@controller ~]# mount /root/chinaskills_cloud_iaas.iso /mnt
[root@controller ~]# cp -rfv /mnt/* /opt/iaas
[root@controller ~]# umount /mnt/
删除原有yum源
rm -rf /etc/yum.repos.d/*
编写yum文件
vi /etc/yum.repos.d/ftp.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
使用ftp作为远程共享
yum install -y vsftpd
在/etc/vsftpd/vsftpd.conf/下配置文件
[root@controller ~]# cat /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
anon_root=/opt #表示远程共享此节点/opt/下目录
删除compute节点原有yum源并将编写的yum文件远程传输
[root@compute ~]# rm -rf /etc/yum.repos.d/*
[root@controller ~]# scp /etc/yum.repos.d/ftp.repo compute:/etc/yum.repos.d/
[root@compute ~]# cat /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://controller/centos #记得修改
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://controller/iaas/iaas-repo #记得修改
gpgcheck=0
enabled=1
验证yum源是否挂载成功
[root@controller ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos iaas
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@controller ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
iaas | 2.9 kB 00:00:00
(1/3): centos/group_gz | 166 kB 00:00:00
(2/3): iaas/primary_db | 1.4 MB 00:00:00
(3/3): centos/primary_db | 3.1 MB 00:00:00
repo id repo name status
centos centos 3,971
iaas iaas 3,232
repolist: 7,203
[root@compute ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos iaas
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@compute ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
iaas | 2.9 kB 00:00:00
(1/3): centos/group_gz | 166 kB 00:00:00
(2/3): iaas/primary_db | 1.4 MB 00:00:00
(3/3): centos/primary_db | 3.1 MB 00:00:00
repo id repo name status
centos centos 3,971
iaas iaas 3,232
repolist: 7,203
计算节点分区
使用fdisk命令在计算节点分出两块硬盘提供给cinder和swift使用
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2.7T 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 716.8G 0 part
├─sda4 8:4 0 1T 0 part
├─sda5 8:5 0 100G 0 part
├─sda6 8:6 0 27G 0 part
├─sda7 8:7 0 1G 0 part
└─sda8 8:8 0 865G 0 part
├─centos02-root 253:0 0 50G 0 lvm /
└─centos02-swap 253:3 0 4G 0 lvm [SWAP]
sdb 8:16 0 890G 0 disk
├─sdb1 8:17 0 100G 0 part #在openrc.sh环境变量中提供给cinder
└─sdb2 8:18 0 100G 0 part #在openrc.sh环境变量中提供给swift
配置openrc.sh环境变量
yum install -y iaas-xiandian
[root@controller ~]# cat /etc/xiandian/openrc.sh
HOST_IP=10.60.2.10
HOST_PASS=000000 #控制节点密码,注意不要输错
HOST_NAME=controller
HOST_IP_NODE=10.60.2.20
HOST_PASS_NODE=000000 #计算节点密码
HOST_NAME_NODE=compute
network_segment_IP=10.60.2.0/24
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_IP=10.60.2.10 #千万注意在那个节点就输入那个节点的地址,等下远程传到计算节点注意更改
INTERFACE_NAME=enp2s0f1 #第二张网卡
Physical_NAME=provider
minvlan=101
maxvlan=200
CINDER_DBPASS=000000
CINDER_PASS=000000
BLOCK_DISK=sdb1 #提供给cinder的
SWIFT_PASS=000000
OBJECT_DISK=sdb2 #提供给swift的
STORAGE_LOCAL_NET_IP=10.60.2.20 #第二张网卡IP
HEAT_DBPASS=000000
HEAT_PASS=000000
ZUN_DBPASS=000000
ZUN_PASS=000000
KURYR_DBPASS=000000
KURYR_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
BARBICAN_DBPASS=000000
BARBICAN_PASS=000000
远程传输给compute
scp /etc/xiandian/openrc.sh compute:/etc/xiandian/openrc.sh
注意修改INTERFACE_IP=10.60.2.20
平台组件搭建
controller和compute同时执行,然后Crtl+D刷新,千万要执行
iaas-pre-host.sh
controller节点执行
iaas-install-mysql.sh
iaas-install-keystione.sh
iaas-install-glance.sh
iaas-install-nova-controller.sh
iaas-install-neutron-controller.sh
iaas-install-dashboard.sh
compute节点执行
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
后面的cinder,swift组件可以根据需要再进行搭建,跑完compute脚本后http://ip/dashboard访问dashboard平台