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平臺的過程,方便初學者進行實驗嘗試,理論部分筆者還在持續更新中,但願讀者能夠繼續關注閱讀!謝謝!

相關文章
相關標籤/搜索