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