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