OpenStack多节点一键部署(超详细)

实验环境下OpenStack多节点一键部署(超详细)

前言

​ OpenStack项目是一个开源的云计算平台项目,是控制着计算、网络和存储三大资源的分布式系统。搭建这样的一个云平台系统,能够为咱们提供IaaS(基础设施即服务)模式的云服务。本文核心不在相关的理论,所以有关云计算和OpenStack的概念等相关总体介绍能够参考下面的三篇文章:linux

云计算浅谈正则表达式

OpenStack概念以及核心组件概述shell

OpenStack部署节点类型和架构centos

​ 本文旨在给出实验环境下多节点一键部署OpenStack的详细实验流程,该部署为本地(使用yum源)部署的R版的OpenStack。下面笔者从本身的实验环境与所需资源、系统资源状况、部署节点规划、具体部署、部署总结过程四个方面进行简述、实践与总结。浏览器

1、实验环境与所需资源

1.1系统环境

win10宿主机、采用VMware15版本(能够自行下载,最好实验时使用该版本)上安装操做系统(Centos7.5);缓存

1.2资源包

Centos7.5的镜像文件、R版本的OpenStack源;资源连接以下:安全

连接:https://pan.baidu.com/s/1hFENGyrRTz3lOLUAordTGg
提取码:mu5x服务器

2、系统资源状况

​ 系统资源状况主要是介绍一下笔者的宿主机硬件状况,主要考虑到OpenStack项目仍是很是占用资源的,以避免您在进行实验部署过程当中出现意料以外的故障,固然这里的系统资源状况只是笔者笔记本的状况,具体所需硬件资源仍是须要屡次实验的尝试才行。网络

​ 笔者实验所使用硬件资源以下:架构

CPU:i7 9代(i7就足够了,主要看核心线程数);内存:32G(算是标配,能够将低一些最好不低于24G);硬盘:1TSSD固态(最好超过200G的可用磁盘空间,笔者在后面部署时给的是300G)主要的硬件资源就是这三者。

​ 下面说明一下笔者的实验部署的节点规划,节点类型在上面给出和的连接文章中有所介绍,这里再也不赘述。

3、部署节点规划

​ 考虑到实验环境的硬件配置,不可能如生产环境通常诸多节点的部署,所以总体上规划为三个节点,一个控制节点,两个计算节点。仍是再次熟悉一下这个架构图吧:

OpenStack多节点一键部署(超详细)

资源有限,实验部署只能将网络部署在控制节点上,生产环境中可万不是这般部署哈!实验部署一方面是加深理论理解,另外一方面是方便熟悉一些部署流程与命令操做以及一些故障排查思路。

既然说到生产环境的部署,就大体举个例子吧:

假设部署一个具备300台服务器的OpenStack平台服务,大体上能够这样规划:

30个控制节点;30个网络节点;100个计算节点;其他的能够给存储;

​ 说到存储,咱们知道OpenStack中有Cinder块存储以及Swift对象存储,在生产环境中通常会使用另一个大项目,CEPH分布式存储,通常咱们会结合该存储方式来部署OpenStack的存储节点,而且在生产环境中,CEPH是以高可用群集来确保存储数据的高可靠和高可用性的,有关CEPH的知识,感兴趣的朋友能够查阅一下。

​ 下面说下具体的资源分配:

​ 控制节点:处理器内核总数为2*2的搭配;内存为8G;划分2个磁盘分别:300G、1024G(以后用于ceph存储实验);采用双网卡,一个仅主机模式(eth)(ip规划为192.168.100.20),一个NAT模式(ip规划为20.0.0.20);

​ 计算节点:两个计算节点的资源分配都同样,处理器内核总数为2*2的搭配;内存为8G;划分2个磁盘分别:300G、1024G;网卡都为一个仅主机模式(eth)(IP地址规划为192.168.100.21和192.168.100.22);

​ 上图也给出了各个节点上所要安装的组件,不过笔者仍是考虑简化一些,方便你们进行实验,因此对一些组件进行了取舍,下面经过具体的部署流程来理解体会OpenStack的魅力。

4、具体部署过程

​ 笔者将一键部署R版本的OpenStack实验分为如下几个流程,通常在部署过程当中,出现故障或其余状况的几率仍是很是高的,会在文章末尾的总结中给出一些排障的思路,以供你们参考:

一、安装操做系统
二、系统环境配置
三、一键部署OpenStack

下面针对每一步进行步骤细分及演示,部署过程当中对于一些网络的配置能够自行定义网段IP地址等:

4.1安装操做系统

​ 上文说到实验环境部署一个控制和两个计算节点。所以须要安装三台虚拟机。下面是具体的安装流程。

1.修改本地的VMnet8网卡

下面是操做顺序

OpenStack多节点一键部署(超详细)

下面是更改以后的结果:

OpenStack多节点一键部署(超详细)

2.新建虚拟机(这里暂时不开启虚拟机)

安装Linux系统Centos7的具体流程在笔者以前的文章中已有详细介绍,这里主要将一些不一样的地方经过下面的图示进行说明。参考连接:Centos7操做系统安装

控制节点的虚拟机设置以下图:

OpenStack多节点一键部署(超详细)

计算节点的虚拟机设置以下图(两个节点都同样):

OpenStack多节点一键部署(超详细)

3.上述流程设置完以后,进行开启配置安装虚拟机(最好一个一个安装,三个节点设置流程一致,举其中任意一个节点来讲明)

开启后以下图说明操做:

OpenStack多节点一键部署(超详细)

4.安装时只须要选择最小安装,而后按照下图规划磁盘

OpenStack多节点一键部署(超详细)

点击磁盘分配以后的对话框进行磁盘分配

OpenStack多节点一键部署(超详细)
点击Done以后出现以下对话框继续进行配置

OpenStack多节点一键部署(超详细)

OpenStack多节点一键部署(超详细)

OpenStack多节点一键部署(超详细)

上述未给出对应步骤的截图就和前面给出安装系统的连接内的步骤一致了,从该设置完以后,下面的操做就和正常安装系统一致了。最终就正常安装能够登陆便可,而后将之关闭(避免资源占用致使其余节点虚拟机安装失败,考虑到你们的硬件配置问题)。

​ 以上就是咱们的第一个步骤的整个流程,可能看上去比较多,可是当你很是熟悉VMware上安装Linux操做系统的流程其实会发现十分简单,其中最关键的就是安装以前的那两条命令不要忘了。

当安装没有任何问题的时候,咱们能够逐一开启三台虚拟机(最好一个一个开启),开始第二步的操做;

4.2系统环境配置

这里先罗列一下该系统环境配置须要完成的主要操做步骤

一、配置各个节点的主机名、网卡,重启网络
二、关闭防火墙、核心防御、网络管理、而且设置为禁止开机自启
三、上传软件包——openstack-rocky压缩包(源),而且进行解压缩等设置
四、配置本地yum源文件
五、三个节点作免交互而且验证
六、配置时间同步

下面开始进行配置

一、配置各个节点的主机名、网卡,重启网络(这里先在本地配置了网络方便链接Xshell等远程链接工具,一方面尽量模拟生产环境,另外一方面方便代码演示)下面看一下网卡设置

控制节点配置:

[root@localhost ~]# hostnamectl set-hostname ct
[root@localhost ~]# su
[root@ct ~]# cd /etc/sysconfig/network-scripts/
#配置本地网卡eth0和nat网卡eth1
[root@ct network-scripts]# cat ifcfg-eth0
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=eth0
UUID=6dc229bf-8b5b-4170-ac0d-6577b4084fc0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.100.20
NETMASK=255.255.255.0
GATEWAY=192.168.100.1 

[root@ct network-scripts]# cat ifcfg-eth1
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=eth1
UUID=37e4a752-3820-4d15-89ab-6f3ad7037e84
DEVICE=eth1
ONBOOT=yes
IPADDR=20.0.0.20
NETMASK=255.255.255.0
GATEWAY=20.0.0.2
#配置resolv.conf文件用于访问外网
[root@ct network-scripts]# cat /etc/resolv.conf
nameserver 8.8.8.8
#重启网络,进行测试
[root@ct ~]# ping www.baidu.com
PING www.wshifen.com (104.193.88.123) 56(84) bytes of data.
64 bytes from 104.193.88.123 (104.193.88.123): icmp_seq=1 ttl=128 time=182 ms
64 bytes from 104.193.88.123 (104.193.88.123): icmp_seq=2 ttl=128 time=182 ms
^C
--- www.wshifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 182.853/182.863/182.874/0.427 ms

计算节点网卡配置:(除了ip地址不同其余都同样)

[root@localhost ~]# hostnamectl set-hostname c1
[root@localhost ~]# su
[root@c1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
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=eth0
UUID=d8f1837b-ce71-4465-8d6f-97668c343c6a
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.100.21
NETMASK=255.255.255.0
#GATEWAY=192.168.100.1
#计算机节点2上配置ip地址为192.168.100.22

配置三个节点上的/etc/hosts文件:

cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.20 ct
192.168.100.21 c1
192.168.100.22 c2
#测试是否能够互相ping通
root@ct ~]# ping c1
PING c1 (192.168.100.21) 56(84) bytes of data.
64 bytes from c1 (192.168.100.21): icmp_seq=1 ttl=64 time=0.800 ms
64 bytes from c1 (192.168.100.21): icmp_seq=2 ttl=64 time=0.353 ms
^C
--- c1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.353/0.576/0.800/0.224 ms
[root@ct ~]# ping c2
PING c2 (192.168.100.22) 56(84) bytes of data.
64 bytes from c2 (192.168.100.22): icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from c2 (192.168.100.22): icmp_seq=2 ttl=64 time=0.316 ms
^C
--- c2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.316/0.541/0.766/0.225 ms

[root@c1 ~]# ping c2
PING c2 (192.168.100.22) 56(84) bytes of data.
64 bytes from c2 (192.168.100.22): icmp_seq=1 ttl=64 time=1.25 ms
64 bytes from c2 (192.168.100.22): icmp_seq=2 ttl=64 time=1.05 ms
64 bytes from c2 (192.168.100.22): icmp_seq=3 ttl=64 time=0.231 ms
^C
--- c2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 0.231/0.846/1.255/0.442 ms

二、关闭防火墙、核心防御、网络管理、而且设置为禁止开机自启(三个节点都须要进行下面命令的配置,这里实验环境中使用OpenStack以前尽可能对这些服务进行检查)

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vi /etc/sysconfig/selinux
SELINUX=disabled
systemctl stop NetworkManager
systemctl disable NetworkManager

三、上传软件包——openstack-rocky压缩包(源),而且进行解压缩等设置

笔者使用的是xftp工具上传的三个节点都上传,上传以后进行解压到/opt目录下

以下所示

[root@ct ~]# ls
anaconda-ks.cfg  openstack_rocky.tar.gz
[root@ct ~]# tar -zxf openstack_rocky.tar.gz -C /opt/
[root@ct ~]# cd /opt/
[root@ct opt]# ls
openstack_rocky
[root@ct opt]# du -h
2.4M    ./openstack_rocky/repodata
306M    ./openstack_rocky
306M    .

四、配置本地yum源文件(注意将虚拟机镜像文件处于已链接状态,在虚拟机设置中查看,或者查看右下角的光驱图标是否有绿点显示,通常默认是链接状态)这里在控制节点上演示,其他节点上相同操做便可。

4.一、挂载系统镜像

[root@ct opt]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Fri Mar  6 05:02:52 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=0d4b2a40-756a-4c83-a520-83289e8d50ca /                       xfs     defaults        0 0
UUID=bd59f052-d9bc-47e8-a0fb-55b701b5dd28 /boot                   xfs     defaults        0 0
UUID=8ad9f9e7-92db-4aa2-a93d-1fe93b63bd89 swap                    swap    defaults        0 0
/dev/sr0    /mnt    iso9660 defaults    0 0
[root@ct opt]# mount -a
mount: /dev/sr0 is write-protected, mounting read-only
[root@ct opt]# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda3      xfs       291G  1.6G  290G   1% /
devtmpfs       devtmpfs  3.9G     0  3.9G   0% /dev
tmpfs          tmpfs     3.9G     0  3.9G   0% /dev/shm
tmpfs          tmpfs     3.9G   12M  3.8G   1% /run
tmpfs          tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1      xfs      1014M  134M  881M  14% /boot
tmpfs          tmpfs     781M     0  781M   0% /run/user/0
/dev/sr0       iso9660   4.2G  4.2G     0 100% /mnt

4.二、yum源备份建立编写新的源文件

[root@ct opt]# cd /etc/yum.repos.d/
[root@ct yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@ct yum.repos.d]# mkdir backup
[root@ct yum.repos.d]# mv C* backup/
[root@ct yum.repos.d]# vi local.repo
[root@ct yum.repos.d]# cat local.repo 
[openstack]
name=openstack
baseurl=file:///opt/openstack_rocky #该路径为解压软件包源的路径
gpgcheck=0
enabled=1

[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1

4.三、修改yum.conf文件,将keepcache置为1,表示保存缓存

[root@ct yum.repos.d]# head -10 /etc/yum.conf 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 #只须要修改该参数
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5

[root@ct yum.repos.d]# 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@ct yum.repos.d]# yum makecache #创建软件包本地缓存
Loaded plugins: fastestmirror
Determining fastest mirrors
centos                                                                                             | 3.6 kB  00:00:00     
openstack                                                                                          | 2.9 kB  00:00:00     
(1/7): centos/group_gz                                                                             | 166 kB  00:00:00     
(2/7): centos/filelists_db                                                                         | 3.1 MB  00:00:01     
(3/7): centos/primary_db                                                                           | 3.1 MB  00:00:01     
(4/7): centos/other_db                                                                             | 1.3 MB  00:00:00     
(5/7): openstack/primary_db                                                                        | 505 kB  00:00:00     
(6/7): openstack/filelists_db                                                                      | 634 kB  00:00:00     
(7/7): openstack/other_db                                                                          | 270 kB  00:00:00     
Metadata Cache Created

5.三个节点之间作免交互,而且进行验证

ssh-keygen -t rsa #一路回车便可,下面遇到交互是输入yes以及登陆的虚拟机的root的密码便可
ssh-copy-id ct 
ssh-copy-id c1 
ssh-copy-id c2

这样为了保证明验的安全和验证以前的设置咱们先拍好快照而后从新启动虚拟机来验证这些配置(每一个节点上都要进行下面的验证,这里以控制节点为例)

[root@ct ~]# ls
anaconda-ks.cfg  openstack_rocky.tar.gz
[root@ct ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@ct ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:NetworkManager(8)
[root@ct ~]# setenforce ?
setenforce: SELinux is disabled
#再次确认一下免交互是否成功
[root@ct ~]# ssh c1
Last login: Sun Mar  8 13:11:32 2020 from c2
[root@c1 ~]# exit
logout
Connection to c1 closed.
[root@ct ~]# ssh c2
Last login: Sun Mar  8 13:14:18 2020 from gateway
[root@c2 ~]#

六、配置时间同步

​ 该步骤是很是关键的,尤为是在咱们的生产环境中,设想如果各个服务器之间的时间没法同步,那么针对许多服务和业务都是没法进行的,甚至会致使重大事故。

​ 本次实验环境就同步阿里云的时钟服务器为例,以控制节点同步阿里云服务器,而两个计算节点经过ntpd服务同步控制节点时间。

控制节点配置:

[root@ct ~]# yum -y install ntpdate 
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package ntpdate.x86_64 0:4.2.6p5-28.el7.centos will be installed
--> Finished Dependency Resolution

//...//省略部份内容
Installed:
  ntpdate.x86_64 0:4.2.6p5-28.el7.centos                                                                                  

Complete!
#同步阿里云时钟服务器
[root@ct ~]# ntpdate ntp.aliyun.com
 8 Mar 05:20:32 ntpdate[9596]: adjust time server 203.107.6.88 offset 0.017557 sec
[root@ct ~]# date
Sun Mar  8 05:20:40 EDT 2020
[root@ct ~]# yum -y install ntp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package ntp.x86_64 0:4.2.6p5-28.el7.centos will be installed
--> Processing Dependency: libopts.so.25()(64bit) for package: ntp-4.2.6p5-28.el7.centos.x86_64
--> Running transaction check
---> Package autogen-libopts.x86_64 0:5.18-5.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================
 Package                        Arch                  Version                                 Repository             Size
==========================================================================================================================
Installing:
 ntp                            x86_64                4.2.6p5-28.el7.centos                   centos                549 k
Installing for dependencies:
 autogen-libopts                x86_64                5.18-5.el7                              centos                 66 k

Transaction Summary
==========================================================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 615 k
Installed size: 1.5 M
Downloading packages:
--------------------------------------------------------------------------------------------------------------------------
Total                                                                                     121 MB/s | 615 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : autogen-libopts-5.18-5.el7.x86_64                                                                      1/2 
  Installing : ntp-4.2.6p5-28.el7.centos.x86_64                                                                       2/2 
  Verifying  : autogen-libopts-5.18-5.el7.x86_64                                                                      1/2 
  Verifying  : ntp-4.2.6p5-28.el7.centos.x86_64                                                                       2/2 

Installed:
  ntp.x86_64 0:4.2.6p5-28.el7.centos                                                                                      

Dependency Installed:
  autogen-libopts.x86_64 0:5.18-5.el7                                                                               
Complete!

修改ntp主配置文件

OpenStack多节点一键部署(超详细)

保存文件后重启服务,关闭chronyd.service服务

[root@ct ~]# systemctl disable chronyd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.
[root@ct ~]# systemctl restart ntpd
[root@ct ~]# systemctl enable ntpd

两个计算节点上配置

[root@c1 ~]# yum -y install ntpdate 
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package ntpdate.x86_64 0:4.2.6p5-28.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================
 Package                  Arch                    Version                                   Repository               Size
==========================================================================================================================
Installing:
 ntpdate                  x86_64                  4.2.6p5-28.el7.centos                     centos                   86 k

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

Total download size: 86 k
Installed size: 121 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : ntpdate-4.2.6p5-28.el7.centos.x86_64                                                                   1/1 
  Verifying  : ntpdate-4.2.6p5-28.el7.centos.x86_64                                                                   1/1 

Installed:
  ntpdate.x86_64 0:4.2.6p5-28.el7.centos                                                                                  

Complete!
[root@c1 ~]# ntpdate ct
 8 Mar 05:36:26 ntpdate[9562]: step time server 192.168.100.20 offset -28798.160949 sec
[root@c1 ~]# crontab -e 
#写入周期性计划任务后保存退出,例如:*/30 * * * * /usr/sbin/ntpdate ct >> /var/log/ntpdate.log
no crontab for root - using an empty one
crontab: installing new crontab

4.3一键部署OpenStack

在控制节点进行操做

#安装openstack-packstack工具用于生成openstack应答文件(txt文本格式)
[root@ct ~]# yum install -y openstack-packstack
[root@ct ~]# packstack --gen-answer-file=openstack.txt
[root@ct ~]# ls
anaconda-ks.cfg  openstack_rocky.tar.gz  openstack.txt

重点在于如何修改:这里不具体说明,能够在阅读完该文章后,查询了解其余的配置含义和做用
下面给出哪些行须要更改的内容,细心修改

41行:y-n #SWIFT是OpenStack的对象存储组件,默认是Y,在生产环境中通常是不装,因此改n
50行:y-n #不安装该服务

97行:192.168.100.11,192.168.100.12 #计算节点ip地址

817 :physnet1      #FLAT网络这边要设置物理网卡名字
862 :physnet1:br-ex      #这边要设置物理网卡的名字
873:br-ex:eth1 #这边br-ex:eth1是网络节点的nat网卡,到时候安装完毕以后IP地址会漂到这个上
1185:y-n #DEMO是OpenStack联网下载一个测试镜像,这边没联网。说以改为n
#还有一些网段须要修改以及密码这里使用sed正则表达式来全局修改
[root@ct ~]# sed -i -r 's/(.+_PW)=.+/\1=sf144069/' openstack.txt

[root@ct ~]# sed -i -r 's/20.0.0.20/192.168.100.20/g' openstack.txt

这里须要将原先关闭的控制节点的网关开启以后,使用下面的命令进行一键部署安装

[root@ct ~]# packstack --answer-file=openstack.txt
Welcome to the Packstack setup utility

The installation log file is available at: /var/tmp/packstack/20200308-055746-HD3Zl3/openstack-setup.log

Installing:
Clean Up                                             [ DONE ]
Discovering ip protocol version                      [ DONE ]
Setting up ssh keys                                  [ DONE ]
Preparing servers                                    [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Preparing pre-install entries                        [ DONE ]
Setting up CACERT                                    [ DONE ]
Preparing AMQP entries                               [ DONE ]
Preparing MariaDB entries                            [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries                           [ DONE ]
...//省略部份内容

在各个节点终端(xshell终端在开一个链接控制节点的终端使用下面的命令查看日志信息)

tail -f /var/log/messages

出现下图所示状况时就表示目前没有问题,接下来就是耐心等待

OpenStack多节点一键部署(超详细)

出现下图则说明部署成功了

OpenStack多节点一键部署(超详细)

咱们可使用浏览器(Google)登陆仪表板验证一下能够参考下面文章的末尾介绍:

OpenStack入门——理论篇(二):OpenStack的节点类型和架构(含登陆的仪表板界面示例)

5、部署总结和排障思路

​ 笔者在部署过程当中也遇到了一些意外错误和问题,可是基本上都解决了,这些大都是一些小问题,代码写错,某些内容更改错误等等。不过仍是给点建议和排障思路给你们:

​ 首先,对于这些较大的实验项目,咱们须要先理清思路和部署顺序;

​ 其次,安装过程当中,因为是实验过程,须要习惯性地进行备份(虚拟机上咱们能够拍摄快照),这也是一种存储方式哈。这样咱们能够在以后出现问题没法解决等状况时,能够经过这种快照机制回滚到当初部署成功的阶段的时间点。这样能够为咱们节省大量的时间;

​ 接着就是排障,先看懂ERROR的含义,若是一眼看出问题所在能够直接修改;若是没有什么解决思路,就去检查本身的环境是否有问题,服务是否开启,该停的服务是否关闭等;若是环境没什么问题就去查看一下本身的配置文件是否有误,例如其中某些配置文件的相关参数是否修改正确等等;若是仍是没法解决就须要自行去查找资料,例如去百度,看看官方文档,看看前辈们或者以前的工程师是否遇到过相似的问题,是如何解决的。

​ 具体的排障仍是须要时间经验的积累的,本文的主要目的是为了演示整个在本地部署多节点的R版本的OpenStack平台的过程,方便初学者进行实验尝试,理论部分笔者还在持续更新中,但愿读者能够继续关注阅读!谢谢!

相关文章
相关标签/搜索