郭 濤,溫少君,楊艷麗,陳俊杰
(1.太原理工大學(xué)信息中心,山西太原 030024;2.太原理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西太原 030024)
隨著 IPv 4地址可分配規(guī)模的逐漸萎縮,云計(jì)算平臺在基礎(chǔ)網(wǎng)絡(luò)架構(gòu)上正面臨著內(nèi)外兩方面的挑戰(zhàn).①隨著互聯(lián)網(wǎng)逐步向 IPv 6過渡,出現(xiàn)了愈來越多的來自 IPv6網(wǎng)絡(luò)的訪問者,其中既包括“云”的直接用戶,也包括“云”所承載的各類應(yīng)用服務(wù)的最終訪問者.由于 IPv 4與 IPv6無法直接互聯(lián)互通,勢必會縮小現(xiàn)有的服務(wù)受眾范圍.②由于 IPv 4地址數(shù)量的限制以及內(nèi)外網(wǎng)地址的轉(zhuǎn)換問題,云計(jì)算平臺中虛擬環(huán)境及基礎(chǔ)設(shè)施的動態(tài)部署規(guī)模、吞吐能力等都受到了一定程度的制約,進(jìn)而影響到整體的計(jì)算與服務(wù)能力.IPv6擁有的巨大的地址資源,能夠?yàn)樵朴?jì)算平臺提供有效的網(wǎng)絡(luò)基礎(chǔ)資源保障.采用 IPv6網(wǎng)絡(luò)為基礎(chǔ)網(wǎng)絡(luò)架構(gòu)被認(rèn)為是云計(jì)算平臺未來發(fā)展的趨勢之一[1].著名的云服務(wù)商 Rackspace已提出了向IPv6過渡的路線圖[2].
美國國家標(biāo)準(zhǔn)與技術(shù)研究院將按需自助、快速彈性等定義為云計(jì)算的必備特征[3].虛擬化及其相關(guān)技術(shù)是目前實(shí)現(xiàn)這些特征的主要技術(shù)之一[4].云計(jì)算平臺需要通過靈活的部署與搭建不同規(guī)模的虛擬機(jī)群來應(yīng)對各異的用戶需求,從而實(shí)現(xiàn)其彈性服務(wù).在部署過程中,虛擬機(jī)群中的每臺虛擬機(jī)通常都需要進(jìn)行環(huán)境配置滿足特定的運(yùn)維需求后,才能進(jìn)入穩(wěn)定服務(wù)狀態(tài).這些環(huán)境配置信息包括個性化信息(例如主機(jī)名、IP地址、默認(rèn)管理員用戶及密碼等)機(jī)群服務(wù)軟件策略、安全策略、訪問策略等.虛擬機(jī)群的環(huán)境配置任務(wù)是其部署過程中的重要環(huán)節(jié).
目前,虛擬機(jī)群在部署過程中的環(huán)境配置方式主要存在的局限有:需要人工參與,不利于大規(guī)模的快速部署[5];環(huán)境信息被硬編碼入虛擬機(jī)鏡像中,缺少對環(huán)境配置的集中管理與控制,變更不靈活[6-7];虛擬機(jī)實(shí)例化后相關(guān)機(jī)群服務(wù)軟件的安裝時(shí)間過長[8-9];虛擬機(jī)的網(wǎng)絡(luò)地址獲取依賴于DHCP服務(wù),但很多主流的操作系統(tǒng)目前并不支持 DHCPv 6客戶端[10].以上這些因素在一定程度上限制了虛擬機(jī)群在基于 IPv6的云計(jì)算平臺上快速部署的實(shí)現(xiàn).
針對上述問題,本文提出了一種基于 IPv6的云計(jì)算平臺虛擬機(jī)群環(huán)境自動配置模型.首先建立預(yù)定制的虛擬機(jī)全鏡像模板庫,當(dāng)部署機(jī)群時(shí),依據(jù)部署策略,選擇、調(diào)度并實(shí)例化虛擬機(jī),實(shí)例化過程中利用 IPv6環(huán)境所特有的無狀態(tài)地址配置機(jī)制獲取網(wǎng)絡(luò)地址,最后由環(huán)境配置代理從環(huán)境配置服務(wù)處獲取環(huán)境信息并自動完成配置任務(wù).為保證環(huán)境配置信息的安全性,采用了非對稱密鑰加密方法.該模型具有自動化、動態(tài)化等特點(diǎn).
本文提出的基于 IPv6的云計(jì)算平臺虛擬機(jī)環(huán)境自動配置模型主要由環(huán)境配置代理,環(huán)境配置服務(wù),部署策略器,調(diào)度器,實(shí)例化器,選擇定制器和 VM鏡像模板庫等幾部分組成.其各組成部分的功能描述如下:
1)環(huán)境配置代理負(fù)責(zé)收集虛擬機(jī)的環(huán)境配置信息,并自動完成相關(guān)的環(huán)境配置任務(wù),使虛擬機(jī) “融入”機(jī)群中.環(huán)境配置代理被預(yù)置在虛擬機(jī)鏡像中,當(dāng)虛擬機(jī)被實(shí)例化加載時(shí)自動運(yùn)行.
2)環(huán)境配置服務(wù)其負(fù)責(zé)虛擬機(jī)環(huán)境配置信息的管理與維護(hù),接收環(huán)境配置代理的請求并為其返回對應(yīng)的虛擬機(jī)環(huán)境配置信息,可作為云計(jì)算平臺中網(wǎng)絡(luò)管理服務(wù)的一個組成部分.
3)部署策略器負(fù)責(zé)維護(hù)部署虛擬機(jī)時(shí)所需要的相關(guān)策略信息.
4)調(diào)度器負(fù)責(zé)依據(jù)相關(guān)部署策略[11],部署與調(diào)度虛擬機(jī).調(diào)度器首先通過選擇定制器從 VM鏡像模板庫中選擇合適的虛擬機(jī)鏡像,然后將其克隆至目標(biāo)節(jié)點(diǎn),最后通知實(shí)例化器將該鏡像實(shí)例化.
5)實(shí)例化器負(fù)責(zé)通過虛擬機(jī)監(jiān)視器實(shí)現(xiàn)虛擬機(jī)鏡像的實(shí)例化及相關(guān)任務(wù).
6)選擇定制器負(fù)責(zé)虛擬機(jī)鏡像的選擇與預(yù)定制管理.選擇定制器接收調(diào)度器的指令,從 VM鏡像模板庫選擇需要部署的虛擬機(jī)鏡像,然后將初始環(huán)境配置文件植入到虛擬機(jī)鏡像中,以供環(huán)境配置代理使用.
7)VM鏡像模板庫負(fù)責(zé)預(yù)定制的各類虛擬機(jī)鏡像模板的管理與維護(hù).
圖1為模型的總體實(shí)現(xiàn)架構(gòu)及各組成部分交互過程.一個典型的環(huán)境自動配置交互過程如下:
1)部署策略器首先根據(jù)部署需求生成一個虛擬機(jī)群的部署策略,部署策略用于描述如何在云計(jì)算平臺部署虛擬機(jī)群,其內(nèi)容包括虛擬機(jī)數(shù)量,每臺虛擬機(jī)的鏡像類型,目標(biāo)節(jié)點(diǎn)要求,環(huán)境配置信息,虛擬機(jī)密鑰對以及 GUID(一個 128位的標(biāo)識符,是每一臺虛擬機(jī)在云計(jì)算平臺中的全局唯一標(biāo)示).部署策略器將生成的部署策略復(fù)制給環(huán)境配置服務(wù)作為云計(jì)算平臺中網(wǎng)絡(luò)管理信息的一部分.
2)部署策略器通知調(diào)度器依照策略來部署虛擬機(jī).
3)調(diào)度器通知選擇定制器選擇并定制部署策略中指定的虛擬機(jī)鏡像.
4)選擇定制器首選從VM鏡像模板庫中選擇適當(dāng)?shù)溺R像模板并為其創(chuàng)建一個副本,然后利用部署策略中的相關(guān)信息生成一個包含有 GUID,密鑰對和環(huán)境配置服務(wù)地址的初始環(huán)境配置文件,使用 Image-Mount的方式[12-14]將其植入副本中,最后將這個副本返回給調(diào)度器.
5)調(diào)度器接收到定制好的虛擬機(jī)鏡像副本后,首先根據(jù)指定的調(diào)度策略選擇適當(dāng)目標(biāo)宿主節(jié)點(diǎn),然后將虛擬機(jī)部署其上并通知實(shí)例化器將鏡像實(shí)例化.
6)實(shí)例化器通過虛擬機(jī)監(jiān)視器實(shí)例化部署的虛擬機(jī)鏡像.
7)虛擬機(jī)在加載和啟動過程中,操作系統(tǒng)的IPv6協(xié)議棧通過無狀態(tài)地址配置機(jī)制自動生成一個 IPv6網(wǎng)絡(luò)地址以接入網(wǎng)絡(luò).
8)環(huán)境配置代理啟動運(yùn)行后連接環(huán)境配置服務(wù),請求對應(yīng)的環(huán)境配置信息,接收并依據(jù)相關(guān)配置信息完成本地環(huán)境配置任務(wù).
虛擬機(jī)群在環(huán)境配置過程中時(shí),其中一個環(huán)節(jié)是在其上安裝相應(yīng)的機(jī)群服務(wù)軟件,這個過程通常會花費(fèi)較長時(shí)間.為解決此問題,本文通過預(yù)先在虛擬機(jī)中安裝不同的應(yīng)用服務(wù)軟件,形成用于不同的目的機(jī)群鏡像模板,例如形成用于數(shù)據(jù)庫,科學(xué)計(jì)算,業(yè)務(wù)系統(tǒng)等多種機(jī)群鏡像模板.當(dāng)需要部署時(shí),根據(jù)預(yù)定的需求,選擇對應(yīng)的鏡像模板進(jìn)行部署即可,從而節(jié)省了軟件的在線安裝時(shí)間.
在預(yù)定制鏡像時(shí)將環(huán)境配置代理程序,IPv6協(xié)議棧等一并置入鏡像模板中.為了使環(huán)境配置代理程序能夠在虛擬機(jī)操作系統(tǒng)系統(tǒng)啟動后即使用戶未登錄的情況下仍然能夠自動運(yùn)行,應(yīng)將其以系統(tǒng)服務(wù)的形式置入,而不能簡單地將其放入用戶環(huán)境的啟動菜單項(xiàng)中.
環(huán)境配置代理被預(yù)先植入虛擬機(jī)鏡像模板中,隨著虛擬機(jī)的操作系統(tǒng)啟動而作為系統(tǒng)服務(wù)運(yùn)行,等待網(wǎng)絡(luò)配置穩(wěn)定后,環(huán)境配置代理首先讀取初始環(huán)境配置文件的相關(guān)信息,并連接預(yù)先指定的配置服務(wù).環(huán)境配置代理通過標(biāo)準(zhǔn)的 HTT P協(xié)議發(fā)送一個包含 GUID標(biāo)識符的請求,代理接收到配置服務(wù)的全部響應(yīng)后,利用虛擬機(jī)的私鑰將環(huán)境配置信息進(jìn)行解密,并以此為依據(jù)完成環(huán)境配置.當(dāng)環(huán)境配置完成后,虛擬機(jī)處于穩(wěn)定運(yùn)行狀態(tài);當(dāng)環(huán)境配置信息發(fā)生變化時(shí),環(huán)境配置服務(wù)會通知虛擬機(jī)上的環(huán)境配置代理重新下載配置信息以完成新的本地環(huán)境配置任務(wù).環(huán)境配置代理程序主要流程實(shí)現(xiàn)如圖 2所示.
實(shí)例化器負(fù)責(zé)通過虛擬機(jī)監(jiān)視器實(shí)現(xiàn)虛擬機(jī)的實(shí)例化等相關(guān)工作.目前常見的虛擬機(jī)監(jiān)視器(例如 VMware,XEN等)都提供了豐富的 API接口,以幫助用戶實(shí)現(xiàn)對虛擬機(jī)的自定義功能.本文采用了封裝的 VIX接口,實(shí)現(xiàn)了虛擬機(jī)的自動實(shí)例化任務(wù).主要實(shí)現(xiàn)流程如圖 3所示.
環(huán)境配置服務(wù)負(fù)責(zé)集中維護(hù)與管理各類環(huán)境配置信息,同時(shí)為環(huán)境配置代理提供所請求的環(huán)境配置信息.當(dāng)環(huán)境配置服務(wù)收到配置代理的請求后,利用 GUID值在環(huán)境信息配置數(shù)據(jù)庫中查找對應(yīng)的配置信息,找到后通過虛擬機(jī)的公鑰對該配置信息進(jìn)行加密,最后將其轉(zhuǎn)發(fā)給環(huán)境配置代理.
環(huán)境配置服務(wù)會為每臺部署的虛擬機(jī)維護(hù)一個 XM L形式的環(huán)境配置信息,其中包含有標(biāo)識信息,個體配置信息,公共配置信息和應(yīng)用軟件配置信息等 4個部分.標(biāo)示信息(對應(yīng) XML文件的 Identifier節(jié))用于描述對應(yīng)虛擬機(jī)的唯一標(biāo)示信息,例如 GUID標(biāo)示符及其公鑰信息.個體配置信息(對應(yīng) XML文件的 Entity Context節(jié))用于描述每臺虛擬機(jī)所特有的基礎(chǔ)環(huán)境配置信息,例如 IP地址(需靜態(tài)綁定時(shí))、主機(jī)名、默認(rèn)的系統(tǒng)管理員用戶名和密碼等.公共配置信息(對應(yīng)XML文件的 PublicContext節(jié))用于描述虛擬機(jī)部署后所處特定環(huán)境所要求的公共配置環(huán)境信息,例如云計(jì)算平臺、虛擬集群或虛擬數(shù)據(jù)中心的統(tǒng)一安全策略等.應(yīng)用服務(wù)軟件配置信息(對應(yīng)XML文件的 AppContext節(jié))用于描述虛擬機(jī)上安裝的主要應(yīng)用服務(wù)軟件的環(huán)境配置信息,例如HTTP服務(wù)的配置信息等.
虛擬機(jī)在加載實(shí)例化后如何獲取網(wǎng)絡(luò)地址以接入網(wǎng)絡(luò)是實(shí)現(xiàn)環(huán)境自動配置的一個重要步驟.現(xiàn)有方法主要是通過在網(wǎng)絡(luò)中部署 DHCP服務(wù)來實(shí)現(xiàn),但這種方式在 IPv6網(wǎng)絡(luò)中的局限是:一方面增加了平臺的部署維護(hù)成本及發(fā)生單點(diǎn)故障的概率,另一方面目前很多主流操作系統(tǒng)并不支持DHCPv6客戶端,從而限制了可用于部署的虛擬機(jī)種類.為此本文采用了無狀態(tài)地址配置機(jī)制[15]來使虛擬機(jī)獲取網(wǎng)絡(luò)地址.
為驗(yàn)證上述研究的可用性和有效性,本文作者進(jìn)行了相關(guān)實(shí)驗(yàn).實(shí)驗(yàn)環(huán)境由 11臺機(jī)架式服務(wù)器組成,配置均為 2顆 AMD Opteron 2378 CPU,共 8核心,32 G內(nèi)存,512 G SAT A硬盤.所有服務(wù)器通過一個千兆交換機(jī)相連,交換機(jī)再與一個 Cisco 12008 IPv 6路由器連接.整個實(shí)驗(yàn)網(wǎng)絡(luò)采用 IPv6協(xié)議.將自行開發(fā)的環(huán)境配置服務(wù),部署策略器,調(diào)度器,選擇定制器和 VM鏡像模板庫等部署在其中 1臺服務(wù)器上,另外 10臺服務(wù)器作為宿主機(jī),部署有實(shí)例化器,并采用 VMware Server 2作為虛擬機(jī)監(jiān)視器.
實(shí)驗(yàn)中,作者分別對同時(shí)部署 10,20,50,100臺規(guī)模虛擬機(jī)群的情況進(jìn)行了測試,觀察部署過程中虛擬機(jī)進(jìn)行環(huán)境自動配置所花費(fèi)的時(shí)間消耗,評估其對整個部署時(shí)間的影響.實(shí)驗(yàn)中采用了平均調(diào)度策略來部署虛擬機(jī)群,即將指定數(shù)量的虛擬機(jī)平均部署在每臺宿主機(jī)上.其中的平均部署時(shí)間(ADT)是指虛擬機(jī)群中單臺虛擬機(jī)從部署開始到部署完成以后,虛擬機(jī)操作系統(tǒng)正常啟動并且處于穩(wěn)定狀態(tài)所花費(fèi)的平均時(shí)間消耗;平均配置時(shí)間(ACT)是指虛擬機(jī)群中單臺虛擬機(jī)從開始自動配置到配置完成所花費(fèi)的平均時(shí)間消耗.
圖4和圖 5分別為虛擬機(jī)容量為1GB與2GB時(shí)的實(shí)驗(yàn)結(jié)果.從圖4和圖5中可以看出,隨著虛擬機(jī)部署規(guī)模的不斷擴(kuò)大,單臺虛擬機(jī)的平均部署時(shí)間會出現(xiàn)明顯地變化,但平均配置時(shí)間的變化則基本趨于平穩(wěn),約占其部署時(shí)間的 10%以內(nèi),對部署過程整體時(shí)間消耗影響較小.
圖4 容量為1GB的虛擬機(jī)不同部署規(guī)模下平均部署與配置時(shí)間Fig.4 Diag ram of ADT and AV T in different task scale with1GB of V M
圖5 容量為2GB的虛擬機(jī)在不同部署規(guī)模下平均部署與配置時(shí)間Fig.5 Diagram of ADT and AV T in different task scale with 2 GB of VM
云計(jì)算平臺的快速彈性特征使其區(qū)別是傳統(tǒng)的數(shù)據(jù)中心平臺.本文提出了基于 IPv6的云計(jì)算平臺虛擬機(jī)群環(huán)境自動配置模型,該模型實(shí)現(xiàn)了虛擬機(jī)群在 IPv6網(wǎng)絡(luò)中部署時(shí)的環(huán)境自動配置過程,避免了現(xiàn)有環(huán)境配置方法的局限,提高了虛擬機(jī)群的彈性部署能力.相關(guān)實(shí)驗(yàn)驗(yàn)證了其可用性和有效性.目前,作者針對 VMware Server
虛擬機(jī)監(jiān)視器實(shí)現(xiàn)了相關(guān)功能,下一步的工作是逐步擴(kuò)展到 XEN等更多類型虛擬機(jī)監(jiān)視器,使該模型適用于不同的虛擬環(huán)境.
[1]Rings T,Caryer G,Gallop J,et al.Opportunities for integration with the next generation network[J].Journal of Grid Computing,2010,7(3):375-393.
[2]Ackley J. Rackspace is Gearing Up for IPv6[EB/OL].http://www.rackspace.com/cloud/blog/2010/12/20/rackspace-is-gearing-up-for-ipv6/.
[3]Mell P,Grance T.SP 800-145,The N IST Definition of Cloud Computing[S].U.S.:National Institute of Standards and Technology,2011.
[4]Buyya R,Yeo C S.Cloud computing and emerging IT platforms:Vision,hype,and reality for delivering computing as the 5th utility[J].Future Generation Computer Systems,2009,25(9):599-616.
[5]Milojicic′D,Llorente I M,Montero R S.OpenNebula:A cloud management tool[J].Internet Computing,2011,5(2):11.
[6]Bradshaw R,Desai N,Freeman T,et al.A scalable approach to deploying and managing appliances[C].Teragrid Conference,2007:2121-2122.
[7]Keahey,K,Freeman T.Contextualization:providing one-click virtual clusters [C]. IEEE Fourth International Science Conference,2008:301-308.
[8]Djemame A,Ziegler K.Towards a contextualization solution forcloud platform services. cloud[C].Computing Technology and Science Conference,2011:328-331.
[9]KrsulI,Ganguly A, Zhang J. Providingand managing virtual machine execution environments for grid computing[C]. Proceedings of the 2004 ACM/IEEE Conference on Super Computing,2004:100-101.
[10]Lombardi F,Pietro R D.Secure virtualization for cloud computing[J]. JournalofNetwork and Computer Applications,2010,7(11):9-10.
[11]劉媛媛,高慶一,陳陽.虛擬計(jì)算環(huán)境下虛擬機(jī)資源負(fù)載均衡方法 [J].計(jì)算機(jī)工程,2010,36(16):1-32.Liu Yuanyuan, Gao Qingyi,Chen Yang. Load balancing method forvirtual machineresourin virtual computing environment[J]. Computer Engineering,2010,36(16):1-32.(in Chinese)
[12]Vari I.Mount and Access Files Residing on Xen Virtual Machines[EB/OL].[2007-8-8].http://www.novell.com/coolsolutions/tip/19568.html.
[13]VMware.VM wareDisk MountUtility User's Manual[EB /OL].[2008-9-15].http://www.vmware.com/pdf/VMwareDiskMount.pdf.
[14]Burd S D,Gaillard G,Rooney E,et al.Virtual computing laboratories using VMware lab manager[C].44th Hawaii International Conference System Sciences,2011:1-9.
[15]Thomson S,Narten T. IETF RFC1971.IPv6 Stateless Address Auto-configuration[S]. USA:Network Working Group,1996.