999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于設備代理機制的虛擬機動態遷移技術研究

2009-01-01 00:00:00李志偉吳慶波譚郁松
計算機應用研究 2009年4期

(國防科學技術大學 計算機學院,長沙 410073)

摘 要:

在刀片服務器、數據中心等虛擬環境下,對服務的不間斷保障能力有很高的需求,因此,需要在動態遷移中虛擬機能不間斷訪問I/O等設備。對此,提出了設備代理機制。設備代理機制主要包括設備代理、遠程設備訪問和設備動態交換三個模塊。設備代理模塊主要處理在動態遷移期間的I/O事務和虛擬設備狀態;遠程設備訪問模塊讓虛擬機像從本地一樣從遠程訪問I/O等設備;設備動態交換模塊允許虛擬機重新動態地定向到物理設備。實驗表明,設備代理機制確實在遷移期間保證了I/O服務不間斷,并提高了其服務質量。

關鍵詞:設備代理; 動態遷移; 虛擬機; 輸入/輸出訪問

中圖分類號:TP311文獻標志碼:A

文章編號:1001-3695(2009)04-1349-04

Research ondynamic migration of virtual machine based on device-agent mechanism

LI Zhi-wei, WU Qing-bo, TAN Yu-song

(College of Computer,National University of Defence Technology, Changsha 410073, China)

Abstract:In blade servers, data centers, and other virtual environment, the ability to guarantee uninterrupted service, has high demand, so needing virtual machine without interruption to access I/O and other devices during live VM migration. In response, this paper proposed device-agent mechanism. Device-agent mechanism, including three major modules, device-agent module, remote access device module and device dynamic exchange module. Device-agent module was mainly in charge the I/O transactions and the states of virtual device during live VM migration. Remote access device module made virtual machines access remote I/O devices like access local’s. Device dynamic exchange module allowed virtual machine to re-orientation to the physical device dynamically. Experiments show that device-agent mechanism have guaranteed the I/O uninterrupted service during live VM migration, and improve the quality of service.

Key words:device-agent; dynamic migration; virtual machine; I/O access



0 引言

據IDC稱,虛擬化迅速為人們接受,且已幫助改變了IT的經濟,不僅降低了資本成本還降低了運營成本。從商業角度來看,使用虛擬化技術有很多初衷,其中服務器整合可算是最重要的原因。簡單來說,如果用戶可以對一個服務器中多個未經充分利用的系統進行虛擬化,由于服務器的數量少了,顯然可以節省大量電力、空間、制冷和管理成本。

在服務器中運用虛擬化,總體上有以下幾點好處:

a)進行服務器整合,全面提高服務保障水平,降低了管理工作量。 

b)降低單點故障,提高服務保障水平。 

c)提高資源利用率,改善資源分配。

d)提高系統整體的可用性。

虛擬化技術將虛擬服務器從硬件中抽象出來,這樣做最大的好處是虛擬服務器可以在不同物理服務器間來回遷移。遷移能力允許將虛擬服務器克隆出來,或從一臺物理服務器遷移到另外一臺。在許多虛擬化解決方案中,均需要動態遷移技術(live migration),如,負載均衡、容錯。另外,當服務器不能滿足用戶對虛擬機環境要求(CPU、內存等)時,可將虛擬機動態遷移到能滿足需求的服務器上。通過以上分析和研究,可以發現動態遷移技術在虛擬化服務器中占有很重要的意義。

在兩個物理節點之間動態遷移虛擬機時,有些技術難點還沒解決。例如,如何在動態遷移虛擬機期間,能持續、不間斷地存取I/O等設備,即保證服務的持續性和不間斷。本文經過對該問題的不斷研究,設計和實現了基于設備代理機制動態遷移技術,通過它來解決動態遷移中服務的持續性和不間斷問題。

1 相關研究

1.1 動態遷移的研究現狀

現有若干種典型的虛擬化軟件,這些軟件基本上都運用了動態遷移技術。

基于以前相關研究工作的成果,NomadBIOS[1]系統第一次引入了動態遷移的概念。運用預拷貝(pre-copy)技術達到了最小宕機時間,但是怎樣在遷移操作系統時進行可寫操作,仍然沒有解決。預拷貝技術就是在原域凍結之前,預先拷貝OS的關鍵狀態,這時原域處于運行狀態,之后凍結原域,重復拷貝這段執行時間內修改臟頁的過程。

Zap[2]通過修改Liunx內核來虛擬化部分操作系統,允許遷移pods(process domains),本質上是遷移進程組。具體是將內核進程接口封裝成不同的namespace,遷移過程只遷移這些namespace,由于遷移的單位小,在效率和性能上比collective project系統要高。然而該系統在最好情況下遷移消耗的時間仍然很高,并且不允許動態遷移,更重要的是沒有解決為活動服務保持連接問題。

SWsoft公司的Virtuzzo[3]產品引入了虛擬環境(virtual environment)的概念。虛擬環境用于安全隔離單個應用或一組相關應用,為運行在其中的應用程序提供一個完整的虛擬操作系統環境。每個虛擬環境均擁有自己的注冊表、用戶名、文件系統、 TCP/IP地址和內核等,所有的系統資源和標志均被虛擬化,由于全新的VE鏡像僅有30 MB,大大提高了遷移速度。

Xen[4]是一個開源的虛擬化軟件,Xen中集成的遷移技術,主要包括兩種,即常規(regular)和動態遷移。常規遷移需要中斷原域服務,直接拷貝所有的頁到目標機,然后重起新的虛擬機,屬于stop-and-copy型的,只適合小內存的遷移。在NomadBIOS系統引入了動態遷移的技術后,Xen的遷移中也集成了動態遷移,用的也是預拷貝策略。這種策略主要是為了減少OS凍結時間,從而避免因凍結時間長而導致的開銷和錯誤;該策略雖然減少了OS的凍結時間,但卻增加了拷貝的次數,延長了總的遷移時間。

1.2 傳統動態遷移的機制

傳統動態遷移機制均需要SAN(storage area network)集中存儲設備或NFS網絡文件系統的支持,且在動態遷移虛擬機的期間,對原域都要進行凍結,這就造成了虛擬機有一個宕機時間。雖然這個宕機時間很短(一般在30~600 ms),但宕機會造成虛擬機與I/O等設備中斷,由此造成I/O服務質量下降或者間斷。

在傳統動態遷移機制中,原域服務器和目標域服務器必須共享虛擬機的設備,一般用NFS(網絡文件系統)。虛擬機從原域遷移到目標域后,很多虛擬設備狀態被滯留在原域的特權域中,如由設備驅動發布,但還沒有完成返回的I/O等事務。這些事務狀態不能按原路返回給虛擬機,因為這時虛擬機已經遷移到目標域上。特別是當虛擬機被凍結,設備驅動和虛擬設備之間通信渠道被掛起期間,用戶對I/O等設備進行訪問或其他的事務請求大部分被滯留在原域的特權域中。

從以上分析可以得出,傳統動態遷移在動態遷移虛擬機期間,I/O服務質量會大幅下降或間斷。為了解決這個問題,保證動態遷移期間I/O服務的不間斷,筆者在每個服務節點的特權域中加一個設備代理模塊,借助這個模塊來實現動態遷移中對I/O等設備持續存取。下面一章是對基于設備代理機制動態遷移技術的詳細描述。

2 基于設備代理機制的動態遷移

基于在傳統動態遷移過程中,虛擬機不能持續訪問I/O等設備,筆者提出設備代理機制。在特權虛擬域的虛擬設備模塊中增加設備代理模塊,用于監視虛擬設備狀態和I/O等設備事務。在動態遷移虛擬機時,設備代理模塊可以協助虛擬機持續、不間斷地存取I/O設備。而且在虛擬機動態遷移時,可以不依賴于SAN集中存儲設備或者NFS的支持,設備代理機制可以協助虛擬機從遠程存取原設備。

2.1 設備代理機制軟件體系結構

在闡述設備代理機制軟件體系結構之前,首先需要描述當前VMM虛擬化設備機制。典型虛擬化設備包括兩個運行的設備驅動棧,一個在普通域,稱為設備驅動;另一個被稱為虛擬化設備驅動,運行在特權域。設備驅動可以訪問由虛擬化設備導出的虛擬設備。當設備驅動訪問設備時,訪問被轉移給虛擬設備,由虛擬設備通過Linux驅動訪問設備。設備代理機制軟件體系結構如圖1所示。

設備代理是虛擬設備的一部分,在每個服務節點的特權域中。設備代理機制主要包括三大模塊:a)設備代理模塊。主要任務是與遠程服務節點的設備代理建立通信,在動態遷移期間,處理和轉發虛擬設備狀態及I/O請求事務。b)遠程設備訪問模塊,在動態遷移后,轉發虛擬設備狀態和I/O請求事務,使虛擬機具有遠程訪問設備功能。c)設備動態交換。允許虛擬機重新動態定向到物理設備,動態遷移后,虛擬機可以從遠程設備動態交換到本地設備上。通過設備代理機制來提高持續、不間斷的I/O服務,增強了整個系統的可用性。設備代理機制也使動態遷移擺脫對SNA集中存儲設備的依賴性,簡化了動態遷移機制。

2.2 設備代理機制邏輯流程

在動態遷移中,首先被啟動的是設備代理模塊。當虛擬機被凍結、設備驅動與虛擬設備通信要掛起時,通知設備代理模塊虛擬機要遷移。此時,設備代理模塊緩存用戶對I/O等設備的請求事務,并等待、緩存虛擬設備已發送給設備所有請求事務的完成后狀態;最后將這些狀態轉發給目標域的設備代理,目標域的設備代理完成的狀態發送給設備驅動,將未發送的事務請求發給設備。

動態遷移完后,如果遷移機制沒有依賴SNA或NFS,則遠程設備訪問模塊啟動。本地設備代理將所有虛擬設備狀態和I/O請求事務轉發給遠程的設備代理,遠程設備代理通過虛擬設備轉移給I/O等設備。等遠程設備將請求事務完成后,遠程設備代理將此時的狀態按原路返回。

在所有遷移工作完成后,如果虛擬機需要將設備交換到本地,則設備動態交換模塊啟動。設備代理首先將物理設備帶入一個靜止狀態,然后開始動態交換。設備代理緩存從設備驅動發送到設備的所有事務請求,然后等待已發送給設備但還沒完成的所有事務請求完成。當所有事務完成后,設備處在一個靜止狀態,且將這時狀態轉移到本地設備上;一旦本地設備完成狀態更新,虛擬機就動態交換到本地設備上,設備代理開始將緩存的事務發送到本地設備上。此時就完成了設備代理的動態設備交換。

2.3 基于設備共享的設備代理動態遷移機制

所謂設備共享,就是原域和目標域必須共享遷移虛擬機的設備。設備共享必須依賴于SAN集中存儲設備或NFS網絡文件系統的支持,一般用網絡文件系統NFS。在動態遷移過程中,虛擬機在原域上凍結,然后遷移到目標節點上,這樣就有一個宕機時間,此時用戶是不能持續訪問I/O等設備。筆者運用設備代理機制來解決這個問題,設備代理機制的主要優勢體現在當進行動態遷移時,系統能持續、不間斷地提供I/O服務。

基于設備共享的設備代理動態遷移機制的框架如圖2所示。整個系統的實現過程如下:

a)預先拷貝虛擬機1的關鍵狀態,然后凍結虛擬機1、掛起設備驅動和虛擬設備之間的通信。此時,設備代理收到遷移虛擬機1的信息,開始緩存設備驅動發給虛擬設備的I/O等事務請求,等待所有已發送給設備的I/O等事務完成,并緩存設備返回的完成狀態。

b)在目的節點M2上,一個新的虛擬機2被創建。將凍結虛擬機1的OS頁填入虛擬機2,此時M1的設備代理和M2的設備代理建立通信,且M1的設備代理緩存的所有狀態全部轉發給M2的D-A。

c)M2的設備代理通過虛擬設備將I/O等事務完成后的狀態返回給虛擬機,同時將I/O等事務請求按原路徑發送給NFS上的設備。此時整個虛擬機的遷移過程完成。

以上就是基于設備共享的設備代理動態遷移機制的實現過程。在動態遷移中,也可以不依賴于SAN集中存儲設備或NFS網絡文件系統的支持,這就需要設備代理制中遠程設備訪問功能的支持。下面一節詳細描述了基于遠程設備訪問的動態遷移。

2.4 基于遠程設備訪問的動態遷移策略

在動態遷移中,當虛擬機運行的應用程序比較多時,節點服務器不能滿足虛擬機要求(如CPU、內存等),此時就需要將虛擬機動態遷移到另一個節點服務器上,但很難將與虛擬機相關的設備遷移到另一個節點上。利用設備代理機制,用基于遠程設備訪問的動態遷移就很容易解決這個問題。

基于遠程設備訪問的動態遷移無須借助于SAN集中存儲設備或NFS。如圖3所示,虛擬機G1從服務器M1遷移到服務器M2上,但虛擬機G2通過設備代理機制的設備遠程訪問功能,還是從服務器M1上存取設備。M2的設備代理扮演客戶端,而M1的設備代理就相當于服務端。

從遠程讀取設備的過程如下:

a)當虛擬機G2的設備驅動讀取一個設備時,控制域會將這個讀取轉移給虛擬設備;

b)M2的設備代理緩沖這個讀取,并將這個讀取轉發給M1的設備代理;

c)M1的設備代理將這個讀取緩存在自己的隊列中,并通過虛擬設備來讀取設備;

d)當設備將結果返回給M1的設備代理時,設備代理將這個讀取任務移出自己的隊列,并將結果發送給M2的設備代理(客戶端);

e)M2的設備代理通過虛擬設備將結果返回給虛擬機G2。

3 實現和測試

3.1 設備代理機制的實現

本文在主流的虛擬機監控器Xen實現了設備代理機制。實現框架如圖4所示。

在Xen中,domain 0相當于設備代理機制中的特權域,可以接觸所有系統中硬件,domain U相當于普通域。設備驅動在Xen中分為前端和后端,分別扮演設備代理機制中的設備驅動和虛擬設備,通過共享內存、生產者消費者環、虛擬中斷、事件通道、授權表五種機制進行前后端通信。當從遠程存取I/O等設備時,前端通過一個共享內存通信渠道向后端請求I/O事務,設備代理機制將請求I/O事務通過基于Socket的client-server通信協議轉發給遠程設備代理,遠程設備代理機制將請求事務加入異步I/O環中,后端設備驅動接口由標準的Linux塊設備驅動來執行I/O事務;最后按原路徑返回I/O事務完成后的狀態。

在沒有進行動態遷移時,虛擬機(客戶OS1)訪問I/O設備如下:當虛擬機中的應用程序請求一個塊I/O時,虛擬機從虛擬地址空間分配內存頁。為了分配內存頁,虛擬機使用授權表機制來訪問domain 0。一旦授權表項存在,虛擬機提示虛擬塊設備前端設備驅動將I/O描述符放置在I/O環中,并通過事件通道發送請求信息給虛擬塊設備后端設備驅動。一旦后端設備驅動收到來自前端的請求,首先映射分配的內存頁到domain 0的虛擬地址空間。后端設備驅動執行一個hypercall進入Xen,Xen檢查請求域的授權表來驗證共享是否有效,一旦有效,在活動的授權表中設置domain 0映射分配的內存頁表,則可以直接訪問I/O塊設備。

在動態遷移過程中,當虛擬機被凍結時,設備代理機制在虛擬機異步I/O環中終止I/O請求發送給Linux設備驅動,等待所有I/O回復完畢。設備代理機制用基于Socket的client-server通信協議將虛擬機的異步I/O環接口狀態轉發給目標域的設備代理機制,目標域的設備代理機制更新虛擬機的異步I/O環接口狀態。

3.2 實驗結果

目前本文只測試了基于設備共享的設備代理機制下的動態遷移,測試工具用Iozone。DomainU從原域遷移到目標域,在動態遷移期間,通過運行Iozone Benchmark來測試請求事務完成時間。下面是硬件和軟件環境。

硬件環境:三臺基于IntelX 86體系結構的PC機,166 MHz CPU,內存為512 MB, CPU與主存間有64 KB的高速緩存。兩臺計算機之間由l00 Mbps的以太網LAN相連接。

軟件環境:原域:Xen3.1+Fedora6.0(domain0);目標域:Xen3.1+Fedora6.0(domain0)+domainU(Fedora6.0),且domainU中運行Web服務Apache+MySQL。設備共享域:Fedora6.0+NFS。

在表1中,第一列表示的是在動態遷移domainU期間,向數據庫發起的讀寫請求任務數量。未完成的請求數量表示在虛擬機遷移完后,在設備代理機制下虛擬機還沒完成的任務數。最后兩列是基于設備共享的設備代理機制下與傳統的動態遷移下返回任務請求所花費的時間。

表1 在動態遷移期間返回I/O請求事務的時間

遷移期間發出讀寫請求數量未完成的請求數量設備代理機制下的返回時間/ms傳統動態遷移的返回時間/ms

501.8324.01

1102.9341.21

17113.0250.02

24425.2286.16

33630.44100.05

通過表1的數據可以看出,基于設備代理機制在動態遷移期間完成I/O等請求事務的時間遠小于傳統的動態遷移。這是因為在凍結、遷移虛擬機時,一些I/O請求事務已經完成,而在傳統動態遷移下,要重新發布這些請求事務。

4 結束語

近年來,動態遷移在虛擬化技術中越來越受到重視。正是動態遷移的存在,才使得虛擬化服務器系統的負載均衡能力、容錯能力大大提高。在虛擬化環境下,動態遷移虛擬機的一些技術難點還沒有解決。例如,如何在動態遷移虛擬機期間,不間斷、持續的訪問I/O設備。通過對動態遷移的研究和分析,筆者設計出基于設備代理機制動態遷移,用設備代理機制來解決動態遷移虛擬機期間不間斷、持續的訪問I/O等設備。但基于設備代理機制動態遷移的一些工作還沒有完成,有些地方還不完善。后續的工作就是完成剩余的工作,并對其進行進一步完善。

參考文獻:

[1]HANSENJ G, HENRIKSEN A K.Nomadic:operating systems[D].[S.l.]: Dept of Computer Science, University of Copenhagen,2002.

[2]OSMAN S, SUBHRAVETI D, SU Gong, et al. The design and implementation of Zap: a system for migrating computing environments[J]. SIGOPS Oper Syst Rev, 2002,36(SI):361-376.

[3]SWsoft Virtuozzo技術摘要 [EB/OL ].(2005-12-12). http://www.soft6.com/know/detail.asp.

[4]BARHAM P, DRAGOVIC B, FRASER K, et al. Xen and the art of virtualization[C]//Proc of the 19th ACM Symposium on Operating System Principles. New York:ACM Press, 2003:164-177.

[5]CAPEL D P . Image mosaicing and super-resolution[D]. Oxford: Universityof Oxford,2001.

[6]ZAYAS E. Attacking the process migration bottleneck[C]//Proc of the 7th ACM Symposium on Operating Systems Principles. New York: ACM Press, 1987:13-24.

[7]CLARK C, FASER K, HAND S. Live migration of virtual machines[D]. Cambridge: University of Cambridge, 2005.

[8]KUMAR S, SCHWAN K. Netchannel: a VMM-level mechanism for continuous, transparent device access during VM migration[C]//Proc of VEE’08. New York: ACM Press, 2008:31-40.

[9]NANDA S, CHIUEH T-C. A survey on virtualization technologies, ESCL-TR179[R]. [S.l.]:Department of Computer Science SUNY at Stony Brook ,2005.

主站蜘蛛池模板: 国产在线自乱拍播放| 亚洲精品无码AⅤ片青青在线观看| 人妻一区二区三区无码精品一区 | 日韩123欧美字幕| 日韩人妻少妇一区二区| 精品久久高清| 亚洲欧美在线综合一区二区三区| 日韩成人在线网站| 国产成人a毛片在线| 午夜啪啪福利| 久久精品免费看一| 亚洲综合精品香蕉久久网| 狠狠色丁香婷婷综合| 日韩精品亚洲一区中文字幕| 国产成人av一区二区三区| 国产小视频网站| 亚洲国产精品日韩av专区| 丁香六月综合网| 日韩无码视频播放| 国产精选自拍| 久久特级毛片| 午夜精品区| 久久精品视频一| 亚洲人成影视在线观看| 国产色网站| 欧美国产中文| 亚洲国产黄色| 特黄日韩免费一区二区三区| 国产精品嫩草影院视频| 亚洲色图欧美激情| 亚洲色无码专线精品观看| a级免费视频| 国产三级视频网站| 黄色网页在线播放| 中文字幕在线永久在线视频2020| 日韩a在线观看免费观看| 亚洲精品成人片在线观看| 久久这里只有精品66| 欧美精品成人| 少妇精品久久久一区二区三区| av一区二区三区高清久久| 亚洲第一色网站| 成年人午夜免费视频| 99免费视频观看| 69av免费视频| 国产精品30p| 国产成人久久综合777777麻豆| 91亚洲免费视频| 波多野结衣亚洲一区| 久久国产精品夜色| 国产va欧美va在线观看| 国产91透明丝袜美腿在线| 日韩在线视频网| 国产乱人伦精品一区二区| 国产一区二区精品高清在线观看| 性激烈欧美三级在线播放| 香蕉久久国产超碰青草| 黄色网页在线观看| 欧美日韩一区二区三区在线视频| 国产在线精品网址你懂的| 国产一二三区视频| 亚洲人成电影在线播放| 青草视频在线观看国产| 污网站免费在线观看| 久久久精品无码一二三区| 日本一区高清| 久久综合九色综合97网| 国产一区二区三区免费观看| 国内精自视频品线一二区| 国产污视频在线观看| 少妇被粗大的猛烈进出免费视频| 亚洲一区黄色| 自拍欧美亚洲| 中文毛片无遮挡播放免费| 精品超清无码视频在线观看| 午夜福利视频一区| 波多野结衣在线一区二区| 久久精品丝袜高跟鞋| 亚洲人成色在线观看| 免费看的一级毛片| 亚洲精品大秀视频| 久草热视频在线|