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