徐蓉
摘要:隨著云技術地不斷發(fā)展,云計算資源與消費者之間的耦合關系限制了各種服務的擴展。為了解決今天云計算的緊密耦合問題,我們提出了超級云的概念,使云計算的配送與供應商及物理資源無關。通過引入Xen覆蓋層的概念,使用戶可以在不修改虛擬機映像的情況下,跨越多個云供應商并且享受更靈活的服務。
關鍵詞:云技術; 超級云;Xen覆蓋層
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)19-0046-02
作為商品化的計算資源,云計算常常會被用來和其他設施模型進行比較,比如電力設施。與電力提供商類似,云供應商也提供大量的計算資源。然而,和電力設施模型不同的是,電力的產(chǎn)生細節(jié)對消費者而言是完全透明的,而云消費者卻必須和供應商的物理設施緊密耦合,而且要遵守不同供應商的各種規(guī)范(如虛擬棧、管理API等)。按實際情況來說,今天的云配送模式類似于十九世紀八十年代后期的直流電配電模式,即與當?shù)氐陌l(fā)電機緊密耦合在一起的。
美國西屋電力公司的通用電力系統(tǒng),是現(xiàn)代電力發(fā)電、配送和商品化的基礎。在這個通用系統(tǒng)中,高電壓轉(zhuǎn)換器將產(chǎn)生的電力轉(zhuǎn)換為不同的電壓,消費者只需要關心電力是否可用。電力如何產(chǎn)生對于消費者是完全透明的,因此電力消費和電力產(chǎn)生的耦合被解除掉了,而這種解耦恰恰是當代電力系統(tǒng)配送及商品化的基礎。我們可以參考這一思路,來建設我們的云基礎設施。
為了解決今天云計算的緊密耦合問題,我們提出了超級云的概念,使云計算的配送與供應商及物理資源無關。從表面上看,超級云的用戶看到的計算資源和目前的云系統(tǒng)是一樣的。但在表象之下,超級云將底層各種云資源轉(zhuǎn)換為統(tǒng)一的抽象層。超級云定義并完全控制整個云協(xié)議棧,使其獨立于提供商的物理設施,從而將用戶與云供應商解耦。
超級云的實現(xiàn)不需要對現(xiàn)存的云系統(tǒng)進行重新設計。在本文中,我們將演示如何在現(xiàn)存的云系統(tǒng)上面來創(chuàng)建超級云,將內(nèi)嵌的虛擬化系統(tǒng)作為平臺,使其類似于電力通用系統(tǒng)中的高電壓轉(zhuǎn)換器。為了達到這個目標,我們設計了一個內(nèi)嵌的半虛擬化管理程序,稱為Xen1覆蓋層,它可以運行在不同供應商之上,使超級云跨越不同的云系統(tǒng)。因此,一個超級云可以管理客戶端的虛擬機(VM),使其獨立于供應商的虛擬棧,從而跨越不同的計算資源。例如,一個超級云可以使VM在提供商之間在線遷移,同時它可以運行任何的云管理棧,包括OpenStack, Eucalyptus,甚至是完全自定義的棧。
1 超級云的設計
1.1 云計算的通用系統(tǒng)
通用系統(tǒng)中的資源設施模型,比如電力設施,包括三個獨立的角色:發(fā)電,配送,消費。在最末端,發(fā)電機提供資源。配送商把不同發(fā)電器產(chǎn)生的原始資源作為商品,生成服務。最后消費者與配送商提供的服務交互,從而使用這些資源。
IaaS云所使用的普遍模型只有兩個實體:一個云供應商和一個云使用者。這種情況是將云看成一個公共設施,云供應商扮演著發(fā)電機的角色,并將計算資源提供給虛擬機,云使用者扮演著消費者的角色。
在今天的云環(huán)境中,配送的角色可能由云供應商或第三方機構扮演,但兩種情況都有局限。一些云供應商既充當發(fā)電機又充當配送商。他們完全控制著物理資源,可以實現(xiàn)大量的產(chǎn)品作為服務提供給用戶。然而,這些產(chǎn)品本質(zhì)上是與單個供應商捆綁,因此阻止了配送服務跨越不同供應商,比如供應商失敗容差。作為另一種方案,第三方供應商(如RightScale)可以扮演配送的角色。通過與多個云供應商交互,他們提供云服務和管理產(chǎn)品。然而,這些第三方供應商缺乏對云供應商平臺的控制,最終他們無法提供虛擬機遷移,CPU突發(fā),透明虛擬機容錯等服務。
今天的云模型缺乏一個強健的方法來創(chuàng)建云分配器。這樣的分配器應該可以從不同云供應商那里消費資源,同時保持對這些資源的控制。換而言之,所缺乏的是一個分配層,可以將云發(fā)電機和云消費者解耦。超級云所完成的就是這個角色,它將云供應商看作可互換的發(fā)電機。超級云可以為計算資源在不同云供應商之間提供價格策略和現(xiàn)貨市場,在供應商之間復制虛擬機,并且簡化管理。
1.2 挑戰(zhàn)和要求
IaaS2云供應商是相異的,他們的服務與物理資源緊密耦合。為了成為獨立的分配器,一個超級云必須包含一個轉(zhuǎn)換器或者一種徹底從物理設備解耦資源的機制-包括計算,網(wǎng)絡和存儲。第一步,我們集中考慮從物理設施解耦計算資源。在IaaS云中,計算在兩方面與云供應商捆綁,必須使用轉(zhuǎn)換器來解耦。
第一,運行在一個云供應商上的虛擬機映像很難在不同的云上面實例化。例如,EC23和Rackspace4使用不同的映像格式,分別是AMI和OVF。虛擬機使用的半虛擬化設備接口都是相似地多樣化,EC2和Rackspace上的虛擬機分別使用Xen和virtio。一個超級云需要從不同的云供應商那里將計算資源作為商品來使用,因此必須將虛擬機映像格式從供應商那里解耦。
第二,IaaS提供給虛擬機的服務也是多樣化的。例如,Amazon EC2提供云監(jiān)控服務, 自動擴縮容量, 和負載均衡,而Rackspace支持虛擬機遷移來抗衡服務器主機降級,同時支持CPU突發(fā)來向其他實例借用周期。由于運行在管理層上的工具無法被獲取,沒有統(tǒng)一格式的工具可以讓用戶在物理設備上定義虛擬機,虛擬機之間的頁面共享,或資源的超額認購。超級云必須以云提供商欠缺的功能來增強服務,而且使這些服務在不同的云資源之間無縫連接。
2 建立超級云
Xen覆蓋層是一個內(nèi)嵌的虛擬化系統(tǒng),超級云的核心部分利用這個覆蓋層將任意一個由供應商定義的虛擬機實例轉(zhuǎn)換為一個統(tǒng)一的,基于分配器的實例。如圖1所示,虛擬機實例中的內(nèi)嵌虛擬系統(tǒng)包含了兩層管理程序。在這個模型中,提供商繼續(xù)擁有第一層的管理程序,而超級云擁有第二層管理程序。同時,在這個模型中,不同的超級云(即不同的分配商)可以共存。
Xen覆蓋層主要包含兩層。第一,上層為超級云用戶提供了一個超級云控制的虛擬機接口和工具包,使客戶端的虛擬機映像在不修改的情況下可以運行在任何供應商設施之上。第二,下層與底層通信管理程序接口,它根據(jù)不同的供應商變化,這樣底層的管理程序就不需要任何改變。
Xen覆蓋層的下層保障超級云可以跨越不同的云系統(tǒng),而不必對底層的云系統(tǒng)或管理程序進行修改。假設云供應商支持X86系統(tǒng)上的硬件輔助虛擬技術,但我們不能模擬設備的I/O接口,因此覆蓋層的管理程序必須知道底層管理程序以及并行虛擬I/O接口。Xen覆蓋層與各種不同的底層設備的并行虛擬接口對接。設備并行虛擬接口對于運行性能是必不可少的,但現(xiàn)在仍然沒有統(tǒng)一的標準存在。Xen覆蓋層如果要支持非標準的接口,則必須修改下層使其包含特定的覆蓋層驅(qū)動。
Xen覆蓋層將供應商特定的虛擬機映像格式進行轉(zhuǎn)換,并將管理程序環(huán)境轉(zhuǎn)換為一個通用的格式。然而,超級云如果要將云供應商與消費者完全解耦,則必須對供應商的基礎設施進行解耦。特別地,一個超級云必須提供統(tǒng)一的機制將虛擬機安置在網(wǎng)絡上,同時還要和存儲設備進行交互。
云供應商提供一個虛擬網(wǎng)絡抽象層來將網(wǎng)絡地址與云基礎設施解耦。例如,亞馬遜的VPC(虛擬私有云)允許用戶將他們的虛擬網(wǎng)絡延伸到云系統(tǒng)中。在消除了技術地址的挑戰(zhàn)后,超級云還需要完善一個策略,即使虛擬機可以在不同的供應商之間切換,但彼此之間通信頻繁的虛擬機仍然留在同一個云系統(tǒng)上。
網(wǎng)絡地址問題的解決使得虛擬機可以從超級云系統(tǒng)內(nèi)部的任何位置訪問存儲設備。但如果虛擬機訪問的是另一個云系統(tǒng)的存儲設備會使性能降低。超級云可以采用緩沖和復制的技術,并且在存儲成本和傳輸數(shù)據(jù)之間取得一個性能上的平衡,甚至可以考慮在不同的供應商之間使用類似于RAID的技術。
3 總結
通過Xen覆蓋層,超級云可以控制管理層以實現(xiàn)豐富的云服務。并且,Xen覆蓋層不需要修改現(xiàn)在的云供應商設施,所以超級云的實現(xiàn)是現(xiàn)實可行的。在未來,超級云可以跨越多個供應商,提供完備的管理協(xié)議棧,革新和實驗性的云服務,并為特定的應用提供定制特征。
注解:
1.Xen 是一個開放源代碼虛擬機監(jiān)視器,由劍橋大學開發(fā)。Xen無需特殊硬件支持,就能達到高性能的虛擬化。
2.Infrastructure as a Service,基礎設施即服務,消費者通過Internet可以從完善的計算機基礎設施獲得服務。
3.(EC2,Elastic Compute Cloud)-亞馬遜彈性計算云,是一個讓使用者可以租用云端電腦運行所需應用的系統(tǒng)。
4.Rackspace是全球三大云計算中心之一,1998年成立,是一家全球領先的托管服務器及云計算提供商,公司總部位于美國,在英國,澳大利亞,瑞士,荷蘭及香港設有分部。
參考文獻:
[1] J.Jones,Empires of Light: Edison, Tesla, Westing house,and the Race to Electrify the World, Random House,2004.
[2] P.Mell and T.Grance,The NIST Definition of Cloud Computing,Special Publication 800-145, US Natl Inst.Standards and Technology,Sept,2011.
[3] H. Abu-Libdeh,L Princehouse,and H.Weatherspoon,RACS:A Case for Cloud Storage Diversity,” Proc.ACM Symp.Cloud Computing,ACM,2010:229-240.
[4] 陳全,鄧倩妮.云計算及其關鍵技術[J].計算機應用,2009,29(9):2562-2564.