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