基于【国基北盛】云基础架构平台软件搭建先电IaaS平台(先电V2.4版本)

1、前期准备与节点规划

  • 使用搭建的操作系统是:CentOS-7-x86_64-DVD-1804.iso
  • 使用搭建的镜像是:chinaskills_cloud_iaas.iso
  • 使用远程连接的工具是:xshell
  • 搭建方式:使用两台先电云计算服务器进行搭建,一个作为控制节点。另一个作为计算节点。
  • 节点网络规划
节点内网IP地址外网IP地址
controller192.168.1.10192.168.101.10
compute192.168.1.20192.168.101.20

注意IP地址根据实际组网情况进行填写配置

2、基础环境配置与说明

云计算IaaS控制节点云计算IaaS计算节点
Keystone安全认证服务
Glance镜像服务
Nova计算控制服务Nova Compute计算服务
Dashboard管理界面
Neutron Server网络服务Neutron节点网络服务
Cinder存储控制服务Cinder Volume存储服务
Rabbit消息服务
Mysql数据库
Swift 代理服务Swift 存储服务
Heat编配服务
Ceilometer 监控服务Ceilometer监控代理

参考之前的搭建先电IaaS V2.2版本的博客说明

说明:存储节点安装操作系统时需划分两个空白分区,作为cinder和swift存储磁盘搭建 ftp服务器作为搭建云平台的yum源。

3、安装centos7.5操作系统与说明

参考之前搭建先电v2.2版本的博客:
安装CentOS7 说明与操作步骤(以controller节点为例)

4、 配置网络、主机名(controller、compute)

通过xShell远程连接工具连接【controller】节点和【compute】节点,即控制节点和计算节点。
【controller】
配置网络信息。修改相关参数信息。

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp8s0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=enp8s0
DEVICE=enp8s0
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp9s0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=enp9s0
DEVICE=enp9s0
ONBOOT=yes
IPADDR=192.168.101.10
NETMASK=255.255.255.0
GATEWAY=192.168.101.1
DNS1=192.168.101.1
[root@controller ~]# 

[root@controller ~]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0c:c4:7a:7c:6d:16 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute enp8s0
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:fe7c:6d16/64 scope link 
       valid_lft forever preferred_lft forever
3: enp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0c:c4:7a:7c:6d:17 brd ff:ff:ff:ff:ff:ff
    inet 192.168.101.10/24 brd 192.168.101.255 scope global noprefixroute enp9s0
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:fe7c:6d17/64 scope link 
       valid_lft forever preferred_lft forever
[root@controller ~]# 
[root@controller ~]# ping -c 5 www.baidu.com
PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data.
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=49 time=8.34 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=49 time=8.29 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=49 time=8.34 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=4 ttl=49 time=8.22 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=5 ttl=49 time=8.18 ms

--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 8.184/8.278/8.348/0.132 ms
[root@controller ~]# 

配置控制节点的主机名

[root@controller ~]# hostnamectl set-hostname controller
[root@controller ~]# bash
[root@controller ~]# hostnamectl 
   Static hostname: controller
         Icon name: computer-desktop
           Chassis: desktop
        Machine ID: 03ea1deb7ce84827b40dcc0cad6deba0
           Boot ID: 73599f8a282c461bb30037e90d8f1702
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-862.el7.x86_64
      Architecture: x86-64
[root@controller ~]# 

【compute】
修改计算节点的主机名

[root@localhost ~]# hostnamectl set-hostname compute
[root@localhost ~]# bash
[root@compute ~]# hostnamectl 
   Static hostname: compute
         Icon name: computer-desktop
           Chassis: desktop
        Machine ID: 91753e2724514eeeae458d545bba8b0d
           Boot ID: 1be1aa57d5e8436bba0ad7d1333e099f
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-862.el7.x86_64
      Architecture: x86-64
[root@compute ~]# 

配置计算节点的网络。并修改相关信息。

[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp8s0 
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp9s0 
[root@compute ~]# systemctl restart network
[root@compute ~]# cat  /etc/sysconfig/network-scripts/ifcfg-enp9s0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=enp9s0
DEVICE=enp9s0
ONBOOT=yes
IPADDR=192.168.101.20
NETMASK=255.255.255.0
GATEWAY=1921.68.101.1
DNS1=192.168.101.1
[root@compute ~]# cat  /etc/sysconfig/network-scripts/ifcfg-enp8s0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=enp8s0
DEVICE=enp8s0
ONBOOT=yes
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
[root@compute ~]# 

[root@compute ~]# ping -c 5 www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=49 time=10.3 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=49 time=9.77 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3 ttl=49 time=9.79 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=4 ttl=49 time=9.81 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=5 ttl=49 time=9.74 ms

--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 9.740/9.884/10.302/0.236 ms
[root@compute ~]# 

5、上传镜像并配置本地YUM源(controller、compute)

【controller】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置【controller节点】的本地YUM源

[root@controller yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Apr 29  2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Apr 29  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Apr 29  2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Apr 29  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Apr 29  2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29  2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29  2018 CentOS-Vault.repo
[root@controller yum.repos.d]# mkdir bak
[root@controller yum.repos.d]# mv CentOS-* bak/
[root@controller yum.repos.d]# ll
total 0
drwxr-xr-x. 2 root root 187 Nov  3 10:43 bak
[root@controller yum.repos.d]# mv bak /home/
[root@controller yum.repos.d]# ll
total 0
[root@controller ~]# vi /etc/yum.repos.d/local.repo 
[root@controller ~]# cat /etc/yum.repos.d/local.repo 
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[openstack]
name=openstack
baseurl=file:///opt/openstack/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# 

配置【compute节点】的本地YUM源,使用ftp的方式获取controller节点的YUM源。

[root@compute ~]# cd /etc/yum.repos.d/
[root@compute yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Apr 29  2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Apr 29  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Apr 29  2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Apr 29  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Apr 29  2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29  2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29  2018 CentOS-Vault.repo
[root@compute yum.repos.d]# mkdir bak
[root@compute yum.repos.d]# mv CentOS-* bak/
[root@compute yum.repos.d]# ll
total 0
drwxr-xr-x. 2 root root 187 Nov  3 10:43 bak
[root@compute yum.repos.d]# mv bak /home/
[root@compute yum.repos.d]# ll
total 0
[root@compute yum.repos.d]# vi /etc/yum.repos.d/ftp.repo
[root@compute yum.repos.d]# cat /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://192.168.1.10/centos
gpgcheck=0
enable=1
[openstack]
name=openstack
baseurl=ftp://192.168.1.10/openstack/iaas-repo
gpgcheck=0
enabled=1
[root@compute yum.repos.d]# 

在控制节点的/opt目录下创建centosopenstack目录用来挂载centos镜像和openstack镜像
【controller】

[root@controller ~]# cd /opt/
[root@controller opt]# ll
total 0
[root@controller opt]# mkdir centos
[root@controller opt]# mkdir openstack
[root@controller opt]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov  3 10:50 centos
drwxr-xr-x. 2 root root 6 Nov  3 10:50 openstack
[root@controller opt]# 

6、挂载本地YUN源

【controller】

[root@controller ~]# ll
total 8075368
-rw-------. 1 root root       1463 Nov  3 09:23 anaconda-ks.cfg
-rw-r--r--. 1 root root 4470079488 Nov  3 11:04 CentOS-7-x86_64-DVD-1804.iso
-rw-r--r--. 1 root root 3799093248 Nov  3 11:01 chinaskills_cloud_iaas.iso
[root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[root@controller ~]# cp -rvf /mnt/* /opt/centos/

在这里插入图片描述

[root@controller ~]# mount -o loop chinaskills_cloud_iaas.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[root@controller ~]# cp -rvf /mnt/* /opt/openstack/

在这里插入图片描述
查看是否安装在指定的目录下。

[root@controller ~]# cd /opt/
[root@controller opt]# ll
total 0
drwxr-xr-x. 8 root root 220 Nov  3 11:36 centos
drwxr-xr-x. 4 root root  37 Nov  3 11:39 openstack
[root@controller opt]# cd centos/
[root@controller centos]# ll
total 320
-rw-r--r--. 1 root root     14 Nov  3 11:35 CentOS_BuildTag
drwxr-xr-x. 3 root root     35 Nov  3 11:35 EFI
-rw-r--r--. 1 root root    227 Nov  3 11:35 EULA
-rw-r--r--. 1 root root  18009 Nov  3 11:35 GPL
drwxr-xr-x. 3 root root     57 Nov  3 11:35 images
drwxr-xr-x. 2 root root    198 Nov  3 11:35 isolinux
drwxr-xr-x. 2 root root     43 Nov  3 11:35 LiveOS
drwxr-xr-x. 2 root root 221184 Nov  3 11:36 Packages
drwxr-xr-x. 2 root root   4096 Nov  3 11:36 repodata
-rw-r--r--. 1 root root   1690 Nov  3 11:36 RPM-GPG-KEY-CentOS-7
-rw-r--r--. 1 root root   1690 Nov  3 11:36 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root   2883 Nov  3 11:36 TRANS.TBL
[root@controller centos]# cd ..
[root@controller opt]# cd openstack/
[root@controller openstack]# ll
total 0
drwxr-xr-x. 4 root root  34 Nov  3 11:39 iaas-repo
drwxr-xr-x. 2 root root 132 Nov  3 11:39 images

【controller】
测试YUM源是否配置成功。

[root@controller ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos openstack
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
[root@controller ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos                                                                                                          | 3.6 kB  00:00:00     
openstack                                                                                                       | 2.9 kB  00:00:00     
(1/3): centos/group_gz                                                                                          | 166 kB  00:00:00     
(2/3): openstack/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
openstack                                                       openstack                                                        3,232
repolist: 7,203
[root@controller ~]# 

在controller节点上安装ftp服务

[root@controller ~]# yum install -y vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-22.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================
 Package                       Arch                          Version                               Repository                     Size
=======================================================================================================================================
Installing:
 vsftpd                        x86_64                        3.0.2-22.el7                          centos                        169 k

Transaction Summary
=======================================================================================================================================
Install  1 Package

Total download size: 169 k
Installed size: 348 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : vsftpd-3.0.2-22.el7.x86_64                                                                                          1/1 
  Verifying  : vsftpd-3.0.2-22.el7.x86_64                                                                                          1/1 

Installed:
  vsftpd.x86_64 0:3.0.2-22.el7                                                                                                         

Complete!
[root@controller ~]# vi /etc/
Display all 175 possibilities? (y or n)
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf 
[root@controller ~]# systemctl start vsftpd;systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@controller ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-11-03 11:51:05 CST; 50s ago
 Main PID: 10038 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─10038 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Nov 03 11:51:05 controller systemd[1]: Starting Vsftpd ftp daemon...
Nov 03 11:51:05 controller systemd[1]: Started Vsftpd ftp daemon.
[root@controller ~]# 

【compute】

[root@compute ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos openstack
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     
openstack                                                                                                       | 2.9 kB  00:00:00     
(1/3): centos/group_gz                                                                                          | 166 kB  00:00:00     
(2/3): openstack/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
openstack                                                       openstack                                                        3,232
repolist: 7,203
[root@compute ~]# 

7、配置域名解析

【controller】

[root@controller ~]# vi /etc/hosts
[root@controller ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10	controller
192.168.1.20	compute
[root@controller ~]# 

【compute】

[root@compute ~]# vi /etc/hosts
[root@compute ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10	controller
192.168.1.20	compute
[root@compute ~]# 

8、关闭防火墙和修改SELINUX安全模式

【controller、compute】
以compute节点为例,compute节点进行相同操作即可
关闭防火墙并设置防火墙开机不自启

[root@controller ~]# systemctl stop firewalld;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 ~]# 

修改SELINUX安全模式(临时修改、永久修改)
(准确的来说,permissive是允许放行通过,即发出警告⚠但不阻止🚫;disabled是关闭SELINUX安全模式,既不发出安全警告,也不阻止。)

[root@controller ~]# setenforce 0 #临时关闭SELINUX
[root@controller ~]# getenforce # 查询SELINUX模式
Permissive
[root@controller ~]# sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config 
[root@controller ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 


[root@controller ~]# 

同理,compute节点进行以上相同操作即可。

9、在【compute】节点上进行空白分区的划分,cinder存储和swift存储。

首先划出一整块磁盘空间,再进行分区。

[root@compute ~]# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  1.7T  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0   32G  0 part [SWAP]
└─sda3   8:3    0    1T  0 part /
[root@compute ~]# fdisk /dev/sda

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sda: 1798.8 GB, 1798752436224 bytes, 3513188352 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x000915c2

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    68134911    33554432   82  Linux swap / Solaris
/dev/sda3        68134912  2215618559  1073741824   83  Linux

Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p
Selected partition 4
First sector (2215618560-3513188351, default 2215618560): 
Using default value 2215618560
Last sector, +sectors or +size{K,M,G} (2215618560-3513188351, default 3513188351): +500G
Partition 4 of type Linux and of size 500 GiB is set

Command (m for help): p

Disk /dev/sda: 1798.8 GB, 1798752436224 bytes, 3513188352 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x000915c2

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    68134911    33554432   82  Linux swap / Solaris
/dev/sda3        68134912  2215618559  1073741824   83  Linux
/dev/sda4      2215618560  3264194559   524288000   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@compute ~]# partprobe /dev/sda
[root@compute ~]# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  1.7T  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0   32G  0 part [SWAP]
├─sda3   8:3    0    1T  0 part /
└─sda4   8:4    0  500G  0 part 
[root@compute ~]# 

再进入到sda4磁盘,进行分区。cinder存储和swift存储。

[root@compute ~]# fdisk /dev/sda4

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sda4: 500.0 GB, 500000882688 bytes, 976564224 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x5a385372

     Device Boot      Start         End      Blocks   Id  System
`/dev/sda4p1`            2048   419432447   209715200   83  Linux
`/dev/sda4p2`       419432448   838862847   209715200   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@compute ~]# partprobe /dev/sda

10、编辑环境变量(controller、compute)

【controller、compute】

[root@controller ~]# yum install -y iaas-xiandian
[root@compute ~]# yum install -y iaas-xiandian
[root@compute ~]# yum install -y iaas-xiandian
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package iaas-xiandian.x86_64 0:2.4-2 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================
 Package                             Arch                         Version                        Repository                       Size
=======================================================================================================================================
Installing:
 iaas-xiandian                       x86_64                       2.4-2                          openstack                        19 k

Transaction Summary
=======================================================================================================================================
Install  1 Package

Total download size: 19 k
Installed size: 81 k
Downloading packages:
iaas-xiandian-2.4-2.x86_64.rpm                                                                                  |  19 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : iaas-xiandian-2.4-2.x86_64                                                                                          1/1 
  Verifying  : iaas-xiandian-2.4-2.x86_64                                                                                          1/1 

Installed:
  iaas-xiandian.x86_64 0:2.4-2                                                                                                         

Complete!
[root@compute ~]# 

openrc.sh配置文件如下。
【controller】

[root@controller ~]# vi /etc/xiandian/openrc.sh 
[root@controller ~]# cat /etc/xiandian/openrc.sh 
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.1.10

#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.1.20

#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.1.0/24

#--------------------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.1.10

#External Network Interface. example:eth1
INTERFACE_NAME=enp9s0

#External Network The Physical Adapter. example:provider
Physical_NAME=provider

#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=1

#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=sda4p1

#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000

#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sda4p2

#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.1.20

#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000

#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000

#--------------------Zun Config-----------------------##
#Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000

#Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000

#Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000

#Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000

#--------------------Ceilometer Config----------------##
#Password for Gnocchi 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

#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000

#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
[root@controller ~]# 
[root@controller ~]# scp /etc/xiandian/openrc.sh 192.168.1.20:/etc/xiandian/openrc.sh
The authenticity of host '192.168.1.20 (192.168.1.20)' can't be established.
ECDSA key fingerprint is SHA256:Gwi9FGsddkAOsnxzxoJKmgLRFE+ZHKV8HhOfsupYapA.
ECDSA key fingerprint is MD5:e6:e9:42:34:5f:b9:57:7c:7c:db:02:60:3b:14:f3:ac.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.20' (ECDSA) to the list of known hosts.
root@192.168.1.20's password: 
openrc.sh                                                                                            100% 3812     1.5MB/s   00:00    
[root@controller ~]# 

【compute】
将从控制节点传输过来的openrc.sh配置文件进行修改,修改内容如下。

#Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.1.20

11、执行相关脚本安装各个组件服务

(1)通过脚本安装服务

【controller】

[root@controller ~]# iaas-pre-host.sh 
[root@controller ~]# reboot

【compute】

[root@compute ~]# iaas-pre-host.sh 
[root@compute ~]# reboot

(2)通过脚本安装数据库服务

【controller】

[root@controller ~]# iaas-install-mysql.sh 

【compute】

[root@compute ~]# yum -y install  MySQL-python

(3)通过脚本安装keystone服务

【controller】

[root@controller ~]# iaas-install-keystone.sh

(4)通过脚本安装glance服务

【controller】

[root@controller ~]# iaas-install-glance.sh

上传镜像并使用命令查询是否上传成功

[root@controller ~]# cd /opt/openstack/images/
[root@controller images]# ll
total 1539152
-rw-r--r--. 1 root root 283181056 Nov  3 11:39 CentOS_6.5_x86_64_XD.qcow2
-rw-r--r--. 1 root root 381696512 Nov  3 11:39 CentOS7_1804.tar
-rw-r--r--. 1 root root 400752640 Nov  3 11:39 CentOS_7.2_x86_64_XD.qcow2
-rw-r--r--. 1 root root 510459904 Nov  3 11:39 CentOS_7.5_x86_64_XD.qcow2
[root@controller images]# source /etc/keystone/admin-openrc.sh 
[root@controller images]# glance image-create --name "centos7.5" --disk-format qcow2 --container-format bare --progress < CentOS_7.5_x86_64_XD.qcow2 
[=============================>] 100%
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | 3d3e9c954351a4b6953fd156f0c29f5c     |
| container_format | bare                                 |
| created_at       | 2020-11-03T06:20:20Z                 |
| disk_format      | qcow2                                |
| id               | d0122867-8ac2-444b-9c9f-556ede05e9f4 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | centos7.5                            |
| owner            | 25e184cdfaf44d29b11d9b435293253f     |
| protected        | False                                |
| size             | 510459904                            |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2020-11-03T06:20:23Z                 |
| virtual_size     | None                                 |
| visibility       | shared                               |
+------------------+--------------------------------------+
[root@controller images]# glance image-create --name "centos7.2" --disk-format qcow2 --container-format bare --progress < CentOS_7.2_x86_64_XD.qcow2 
[=============================>] 100%
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | ea197f4c679b8e1ce34c0aa70ae2a94a     |
| container_format | bare                                 |
| created_at       | 2020-11-03T06:20:40Z                 |
| disk_format      | qcow2                                |
| id               | 428e4940-fc03-484f-96e2-4b8d5310e372 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | centos7.2                            |
| owner            | 25e184cdfaf44d29b11d9b435293253f     |
| protected        | False                                |
| size             | 400752640                            |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2020-11-03T06:20:42Z                 |
| virtual_size     | None                                 |
| visibility       | shared                               |
+------------------+--------------------------------------+
[root@controller images]# glance image-create --name "centos6.5" --disk-format qcow2 --container-format bare --progress < CentOS_6.5_x86_64_XD.qcow2 
[=============================>] 100%
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | 3e565ace16066679ea363dde5411ed25     |
| container_format | bare                                 |
| created_at       | 2020-11-03T06:20:58Z                 |
| disk_format      | qcow2                                |
| id               | 6a3333a2-0125-4654-bbb3-d9004ace3788 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | centos6.5                            |
| owner            | 25e184cdfaf44d29b11d9b435293253f     |
| protected        | False                                |
| size             | 283181056                            |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2020-11-03T06:21:44Z                 |
| virtual_size     | None                                 |
| visibility       | shared                               |
+------------------+--------------------------------------+
[root@controller images]# glance image-list
+--------------------------------------+-----------+
| ID                                   | Name      |
+--------------------------------------+-----------+
| 6a3333a2-0125-4654-bbb3-d9004ace3788 | centos6.5 |
| 428e4940-fc03-484f-96e2-4b8d5310e372 | centos7.2 |
| d0122867-8ac2-444b-9c9f-556ede05e9f4 | centos7.5 |
+--------------------------------------+-----------+
[root@controller images]# openstack image list
+--------------------------------------+-----------+--------+
| ID                                   | Name      | Status |
+--------------------------------------+-----------+--------+
| 6a3333a2-0125-4654-bbb3-d9004ace3788 | centos6.5 | active |
| 428e4940-fc03-484f-96e2-4b8d5310e372 | centos7.2 | active |
| d0122867-8ac2-444b-9c9f-556ede05e9f4 | centos7.5 | active |
+--------------------------------------+-----------+--------+
[root@controller images]# 

(5)通过脚本安装nova服务

【controller】

[root@controller ~]# iaas-install-nova-controller.sh

在这里插入图片描述

【compute】

[root@compute ~]# iaas-install-nova-compute.sh 

在这里插入图片描述

(6)通过脚本安装neutron服务

【controller】

[root@controller ~]# iaas-install-neutron-controller.sh 

【compute】

[root@compute ~]# iaas-install-neutron-compute.sh 

注意:使用真实服务器搭建的话,网络模式选择vlan模式;使用虚拟机搭建的话,网络模式选择flat模式。

(7)通过脚本安装dashboard服务

【controller】

[root@controller ~]# iaas-install-dashboard.sh

(8)通过脚本安装Cinder服务

【controler】

[root@controller ~]# iaas-install-cinder-controller.sh 

【compute】

[root@compute ~]# iaas-install-cinder-compute.sh 

(9)通过脚本安装Swift服务

【controller】

[root@controller ~]# iaas-install-swift-controller.sh

【compute】

[root@compute ~]# iaas-install-swift-compute.sh

(10)通过脚本安装heat服务

【controller】

[root@controller ~]# iaas-install-heat.sh 

(11)通过脚本安装Zun服务

【controller】

[root@controller ~]# iaas-install-zun-controller.sh 

【compute】

[root@compute ~]# iaas-install-zun-compute.sh 

(12)通过脚本安装Ceilometer服务

【controller】

[root@controller ~]# iaas-install-ceilometer-controller.sh 

【compute】

[root@compute~]# iaas-install-ceilometer-compute.sh 

(13)通过脚本安装Aodh服务

【controller】

[root@controller ~]# iaas-install-aodh.sh 

12、添加控制节点资源到云平台

【controller】
修改openrc.sh
把compute节点的IP地址和主机名改为controller节点的IP和主机名

在控制节点运行iaas-install-nova-compute.sh
执行过程中需要确认登录controller节点和输入controller节点root用户密码。

修改openrc.sh配置文件

#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.1.10

#Compute Node hostname. example:compute
HOST_NAME_NODE=controller
[root@controller ~]# iaas-install-nova-compute.sh
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-compute.service to /usr/lib/systemd/system/openstack-nova-compute.service.
Pseudo-terminal will not be allocated because stdin is not a terminal.
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
ECDSA key fingerprint is SHA256:rX1rbCElY3mREAkrNRYC+yob0sFY+VyQAoUxPHPZucs.
ECDSA key fingerprint is MD5:18:11:82:84:98:8b:fd:3d:58:df:18:82:f7:a5:2e:50.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (ECDSA) to the list of known hosts.
root@192.168.1.10's password: 
+----+--------------+------------+------+---------+-------+----------------------------+
| ID | Binary       | Host       | Zone | Status  | State | Updated At                 |
+----+--------------+------------+------+---------+-------+----------------------------+
| 10 | nova-compute | compute    | nova | enabled | up    | 2020-11-03T07:34:09.000000 |
| 11 | nova-compute | controller | nova | enabled | up    | 2020-11-03T07:34:09.000000 |
+----+--------------+------------+------+---------+-------+----------------------------+
Found 2 cell mappings.
Skipping cell0 since it does not contain hosts.
Getting computes from cell 'cell1': b7e5c36e-d44d-4886-b756-7f37fe2bff2d
Checking host mapping for compute host 'controller': a35af4bb-d210-4e8e-a2eb-1ed65fd439d9
Creating host mapping for compute host 'controller': a35af4bb-d210-4e8e-a2eb-1ed65fd439d9
Found 1 unmapped computes in cell: b7e5c36e-d44d-4886-b756-7f37fe2bff2d

13、登录web界面

输入http://192.168.1.10/dasboard
在这里插入图片描述
在这里插入图片描述
至此,IaaS搭建完成。

Logo

长江两岸老火锅,共聚山城开发者!We Want You!

更多推荐