楊斐
(阜陽職業(yè)技術(shù)學(xué)院工程科技學(xué)院,安徽阜陽236031)
基于Xen的虛擬機(jī)動態(tài)遷移技術(shù)研究
楊斐
(阜陽職業(yè)技術(shù)學(xué)院工程科技學(xué)院,安徽阜陽236031)
Xen是一種開源的虛擬化軟件,在虛擬機(jī)動態(tài)遷移技術(shù)領(lǐng)域有著廣泛的應(yīng)用.在分析了Xen虛擬機(jī)動態(tài)遷移技術(shù)原理及遷移架構(gòu)的基礎(chǔ)上設(shè)計并開展相關(guān)實驗,將實驗結(jié)果中不同負(fù)載情況對遷移性能的影響做了對比分析后發(fā)現(xiàn)Xen能夠較好的完成虛擬機(jī)在線遷移工作,為虛擬環(huán)境下的服務(wù)器負(fù)載平衡提供了保障.
Xen;云計算;虛擬機(jī);動態(tài)遷移
隨著云計算時代的來臨,出現(xiàn)了大量由服務(wù)器端集中提供,對不同用戶保持獨立的虛擬化的資源.這些資源與具體的硬件特征無關(guān),從而降低對使用者的影響.
為了加快這些資源的響應(yīng)時間,提高服務(wù)質(zhì)量,需要在云環(huán)境下通過負(fù)載均衡將計算任務(wù)分?jǐn)偟蕉鄠€資源中執(zhí)行.虛擬化技術(shù)的進(jìn)步使得系統(tǒng)和各種計算任務(wù)在不同的虛擬化平臺之間進(jìn)行分?jǐn)傔w移時變得更加簡單和高效.虛擬機(jī)動態(tài)遷移技術(shù)是虛擬化技術(shù)的一個非常重要的內(nèi)容,通過這項技術(shù)可以實現(xiàn)服務(wù)無縫地在不同的計算資源之間流動.虛擬機(jī)動態(tài)遷移技術(shù)被用于容災(zāi)備份、負(fù)載均衡、服務(wù)器資源整合等多個領(lǐng)域,體現(xiàn)出其良好的商業(yè)價值[1].開源的Xen提供了較好的虛擬機(jī)遷移技術(shù).
圖1 動態(tài)遷移原理
1.1 虛擬機(jī)動態(tài)遷移的概念
虛擬機(jī)的動態(tài)遷移,是指將某個宿主機(jī)硬件平臺上處于運(yùn)行狀態(tài)的虛擬機(jī)1的運(yùn)行狀態(tài)封裝起來后完整、快速地遷移到另外一個宿主機(jī)硬件平臺上,從而形成一個新的虛擬機(jī)2[2].這個過程是內(nèi)存信息的移交與轉(zhuǎn)換的過程,響應(yīng)時間短,并且在遷移過程中虛擬機(jī)始終保持連續(xù)的工作狀態(tài),對用戶是透明的,幾乎不會對用戶的服務(wù)質(zhì)量造成影響.
1.2 虛擬機(jī)動態(tài)遷移的原理
虛擬機(jī)動態(tài)遷移在VMM(虛擬機(jī)監(jiān)控器)的協(xié)助下,由源主機(jī)、目標(biāo)主機(jī)以及VMM相互配合,完成客戶操作系統(tǒng)的內(nèi)存和其他狀態(tài)信息的復(fù)制.動態(tài)遷移開始以后,內(nèi)存頁面被不斷的從源虛擬機(jī)VMM拷貝到目標(biāo)VMM.這個過程不會對源虛擬機(jī)造成任何影響,源虛擬機(jī)仍然處于正常運(yùn)行狀態(tài)中.當(dāng)最后一部分內(nèi)存頁面被拷貝到目標(biāo)VMM之后,目標(biāo)虛擬機(jī)開始運(yùn)行,VMM將源虛擬機(jī)與目標(biāo)虛擬機(jī)進(jìn)行切換,源虛擬機(jī)停止運(yùn)行,整個動態(tài)遷移過程結(jié)束[2].
在遷移過程中,需要向目標(biāo)主機(jī)源源不斷地發(fā)送源虛擬機(jī)各種實時的狀態(tài)信息.源主機(jī)的CPU狀態(tài)信息量很少,可在停機(jī)拷貝時一次性發(fā)給目標(biāo)主機(jī).虛擬機(jī)內(nèi)存則循環(huán)迭代的將每輪拷貝后產(chǎn)生的臟頁發(fā)送給目標(biāo)主機(jī),因此如果源虛擬機(jī)內(nèi)存負(fù)載較大時,產(chǎn)生的臟頁就會越多,將會延長遷移所需的時間[1].源虛擬機(jī)的磁盤中存儲著整個虛擬機(jī)文件系統(tǒng)的鏡像,規(guī)模較大,如果直接遷移,將會是一個非常耗費(fèi)時間和占用網(wǎng)絡(luò)帶寬的過程.Xen采用NFS(網(wǎng)絡(luò)文件系統(tǒng))存儲磁盤文件,并在網(wǎng)絡(luò)中共享這些文件,而不是直接遷移.網(wǎng)絡(luò)狀態(tài)也是遷移過程中非常重要的狀態(tài)信息,諸如網(wǎng)絡(luò)連接狀態(tài)和IP地址等,通過ARP廣播可以完成與目標(biāo)主機(jī)MAC地址的重新綁定,保證網(wǎng)絡(luò)始終處于連通狀態(tài).
1.3 虛擬機(jī)動態(tài)遷移的性能指標(biāo)
影響虛擬機(jī)動態(tài)遷移性能的因素主要有兩個:宕機(jī)時間和遷移總時間[3].
宕機(jī)時間是指在遷移過程中源虛擬機(jī)和目的虛擬機(jī)停止服務(wù)中斷運(yùn)行的時間.遷移總時間是指從遷移過程開始到結(jié)束所經(jīng)歷的時間.理想的遷移過程應(yīng)該是盡量縮短宕機(jī)時間和和遷移總時間,使源虛擬機(jī)上運(yùn)行服務(wù)受到的影響降至最低.
2.1 Xen遷移架構(gòu)
Xen是基于GPL授權(quán)方式的開源虛擬機(jī)軟件.從技術(shù)角度來說,Xen屬于混合模型.在這種模型下,VMM將大部分I/O設(shè)備控制權(quán)交給一個運(yùn)行在特權(quán)虛擬機(jī)中的特權(quán)操作系統(tǒng)(Domain0)來控制.Xen通過修改Linux內(nèi)核實現(xiàn)處理器和內(nèi)存的虛擬化,采用分離設(shè)備驅(qū)動模型來實現(xiàn)I/O虛擬化,由位于DomU(非特權(quán)虛擬域)的前端驅(qū)動和運(yùn)行在Dom0(特權(quán)虛擬域)的后端驅(qū)動組成,前端驅(qū)動與后端驅(qū)動通過共享內(nèi)存和事件通道的方式建立通信,最后后端驅(qū)動再通過原始設(shè)備驅(qū)動程序訪問物理設(shè)備[4].Xen虛擬機(jī)的性能接近物理機(jī).
圖2 動態(tài)遷移架構(gòu)
2.2 環(huán)境搭建及實驗過程
為了驗證Xen的動態(tài)遷移架構(gòu)以及不同負(fù)載條件下動態(tài)遷移的性能指標(biāo)特征的變化,設(shè)計了以下實驗.實驗中需要局域網(wǎng)環(huán)境下處于同一網(wǎng)段的三臺物理機(jī)器(都支持Intel Vt-x),兩臺用作客戶端,一臺作為NFS服務(wù)器,為遷移過程提供網(wǎng)絡(luò)共享存儲.
表1 實驗設(shè)備配置信息
實驗過程按如下步驟進(jìn)行:
(1)修改三臺主機(jī)的/etc/xen/xend-config.sxp文件,確保開啟動態(tài)遷移服務(wù),因為它們默認(rèn)是關(guān)閉的.
(Xend-relocation-Server Yes)
(Xend-relocation-port 8002)
(Xend-relocation-address'')
(Xend-relocation-hosts-allow'').
(2)執(zhí)行命令#sudoapt-get install nfs-kernel-server為三臺主機(jī)安裝NFS服務(wù).
(3)執(zhí)行命令sudo gedit/etc/exports修改配置文件,添加語句:
/var/lib/libvirt/images*(rw,sync,no_root_squash).
完成后使用命令#sudo/etc/init.d/nfs-kernel-server restart重啟NFS服務(wù)器.
(4)修改源主機(jī)和目標(biāo)主機(jī)共享存儲目錄,使它們指向HostC中的公共存儲區(qū):sudo mount 192.168.1.60:/ var/lib/libvirt/images/var/lib/libvirt/images.
(5)在HostC上創(chuàng)建一個源虛擬機(jī)VM1,在源主機(jī)HostA上恢復(fù)出VM1.
(6)執(zhí)行命令sudoxm migrate-l vm1 192.168.1.55,將VM1從HostA遷移至HostB中.
2.3實驗結(jié)果及性能分析
實驗分四組進(jìn)行,第一組實驗遷移過程中被遷移虛擬機(jī)VM1沒有啟動任何的服務(wù),CPU負(fù)載很小,內(nèi)存中臟頁量很低.第二組實驗遷移的進(jìn)行的同時,在源虛擬機(jī)中運(yùn)行一個需要大量占用CPU資源,同時對I/ O需求比較低的應(yīng)用7-Zip來壓縮一個大文件,保持CPU處于較高的利用率從而模擬CPU密集負(fù)載的情況.此時內(nèi)存中臟頁量升高,遷移過程中循環(huán)迭代拷貝內(nèi)存頁的次數(shù)也迅速增加.第三組實驗在被遷移虛擬機(jī)上運(yùn)行一個用C編寫的小的測試程序,通過這個小程序,不斷地向虛擬機(jī)內(nèi)存中寫入數(shù)據(jù),迅速占用內(nèi)存空間.第四組實驗在遷移過程中,被遷移虛擬機(jī)運(yùn)行Netperf這樣一個網(wǎng)絡(luò)性能測試工具,通過不斷發(fā)送/接收測試數(shù)據(jù)包來模擬網(wǎng)絡(luò)密集吞吐.
通過四組實驗可以看出,CPU的負(fù)載狀況對動態(tài)遷移性能的影響最大,當(dāng)CPU使用率較高時,遷移總時間和宕機(jī)時間顯著變長.內(nèi)存密集負(fù)載和網(wǎng)絡(luò)密集吞吐情況下對遷移性能的影響相對較小.無負(fù)載遷移只是一個理想的情況,在本實驗中主要用來對比分析,因為虛擬機(jī)動態(tài)遷移的目的就是保證在被遷移虛擬機(jī)上運(yùn)行服務(wù)不中斷的情況下遷移到另外一臺物理機(jī),以便對虛擬機(jī)原先所在的物理機(jī)進(jìn)行維護(hù).
圖3 不同負(fù)載情況下的遷移時間和宕機(jī)時間
Xen的動態(tài)遷移技術(shù)可以提供一個永不間斷的連續(xù)工作系統(tǒng),主要用于數(shù)據(jù)中心資源的整合.當(dāng)一臺物理機(jī)無法繼續(xù)運(yùn)行時,Xen可以在保證任務(wù)不中斷的前提下將處在工作狀態(tài)的虛擬機(jī)遷移到另外一臺物理機(jī)上,從而使得在多個服務(wù)器之間實現(xiàn)負(fù)載均衡成為可能.實驗表明,在局域網(wǎng)環(huán)境下,Xen虛擬機(jī)動態(tài)遷移的性能主要受CPU負(fù)載的影響,但整體性能仍可得到保障.廣域網(wǎng)環(huán)境下的動態(tài)遷移需要保證被遷移虛擬機(jī)跨網(wǎng)絡(luò)時仍能保持網(wǎng)絡(luò)連接狀態(tài),在這種情況下,如何保證遷移的性能是今后需要研究的內(nèi)容.
[1]楊坤.基于Xen的虛擬機(jī)遷移的研究及應(yīng)用[D].蘭州:西北師范大學(xué)計算機(jī)科學(xué)與工程學(xué)院,2013.
[2]虛擬化與云計算小組.虛擬化與云計算[M].北京:電子工業(yè)出版社,2011.
[3]彭安鑫.面向云計算的虛擬機(jī)動態(tài)遷移研究[D].濟(jì)南:山東師范大學(xué)信息科學(xué)與工程學(xué)院,2012.
[4]梁華,梁凱.Xen虛擬服務(wù)器的動態(tài)遷移技術(shù)研究[J].洛陽理工學(xué)院學(xué)報:自然科學(xué)版,2010,20(1):50-52.
[5]英特爾開源技術(shù)中心,復(fù)旦大學(xué)并行處理研究所.系統(tǒng)虛擬化:原理與實現(xiàn)[M].北京:清華大學(xué)出版社,2009.
[6]劉鵬程,陳榕.面向云計算的虛擬機(jī)動態(tài)遷移框架[J].計算機(jī)工程,2010,36(5):37-39.
[7]佚名.Xen虛擬機(jī)在線遷移的搭建與調(diào)試[EB/OL].(2013-04-16)[2014-02-03].http://blog.csdn.net/hjskl/article/details/8809323.
[8]Pratt I,F(xiàn)raser K,Hand.Xen3.0 and the Art of Virtualization[C].Ottawa,Ontario Canada:Proceedings of the Linux Symposium,2005.
Research on live migration technology based on Xen virtual machine
YANG Fei
(Institute of Engineering Technology,Fuyang Vocational and Technical College,Fuyang 236031,Anhui,China)
Xen is an open source virtualization software.The live migration technology has been widely applied in the field of virtual machine design.The experiments,which were on the basis of the analysis of Xen virtual machine live migration technology principle and migration architecture have been conducted,and a comparative analysis of performance which was based on the experimental results in different load that impacted on the migration situation,has found Xen virtual machines was better able to complete the online migration,providing a guarantee for server load balancing virtual environments.
Xen;cloud computing;virtual machine;live migration
TP393
:A
:1007-5348(2014)10-0013-04
(責(zé)任編輯:歐愷)
2014-07-15
2013年安徽省優(yōu)秀青年人才基金重點項目(2013SQRL136ZD).
楊斐(1983-),男,安徽阜陽人,阜陽職業(yè)技術(shù)學(xué)院工程科技學(xué)院講師,碩士,主要從事虛擬化與云計算方面的研究.