摘要:本文介紹了OpenStack云平臺(tái)的基本功能及組成,闡述了其一般部署流程及部署特性,可為OpenStack云平臺(tái)部署的實(shí)際應(yīng)用提供具有一定價(jià)值的參考。
關(guān)鍵詞:OpenStack;云平臺(tái)
1. 引言
隨著云計(jì)算技術(shù)的發(fā)展,無(wú)論是資源利用率還是彈性分配計(jì)算資源的能力,云計(jì)算架構(gòu)都明顯優(yōu)于傳統(tǒng)計(jì)算資源架構(gòu)[1]。OpenStack作為一個(gè)開(kāi)源的云計(jì)算管理平臺(tái),在云服務(wù)中屬于基礎(chǔ)設(shè)施服務(wù)(IaaS),簡(jiǎn)單地理解就是主要提供硬件資源方面的服務(wù)。OpenStack由美國(guó)國(guó)家宇航局和Rackspace合作研發(fā),其主要目標(biāo)是管理計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源等。OpenStack云管理平臺(tái)對(duì)外向各個(gè)租戶(hù)即企業(yè)等機(jī)構(gòu)提供服務(wù),這些機(jī)構(gòu)無(wú)需建設(shè)自己的機(jī)房,無(wú)需購(gòu)買(mǎi)設(shè)備,更不需承擔(dān)設(shè)備升級(jí)維護(hù)的費(fèi)用,只要向給它提供云服務(wù)的企業(yè)按需、定期支付云計(jì)算資源使用費(fèi)用即可。這種IT資源使用模式在長(zhǎng)遠(yuǎn)看來(lái)將更加節(jié)約運(yùn)營(yíng)成本,因此這也使得云計(jì)算發(fā)展成為一個(gè)趨勢(shì)。由于OpenStack的開(kāi)源特性及其對(duì)不同類(lèi)型云環(huán)境的廣泛支持,使其被眾多廠(chǎng)家認(rèn)可并逐漸成為云平臺(tái)架構(gòu)中的主流[2]。
2. OpenStack的功能及組成
OpenStack采用模塊化設(shè)計(jì), 其8大核心項(xiàng)目組件包括:提供計(jì)算服務(wù)的Nova;支持多租戶(hù)的分布式對(duì)象存儲(chǔ)組件--Swift;負(fù)責(zé)注冊(cè)、檢索、管理虛擬鏡像文件的Glance;提供組件間消息認(rèn)證服務(wù)的Keystone;提供靈活物理網(wǎng)絡(luò)管理服務(wù)的Neutron;提供可預(yù)定義的云部署服務(wù)的Heat;執(zhí)行volume等相關(guān)功能的塊存儲(chǔ)組件Cinder;提供用戶(hù)Web訪(fǎng)問(wèn)界面的Dashboard組件Horizon。這些項(xiàng)目組件可組合在一起為租戶(hù)提供云架構(gòu)服務(wù),也可分開(kāi)獨(dú)立工作,為用戶(hù)提供云存儲(chǔ)、鏡像、操作系統(tǒng)、虛擬化等服務(wù)[3]。
3. OpenStack的部署
3.1 部署的特點(diǎn)
部署OpenStack云平臺(tái)時(shí)需要考慮到實(shí)際的應(yīng)用環(huán)境,一般需要滿(mǎn)足以下3個(gè)條件[4]:
(1)擴(kuò)張容易:由于實(shí)際應(yīng)用可能由于業(yè)務(wù)的增加而增加,擴(kuò)張性的部署架構(gòu)會(huì)帶來(lái)嚴(yán)重的后遺癥。此外,部署是否簡(jiǎn)單方便也影響著擴(kuò)張的難度。
(2)維護(hù)簡(jiǎn)單:當(dāng)節(jié)點(diǎn)呈數(shù)量級(jí)上升后,維護(hù)的難度亦會(huì)隨之增加。
(3)高穩(wěn)定性:高可靠性的架構(gòu)可提供持續(xù)穩(wěn)定的服務(wù)。
為便于闡述,以下的部署主要在主控節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)兩種節(jié)點(diǎn)上進(jìn)行。其中,主控節(jié)點(diǎn)運(yùn)行Dashboard、Keystone、MySQL、RabbitMQ、Swift Proxy、Cinder API、Quantum Server、Glance和Nova API服務(wù),這些服務(wù)僅提供Web UI、Restful API和安全認(rèn)證等功能,不參與實(shí)際操作;計(jì)算節(jié)點(diǎn)運(yùn)行Nova Compute、Quantum Agent、Cinder Volume和Swift Storage Node服務(wù),這些服務(wù)完成創(chuàng)建虛擬機(jī)、建立存儲(chǔ)設(shè)備及虛擬網(wǎng)絡(luò)等實(shí)際操作。
以上部署的優(yōu)點(diǎn)在于:
(1)結(jié)構(gòu)清晰:只有兩種節(jié)點(diǎn),每種節(jié)點(diǎn)固定運(yùn)行某些服務(wù)。
(2)部署容易:新加入的計(jì)算節(jié)點(diǎn)只需部署相應(yīng)的4種服務(wù)即可。
(3)維護(hù)簡(jiǎn)單:只需要知道節(jié)點(diǎn)類(lèi)型,即可測(cè)試相應(yīng)的服務(wù)。
3.2 部署流程
實(shí)際情況下部署通常涉及多個(gè)節(jié)點(diǎn),即多個(gè)物理機(jī)與虛擬機(jī),因此應(yīng)準(zhǔn)備足夠的物理資源以供使用。主控節(jié)點(diǎn)由于需要運(yùn)行更多服務(wù),其配置應(yīng)略高于計(jì)算節(jié)點(diǎn)。
3.2.1 準(zhǔn)備工作
首先,為創(chuàng)建虛擬機(jī)應(yīng)在物理節(jié)點(diǎn)上做好相應(yīng)準(zhǔn)備:在物理節(jié)點(diǎn)上安裝虛擬化所需要的一系列軟件包,下載安裝包并建立目錄樹(shù),準(zhǔn)備好虛擬機(jī)磁盤(pán),即將虛擬磁盤(pán)文件復(fù)制到/cloud/_base目錄下,形成相應(yīng)的目錄樹(shù)結(jié)構(gòu)。檢查主機(jī)網(wǎng)絡(luò)配置保證主機(jī)網(wǎng)絡(luò)的正常運(yùn)行。
3.2.2 創(chuàng)建Repo Server
接下來(lái)建立虛擬機(jī)Repo Server,運(yùn)行如下腳本:
cd/cloud
./vm.sh repo-server -d
腳本運(yùn)行成功之后,將會(huì)自動(dòng)運(yùn)行創(chuàng)建的虛擬機(jī)。如有需要,可適當(dāng)修改vcpu的數(shù)量和虛擬內(nèi)存的大小,vcpu的數(shù)量應(yīng)根據(jù)物理CPU的核與線(xiàn)程數(shù)來(lái)決定,通過(guò)cat/proc/cpuinfo可查看物理CPU的詳細(xì)參數(shù)。
完成以上步驟后使用$virsh list -all 和$virsh vncdisplay repo-server檢查虛擬機(jī)是否正常啟動(dòng)運(yùn)行。
在同一節(jié)點(diǎn)上搭建小型的apt-get系統(tǒng)包源以及python包源,以避免apt-get因節(jié)點(diǎn)無(wú)法正常訪(fǎng)問(wèn)網(wǎng)絡(luò)而不能使用,隨后修改相關(guān)配置即可。
3.2.3 創(chuàng)建控制節(jié)點(diǎn)
首先利用cd /cloud和 ./easy.sh m-controller -d創(chuàng)建控制節(jié)點(diǎn)的虛擬機(jī)并設(shè)置網(wǎng)卡,配置成功后修改localrc配置文件中的PHP_HOST項(xiàng)值為192.168.111.4。
為方便局域網(wǎng)節(jié)點(diǎn)復(fù)制安裝包,統(tǒng)一配置文件,在repo-server上建立一個(gè)供局域網(wǎng)節(jié)點(diǎn)使用的NFS目錄。
后期的工作則是針對(duì)MySQL、RabbitMQ、Keystone、Swift Proxy、Glance、Cinder、Quantum Server、Nova API、Dashboard服務(wù)配置localrc文件,并安裝相應(yīng)的服務(wù)。
3.2.4 創(chuàng)建計(jì)算節(jié)點(diǎn)
創(chuàng)建計(jì)算節(jié)點(diǎn)的前期工作與創(chuàng)建控制節(jié)點(diǎn)一樣,包括創(chuàng)建虛擬機(jī)和配置網(wǎng)卡。其后則是安裝Nova Compute、Quantum Agent、Cinder Volume、Swift Storage服務(wù)。
4. 結(jié)論
OpenStack相較其他的開(kāi)源云計(jì)算平臺(tái)而言,具備模塊松耦合、組件配置靈活、二次開(kāi)發(fā)容易等優(yōu)勢(shì),其未來(lái)在各行各業(yè)的發(fā)展空間不容小覷,有著廣闊的發(fā)展前景。然而,若要更好地滿(mǎn)足不同階段、不同用戶(hù)的要求,仍需對(duì)OpenStack如何提供更具彈性的計(jì)算服務(wù)的問(wèn)題進(jìn)行深入研究,以便為不同的實(shí)際需求提供軟硬件資源、系統(tǒng)架構(gòu)與實(shí)際環(huán)境相匹配并能最大限度提高資源利用率的云計(jì)算環(huán)境。
參考文獻(xiàn):
[1] 萬(wàn)宏鳳. 基于OpenStack的教學(xué)云計(jì)算平臺(tái)的構(gòu)建與應(yīng)用[J]. 中國(guó)高新技術(shù)企業(yè), 2015(20): 45-46.
[2] 金永霞, 孫寧. 基于OpenStack的云計(jì)算實(shí)驗(yàn)平臺(tái)建設(shè)與應(yīng)用[J]. 實(shí)驗(yàn)技術(shù)與管理, 2016(6): 145-149.
[3] 武佳寧. 基于OpenStack的云平臺(tái)虛擬集群部署設(shè)計(jì)[J]. 微型電腦應(yīng)用, 2016(32): 15-17.
[4] 戢友. OpenStack開(kāi)源云王者歸來(lái)--云計(jì)算、虛擬化、Nova、Swift、Quantum與Hadoop[M]. 北京: 清華大學(xué)出版社, 2014.
作者簡(jiǎn)介;
游俊慧(1983.11--),女,漢族,廣東佛山人,講師,碩士,主要從事計(jì)算機(jī)教學(xué)