OpenStack項目是一個開源的雲計算平臺項目,是控制着計算、網絡和存儲三大資源的分佈式系統。搭建這樣的一個雲平臺系統,能夠爲咱們提供IaaS(基礎設施即服務)模式的雲服務。本文核心不在相關的理論,所以有關雲計算和OpenStack的概念等相關總體介紹能夠參考下面的三篇文章:linux
雲計算淺談正則表達式
OpenStack概念以及核心組件概述shell
OpenStack部署節點類型和架構centos
本文旨在給出實驗環境下多節點一鍵部署OpenStack的詳細實驗流程,該部署爲本地(使用yum源)部署的R版的OpenStack。下面筆者從本身的實驗環境與所需資源、系統資源狀況、部署節點規劃、具體部署、部署總結過程四個方面進行簡述、實踐與總結。瀏覽器
win10宿主機、採用VMware15版本(能夠自行下載,最好實驗時使用該版本)上安裝操做系統(Centos7.5);緩存
Centos7.5的鏡像文件、R版本的OpenStack源;資源連接以下:安全
連接:https://pan.baidu.com/s/1hFENGyrRTz3lOLUAordTGg
提取碼:mu5x服務器
系統資源狀況主要是介紹一下筆者的宿主機硬件狀況,主要考慮到OpenStack項目仍是很是佔用資源的,以避免您在進行實驗部署過程當中出現意料以外的故障,固然這裏的系統資源狀況只是筆者筆記本的狀況,具體所需硬件資源仍是須要屢次實驗的嘗試才行。網絡
筆者實驗所使用硬件資源以下:架構
CPU:i7 9代(i7就足夠了,主要看核心線程數);內存:32G(算是標配,能夠將低一些最好不低於24G);硬盤:1TSSD固態(最好超過200G的可用磁盤空間,筆者在後面部署時給的是300G)主要的硬件資源就是這三者。
下面說明一下筆者的實驗部署的節點規劃,節點類型在上面給出和的連接文章中有所介紹,這裏再也不贅述。
考慮到實驗環境的硬件配置,不可能如生產環境通常諸多節點的部署,所以總體上規劃爲三個節點,一個控制節點,兩個計算節點。仍是再次熟悉一下這個架構圖吧:
資源有限,實驗部署只能將網絡部署在控制節點上,生產環境中可萬不是這般部署哈!實驗部署一方面是加深理論理解,另外一方面是方便熟悉一些部署流程與命令操做以及一些故障排查思路。
既然說到生產環境的部署,就大體舉個例子吧:
假設部署一個具備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的魅力。
筆者將一鍵部署R版本的OpenStack實驗分爲如下幾個流程,通常在部署過程當中,出現故障或其餘狀況的機率仍是很是高的,會在文章末尾的總結中給出一些排障的思路,以供你們參考:
一、安裝操做系統 二、系統環境配置 三、一鍵部署OpenStack
下面針對每一步進行步驟細分及演示,部署過程當中對於一些網絡的配置能夠自行定義網段IP地址等:
上文說到實驗環境部署一個控制和兩個計算節點。所以須要安裝三臺虛擬機。下面是具體的安裝流程。
1.修改本地的VMnet8網卡
下面是操做順序
下面是更改以後的結果:
2.新建虛擬機(這裏暫時不開啓虛擬機)
安裝Linux系統Centos7的具體流程在筆者以前的文章中已有詳細介紹,這裏主要將一些不一樣的地方經過下面的圖示進行說明。參考連接:Centos7操做系統安裝
控制節點的虛擬機設置以下圖:
計算節點的虛擬機設置以下圖(兩個節點都同樣):
3.上述流程設置完以後,進行開啓配置安裝虛擬機(最好一個一個安裝,三個節點設置流程一致,舉其中任意一個節點來講明)
開啓後以下圖說明操做:
4.安裝時只須要選擇最小安裝,而後按照下圖規劃磁盤
點擊磁盤分配以後的對話框進行磁盤分配
點擊Done以後出現以下對話框繼續進行配置
上述未給出對應步驟的截圖就和前面給出安裝系統的連接內的步驟一致了,從該設置完以後,下面的操做就和正常安裝系統一致了。最終就正常安裝能夠登陸便可,而後將之關閉(避免資源佔用致使其餘節點虛擬機安裝失敗,考慮到你們的硬件配置問題)。
以上就是咱們的第一個步驟的整個流程,可能看上去比較多,可是當你很是熟悉VMware上安裝Linux操做系統的流程其實會發現十分簡單,其中最關鍵的就是安裝以前的那兩條命令不要忘了。
當安裝沒有任何問題的時候,咱們能夠逐一開啓三臺虛擬機(最好一個一個開啓),開始第二步的操做;
這裏先羅列一下該系統環境配置須要完成的主要操做步驟
一、配置各個節點的主機名、網卡,重啓網絡 二、關閉防火牆、核心防禦、網絡管理、而且設置爲禁止開機自啓 三、上傳軟件包——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主配置文件
保存文件後重啓服務,關閉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
在控制節點進行操做
#安裝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
出現下圖所示狀況時就表示目前沒有問題,接下來就是耐心等待
出現下圖則說明部署成功了
咱們可使用瀏覽器(Google)登陸儀表板驗證一下能夠參考下面文章的末尾介紹:
OpenStack入門——理論篇(二):OpenStack的節點類型和架構(含登陸的儀表板界面示例)
筆者在部署過程當中也遇到了一些意外錯誤和問題,可是基本上都解決了,這些大都是一些小問題,代碼寫錯,某些內容更改錯誤等等。不過仍是給點建議和排障思路給你們:
首先,對於這些較大的實驗項目,咱們須要先理清思路和部署順序;
其次,安裝過程當中,因爲是實驗過程,須要習慣性地進行備份(虛擬機上咱們能夠拍攝快照),這也是一種存儲方式哈。這樣咱們能夠在以後出現問題沒法解決等狀況時,能夠經過這種快照機制回滾到當初部署成功的階段的時間點。這樣能夠爲咱們節省大量的時間;
接着就是排障,先看懂ERROR的含義,若是一眼看出問題所在能夠直接修改;若是沒有什麼解決思路,就去檢查本身的環境是否有問題,服務是否開啓,該停的服務是否關閉等;若是環境沒什麼問題就去查看一下本身的配置文件是否有誤,例如其中某些配置文件的相關參數是否修改正確等等;若是仍是沒法解決就須要自行去查找資料,例如去百度,看看官方文檔,看看前輩們或者以前的工程師是否遇到過相似的問題,是如何解決的。
具體的排障仍是須要時間經驗的積累的,本文的主要目的是爲了演示整個在本地部署多節點的R版本的OpenStack平臺的過程,方便初學者進行實驗嘗試,理論部分筆者還在持續更新中,但願讀者能夠繼續關注閱讀!謝謝!