楊斐
(阜陽職業技術學院工程科技學院,安徽阜陽236031)
基于Xen的虛擬機動態遷移技術研究
楊斐
(阜陽職業技術學院工程科技學院,安徽阜陽236031)
Xen是一種開源的虛擬化軟件,在虛擬機動態遷移技術領域有著廣泛的應用.在分析了Xen虛擬機動態遷移技術原理及遷移架構的基礎上設計并開展相關實驗,將實驗結果中不同負載情況對遷移性能的影響做了對比分析后發現Xen能夠較好的完成虛擬機在線遷移工作,為虛擬環境下的服務器負載平衡提供了保障.
Xen;云計算;虛擬機;動態遷移
隨著云計算時代的來臨,出現了大量由服務器端集中提供,對不同用戶保持獨立的虛擬化的資源.這些資源與具體的硬件特征無關,從而降低對使用者的影響.
為了加快這些資源的響應時間,提高服務質量,需要在云環境下通過負載均衡將計算任務分攤到多個資源中執行.虛擬化技術的進步使得系統和各種計算任務在不同的虛擬化平臺之間進行分攤遷移時變得更加簡單和高效.虛擬機動態遷移技術是虛擬化技術的一個非常重要的內容,通過這項技術可以實現服務無縫地在不同的計算資源之間流動.虛擬機動態遷移技術被用于容災備份、負載均衡、服務器資源整合等多個領域,體現出其良好的商業價值[1].開源的Xen提供了較好的虛擬機遷移技術.

圖1 動態遷移原理
1.1 虛擬機動態遷移的概念
虛擬機的動態遷移,是指將某個宿主機硬件平臺上處于運行狀態的虛擬機1的運行狀態封裝起來后完整、快速地遷移到另外一個宿主機硬件平臺上,從而形成一個新的虛擬機2[2].這個過程是內存信息的移交與轉換的過程,響應時間短,并且在遷移過程中虛擬機始終保持連續的工作狀態,對用戶是透明的,幾乎不會對用戶的服務質量造成影響.
1.2 虛擬機動態遷移的原理
虛擬機動態遷移在VMM(虛擬機監控器)的協助下,由源主機、目標主機以及VMM相互配合,完成客戶操作系統的內存和其他狀態信息的復制.動態遷移開始以后,內存頁面被不斷的從源虛擬機VMM拷貝到目標VMM.這個過程不會對源虛擬機造成任何影響,源虛擬機仍然處于正常運行狀態中.當最后一部分內存頁面被拷貝到目標VMM之后,目標虛擬機開始運行,VMM將源虛擬機與目標虛擬機進行切換,源虛擬機停止運行,整個動態遷移過程結束[2].
在遷移過程中,需要向目標主機源源不斷地發送源虛擬機各種實時的狀態信息.源主機的CPU狀態信息量很少,可在停機拷貝時一次性發給目標主機.虛擬機內存則循環迭代的將每輪拷貝后產生的臟頁發送給目標主機,因此如果源虛擬機內存負載較大時,產生的臟頁就會越多,將會延長遷移所需的時間[1].源虛擬機的磁盤中存儲著整個虛擬機文件系統的鏡像,規模較大,如果直接遷移,將會是一個非常耗費時間和占用網絡帶寬的過程.Xen采用NFS(網絡文件系統)存儲磁盤文件,并在網絡中共享這些文件,而不是直接遷移.網絡狀態也是遷移過程中非常重要的狀態信息,諸如網絡連接狀態和IP地址等,通過ARP廣播可以完成與目標主機MAC地址的重新綁定,保證網絡始終處于連通狀態.
1.3 虛擬機動態遷移的性能指標
影響虛擬機動態遷移性能的因素主要有兩個:宕機時間和遷移總時間[3].
宕機時間是指在遷移過程中源虛擬機和目的虛擬機停止服務中斷運行的時間.遷移總時間是指從遷移過程開始到結束所經歷的時間.理想的遷移過程應該是盡量縮短宕機時間和和遷移總時間,使源虛擬機上運行服務受到的影響降至最低.
2.1 Xen遷移架構
Xen是基于GPL授權方式的開源虛擬機軟件.從技術角度來說,Xen屬于混合模型.在這種模型下,VMM將大部分I/O設備控制權交給一個運行在特權虛擬機中的特權操作系統(Domain0)來控制.Xen通過修改Linux內核實現處理器和內存的虛擬化,采用分離設備驅動模型來實現I/O虛擬化,由位于DomU(非特權虛擬域)的前端驅動和運行在Dom0(特權虛擬域)的后端驅動組成,前端驅動與后端驅動通過共享內存和事件通道的方式建立通信,最后后端驅動再通過原始設備驅動程序訪問物理設備[4].Xen虛擬機的性能接近物理機.

圖2 動態遷移架構
2.2 環境搭建及實驗過程
為了驗證Xen的動態遷移架構以及不同負載條件下動態遷移的性能指標特征的變化,設計了以下實驗.實驗中需要局域網環境下處于同一網段的三臺物理機器(都支持Intel Vt-x),兩臺用作客戶端,一臺作為NFS服務器,為遷移過程提供網絡共享存儲.

表1 實驗設備配置信息
實驗過程按如下步驟進行:
(1)修改三臺主機的/etc/xen/xend-config.sxp文件,確保開啟動態遷移服務,因為它們默認是關閉的.
(Xend-relocation-Server Yes)
(Xend-relocation-port 8002)
(Xend-relocation-address'')
(Xend-relocation-hosts-allow'').
(2)執行命令#sudoapt-get install nfs-kernel-server為三臺主機安裝NFS服務.
(3)執行命令sudo gedit/etc/exports修改配置文件,添加語句:
/var/lib/libvirt/images*(rw,sync,no_root_squash).
完成后使用命令#sudo/etc/init.d/nfs-kernel-server restart重啟NFS服務器.
(4)修改源主機和目標主機共享存儲目錄,使它們指向HostC中的公共存儲區:sudo mount 192.168.1.60:/ var/lib/libvirt/images/var/lib/libvirt/images.
(5)在HostC上創建一個源虛擬機VM1,在源主機HostA上恢復出VM1.
(6)執行命令sudoxm migrate-l vm1 192.168.1.55,將VM1從HostA遷移至HostB中.
2.3實驗結果及性能分析
實驗分四組進行,第一組實驗遷移過程中被遷移虛擬機VM1沒有啟動任何的服務,CPU負載很小,內存中臟頁量很低.第二組實驗遷移的進行的同時,在源虛擬機中運行一個需要大量占用CPU資源,同時對I/ O需求比較低的應用7-Zip來壓縮一個大文件,保持CPU處于較高的利用率從而模擬CPU密集負載的情況.此時內存中臟頁量升高,遷移過程中循環迭代拷貝內存頁的次數也迅速增加.第三組實驗在被遷移虛擬機上運行一個用C編寫的小的測試程序,通過這個小程序,不斷地向虛擬機內存中寫入數據,迅速占用內存空間.第四組實驗在遷移過程中,被遷移虛擬機運行Netperf這樣一個網絡性能測試工具,通過不斷發送/接收測試數據包來模擬網絡密集吞吐.
通過四組實驗可以看出,CPU的負載狀況對動態遷移性能的影響最大,當CPU使用率較高時,遷移總時間和宕機時間顯著變長.內存密集負載和網絡密集吞吐情況下對遷移性能的影響相對較小.無負載遷移只是一個理想的情況,在本實驗中主要用來對比分析,因為虛擬機動態遷移的目的就是保證在被遷移虛擬機上運行服務不中斷的情況下遷移到另外一臺物理機,以便對虛擬機原先所在的物理機進行維護.

圖3 不同負載情況下的遷移時間和宕機時間
Xen的動態遷移技術可以提供一個永不間斷的連續工作系統,主要用于數據中心資源的整合.當一臺物理機無法繼續運行時,Xen可以在保證任務不中斷的前提下將處在工作狀態的虛擬機遷移到另外一臺物理機上,從而使得在多個服務器之間實現負載均衡成為可能.實驗表明,在局域網環境下,Xen虛擬機動態遷移的性能主要受CPU負載的影響,但整體性能仍可得到保障.廣域網環境下的動態遷移需要保證被遷移虛擬機跨網絡時仍能保持網絡連接狀態,在這種情況下,如何保證遷移的性能是今后需要研究的內容.
[1]楊坤.基于Xen的虛擬機遷移的研究及應用[D].蘭州:西北師范大學計算機科學與工程學院,2013.
[2]虛擬化與云計算小組.虛擬化與云計算[M].北京:電子工業出版社,2011.
[3]彭安鑫.面向云計算的虛擬機動態遷移研究[D].濟南:山東師范大學信息科學與工程學院,2012.
[4]梁華,梁凱.Xen虛擬服務器的動態遷移技術研究[J].洛陽理工學院學報:自然科學版,2010,20(1):50-52.
[5]英特爾開源技術中心,復旦大學并行處理研究所.系統虛擬化:原理與實現[M].北京:清華大學出版社,2009.
[6]劉鵬程,陳榕.面向云計算的虛擬機動態遷移框架[J].計算機工程,2010,36(5):37-39.
[7]佚名.Xen虛擬機在線遷移的搭建與調試[EB/OL].(2013-04-16)[2014-02-03].http://blog.csdn.net/hjskl/article/details/8809323.
[8]Pratt I,Fraser 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
(責任編輯:歐愷)
2014-07-15
2013年安徽省優秀青年人才基金重點項目(2013SQRL136ZD).
楊斐(1983-),男,安徽阜陽人,阜陽職業技術學院工程科技學院講師,碩士,主要從事虛擬化與云計算方面的研究.