馬騰
摘要摘要:當(dāng)前云計算己成為IT研究的熱點問題之一,云計算是為應(yīng)對企業(yè)對數(shù)據(jù)中心的處理能力要求不斷提高而出現(xiàn)的。為實現(xiàn)計算資源的高利用率,企業(yè)需要構(gòu)建自己的基于虛擬化技術(shù)的私有云平臺。虛擬化技術(shù)、數(shù)據(jù)存儲以及資源管理技術(shù)是構(gòu)建云平臺所需的關(guān)鍵技術(shù)。CloudStack是一個開源的IaaS云平臺,通過對其架構(gòu)進(jìn)行分析,可以更好地理解云計算。
關(guān)鍵詞關(guān)鍵詞:私有云;利用率;虛擬化; 數(shù)據(jù)存儲; CloudStack
0引言
當(dāng)前云計算已經(jīng)得到了廣泛應(yīng)用,雖然業(yè)界對云計算的許多技術(shù)標(biāo)準(zhǔn)尚未統(tǒng)一,但各大互聯(lián)網(wǎng)公司都投入了大量人力物力到云計算研究領(lǐng)域。虛擬化、大數(shù)據(jù)存儲等技術(shù)的成熟、互聯(lián)網(wǎng)的普及,以及創(chuàng)新型軟件公司的發(fā)展,是促成云計算出現(xiàn)的主要因素。云計算是一種服務(wù)模式,是能夠?qū)诰W(wǎng)絡(luò)的、可配置的共享計算資源池(包括網(wǎng)絡(luò)、物理機(jī)存儲、應(yīng)用和服務(wù)等)進(jìn)行方便、隨需訪問的一種模式[1]。云計算平臺的出現(xiàn),使計算資源像水和電一樣能被普通用戶所使用。因此,該技術(shù)的出現(xiàn)無疑會給廣大企業(yè)帶來巨大收益?,F(xiàn)在,已經(jīng)有許多公司推出了商用的云計算平臺,例如亞馬遜的EC2[2]、谷歌的AppEngine[3],以及微軟的Azure[4]等。根據(jù)云計算服務(wù)層次的不同,可以分為基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。如今,基于IaaS的云平臺軟件如CloudStack、OpenStack、Eucalyptus等,在世界各地?fù)碛写罅恐С终?。其中,CloudStack已成功進(jìn)行了商業(yè)應(yīng)用。本文基于CloudStack對云計算平臺的相關(guān)技術(shù)進(jìn)行研究。
1云計算關(guān)鍵技術(shù)分析
1.1虛擬化技術(shù)
云計算的核心技術(shù)之一是虛擬化(virtualization)技術(shù),它是充分整合和高效利用
各種計算及存儲資源的關(guān)鍵技術(shù)。虛擬化是資源的邏輯表示,其不受物理限制。在云平臺中,最底層的物理資源通過虛擬化技術(shù)抽象成邏輯上的計算資源,從而將分散在不同物理機(jī)上的計算資源從邏輯上聚集到一個“資源池”中,各種物理和虛擬計算資源根據(jù)用戶需要被動態(tài)地分配和再分配給用戶,資源池的計算資源與位置無關(guān),用戶不知道自己所使用的計算資源來自哪里。用戶也可以在更高層次的計算資源抽象層指定資源位置。虛擬化技術(shù)降低了資源使用者與具體實現(xiàn)之間的耦合程度,讓使用者不再依賴于資源的某種特定實現(xiàn),使用者可以更加關(guān)注業(yè)務(wù)。
虛擬化技術(shù)按照虛擬設(shè)備類別可以分為服務(wù)器虛擬化、存儲系統(tǒng)虛擬化、網(wǎng)絡(luò)虛擬化?;贗aaS的云平臺虛擬化主要涉及到服務(wù)器虛擬化技術(shù)。服務(wù)器虛擬化包括對3種硬件資源的虛擬化,即CPU虛擬化、內(nèi)存虛擬化、設(shè)備與輸入輸出虛擬化。云平臺通過虛擬化技術(shù)可以將一臺物理計算機(jī)模擬成多臺虛擬計算機(jī),然后通過云平臺統(tǒng)一管理和使用這些計算資源。這些虛擬出來的計算機(jī)從用戶角度來看和真正的物理計算機(jī)一樣,可以在其上進(jìn)行各種操作。通過使用虛擬化技術(shù)在物理計算機(jī)上建立虛擬機(jī),能夠提高硬件使用效率,大大降低了硬件的采購成本和管理維護(hù)成本。典型的云計算平臺的虛擬化架構(gòu)如圖1所示。
在搭建云計算平臺時,基于虛擬化技術(shù)搭建的云平臺有著相當(dāng)大的優(yōu)勢,體現(xiàn)在以下幾個方面:
(1) 易伸縮性??缮炜s性是指系統(tǒng)通過對計算資源的合理調(diào)整應(yīng)對負(fù)載變化的特性,以此保持性能的一致性?;谔摂M化技術(shù)的云計算平臺能夠通過虛擬化技術(shù)對計算資源進(jìn)行更加快速、靈活的動態(tài)調(diào)整,從而易于實現(xiàn)系統(tǒng)的可伸縮性。
(2) 高可用性??捎眯灾赶到y(tǒng)在一段時間內(nèi)正常工作的時間與總時間之比。在云計算環(huán)境中,節(jié)點失效是比較常見的情況,所以需要一定機(jī)制保證系統(tǒng)能夠從故障中恢復(fù)過來。基于虛擬化技術(shù)的云計算平臺可以借助于虛擬機(jī)的快速部署和實時遷移等優(yōu)點,方便、快捷地提高系統(tǒng)的可用性。
(3) 負(fù)載均衡。在云計算平臺上,有時某個節(jié)點的負(fù)載特別高,而其它節(jié)點負(fù)載過低。采用虛擬化技術(shù),能夠動態(tài)地將高負(fù)載節(jié)點上的部分虛擬機(jī)實時遷移到低負(fù)載節(jié)點上去,從而使整個系統(tǒng)負(fù)載達(dá)到均衡,也保證了上層應(yīng)用的使用性能。
(4) 提高資源利用效率?;谔摂M化技術(shù)的云平臺能夠?qū)⒍鄠€低負(fù)載的虛擬機(jī)合并到同一個物理節(jié)點上,并且關(guān)閉其它空閑的物理節(jié)點,從而大大提高資源利用率,同時還能達(dá)到降低系統(tǒng)能耗的目的。
1.2數(shù)據(jù)存儲技術(shù)
云計算平臺數(shù)據(jù)中心由大量服務(wù)器組成,同時為大量用戶提供服務(wù),因此云計算系統(tǒng)采用分布式存儲方式存儲數(shù)據(jù),用冗余存儲的方式保證數(shù)據(jù)可靠性。冗余方式通過任務(wù)分解和集群,用低配機(jī)器替代超級計算機(jī)的性能以保證低成本,這種方式保證分布式數(shù)據(jù)的高可用、高可靠和經(jīng)濟(jì)性,即為同一份數(shù)據(jù)存儲多個副本。云計算中使用的存儲技術(shù)主要有谷歌的非開源的GFS(Google File System)和Hadoop開發(fā)團(tuán)隊開發(fā)的GFS的開源實現(xiàn)HDFS(Hadoop Distributed File System)。
1.3資源管理技術(shù)
由于云平臺將底層大量物理服務(wù)器中的計算資源進(jìn)行虛擬化,抽象化成虛擬的計算資源池,并對此資源池進(jìn)行管理和維護(hù)。而且,由于底層服務(wù)器還可能分布在不同地點,統(tǒng)一管理云平臺數(shù)據(jù)中心中的計算資源則顯得尤為重要。同時,在云計算平臺中還需要對計算資源進(jìn)行實時監(jiān)控,這是保證云平臺運營流程化、自動化、標(biāo)準(zhǔn)化的關(guān)鍵模塊之一,主要包括故障監(jiān)控、性能監(jiān)控等內(nèi)容。在云計算平臺中,資源調(diào)度是通過自動化部署將底層計算資源交付給上層應(yīng)用,用戶申請使用資源可通過云平臺的資源管理技術(shù)自動實現(xiàn),不需要用戶參與。由此可以看出,云計算系統(tǒng)的平臺管理技術(shù)能夠使大量服務(wù)器協(xié)同工作,方便地進(jìn)行業(yè)務(wù)部署和開通,快速發(fā)現(xiàn)和恢復(fù)系統(tǒng)故障,通過自動化、智能化的手段實現(xiàn)大規(guī)模系統(tǒng)的可靠運營。
2CloudStack云平臺技術(shù)分析
2.1CloudStack架構(gòu)分析
CloudStack是Apache 基金會下的一個項目,CloudStack是一個開源的具有高可用性及擴(kuò)展性的云計算平臺。目前已經(jīng)成功進(jìn)行了商業(yè)應(yīng)用,CloudStack擁有許多商用客戶,包括GoDaddy、英國電信、日本電報電話公司、塔塔集團(tuán)、韓國電信等。
CloudStack構(gòu)建的私有云平臺中包括管理節(jié)點和主機(jī)節(jié)點。CloudStack的組織架構(gòu)如圖2所示。管理節(jié)點管理一個或多個Zone(通常含主機(jī)、數(shù)據(jù)中心)。主機(jī)節(jié)點是CloudStack云平臺中最基本的單位,即運行虛擬機(jī)(VM)的主機(jī)。一個Cluster包括一個或多個同類型的主機(jī)節(jié)點(Hypervisor),在同一個Cluster中的所有主機(jī)節(jié)點可以訪問Shared (Primary) Storage(共享存儲/主存儲)。一個Pod中的機(jī)器在同一個子網(wǎng)(網(wǎng)段)中,其包括若干個Cluster。一個或多個Pod通過3次交換機(jī)構(gòu)成一個Zone,Zone中可以訪問Secondary Storage(二級存儲)。Zone對應(yīng)于現(xiàn)實中的一個數(shù)據(jù)中心,它是云平臺中最大的一個單元,一個或者多個Zone表示一個“云”。即從包含關(guān)系上而言,一個 Zone 包含多個Pod,一個Pod 包含多個Cluster,一個Cluster 包含多個Host。
2.2存儲架構(gòu)分析
出于對性能及總擁有成本考慮,云平臺中把存儲分成兩類:一級存儲和二級存儲。
一級存儲在Cluster級進(jìn)行配置,與主機(jī)節(jié)點連接,用來存儲虛擬機(jī)實例所有的磁盤卷,供虛擬機(jī)運行時使用。在同一個Cluster內(nèi)所有主機(jī)節(jié)點都可以訪問配置在該Cluster內(nèi)的一級存儲,而一個Cluster可以包含一個或多個一級存儲。一級存儲要支持存儲分級功能。對于主存儲,CloudStack云平臺支持NFS、iSCS、Fiber Channel 和Local Disk。
二級存儲在Zone級進(jìn)行配置,一個Zone可以包含一個或多個二級存儲。二級存儲用來存儲系統(tǒng)模板、ISO、快照等數(shù)據(jù),其存儲的數(shù)據(jù)較大,因此需要較大容量。二級存儲支持NFS以及OpenStack Swift。CloudStack云平臺管理節(jié)點用來提供對一級存儲及二級存儲的綜合管理、配置及使用功能,兩種存儲在CloudStack中的關(guān)系如圖3所示。
其中,模板為可以啟動虛擬機(jī)的操作系統(tǒng)鏡像,也包括諸如已安裝應(yīng)用的其余配置信息;ISO 鏡像為包含操作系統(tǒng)數(shù)據(jù)或啟動媒質(zhì)的磁盤鏡像;磁盤卷快照為虛擬機(jī)數(shù)據(jù)的已儲存副本,用于數(shù)據(jù)恢復(fù)或創(chuàng)建新模板。
3結(jié)語
云平臺的使用通過提高企業(yè)的硬件資源利用率來降低企業(yè)成本,此外,還減少了用戶終端的處理負(fù)擔(dān),使用戶只需通過互聯(lián)網(wǎng)即可隨時隨地獲得服務(wù)。但在云平臺中數(shù)據(jù)的安全性、服務(wù)的可靠性和穩(wěn)定性等方面,云計算還需要繼續(xù)完善。
參考文獻(xiàn)參考文獻(xiàn):
[1]MELL P,GRANCE T.The NIST definition of cloud computing[J].National Institute of Standards and Technology,2011.
[2]EC2[EB/OL].http://aws.amazon.com/ec2/.
[3]AppEngine[EB/OL].http://code.google.com/appengine/.
[4]Azure[EB/OL].http://www.microsoft.com/windowsazure/.
責(zé)任編輯(責(zé)任編輯:黃?。?