1 概述
虛擬機在線遷移技術(shù)能將虛擬機從源節(jié)點透明地遷移到目的節(jié)點,而用戶不會感知到物理節(jié)點的切換,有效提高服務(wù)可用性,可廣泛應(yīng)用于資源調(diào)度、服務(wù)器在線維護(hù)等方面,F(xiàn)有在線遷移技術(shù)通常局限在一個局域網(wǎng)范圍內(nèi),如VMware的VMotion和Xen的Live Migration等,主要涉及內(nèi)存、CPU狀態(tài)的遷移以及網(wǎng)絡(luò)的重定向。以Xen為例,Xen使用預(yù)復(fù)制技術(shù)通過反復(fù)迭代內(nèi)存臟頁實現(xiàn)內(nèi)存數(shù)據(jù)和CPU狀態(tài)的遷移;在保持虛擬機IP不變的情況下,采用主動地址解析協(xié)議(Address Resolution Protocol,ARP)廣播更新交換機中MAC地址與端口的對應(yīng)關(guān)系以實現(xiàn)網(wǎng)絡(luò)重定向;源節(jié)點、目的節(jié)點使用網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)共享虛擬機鏡像文件,避免磁盤遷移。
在局域網(wǎng)之間或WAN范圍內(nèi),由于源、目的節(jié)點所在IP范圍不同,虛擬機遷入到目的網(wǎng)絡(luò)后,如果不改變IP地址則無法通信,如果改變了IP,將中斷原有網(wǎng)絡(luò)連接,影響遷移的透明性。基于此,本文提出一種新的網(wǎng)絡(luò)重定向模型LMNR(Live Migration Network Redirection)。
2 相關(guān)工作
文獻(xiàn)[3]利用虛擬專用局域網(wǎng)業(yè)務(wù)(Virtual Private LANService, VPLS)技術(shù)橋接分布在WAN范圍內(nèi)的多個宿主機以形成一個虛擬的局域網(wǎng)。網(wǎng)絡(luò)中的虛擬機在遷移過程中無需改變IP地址,便可保持原有網(wǎng)絡(luò)連接,實現(xiàn)在線遷移。但該方式不僅要求網(wǎng)絡(luò)中的路由器支持VPLS,還需要在遷移過程中動態(tài)配置路由器。
文獻(xiàn)[4]提出在源、目的節(jié)點間建立雙向IP隧道的網(wǎng)絡(luò)重定向策略,通過隧道保持虛擬機的IP地址不變,并在遷移后,為虛擬機配置一個新的IP,以接受新的請求。該策略使原有連接的往返數(shù)據(jù)均通過源、目的節(jié)點中繼,增加了數(shù)據(jù)轉(zhuǎn)發(fā)路徑,引入了額外的延遲。此外,新增IP還需要改變虛擬機的網(wǎng)關(guān)、路由等網(wǎng)絡(luò)信息,影響虛擬機的路由穩(wěn)定。
文獻(xiàn)[5]設(shè)計基于移動IP技術(shù)的網(wǎng)絡(luò)連接重定向系統(tǒng)。當(dāng)虛擬機遷移到不同子網(wǎng)時,將其看作移動節(jié)點,不改變IP地址,通過目的節(jié)點(外部網(wǎng)絡(luò))和源節(jié)點(家鄉(xiāng)網(wǎng)絡(luò))之間的雙向隧道傳輸所有來自和發(fā)往虛擬機的數(shù)據(jù)。與文獻(xiàn)[4]相似,該系統(tǒng)使所有數(shù)據(jù)通過源、目的節(jié)點轉(zhuǎn)發(fā)。此外,系統(tǒng)還要求物理節(jié)點支持ARP代理協(xié)議。
綜上所述,文獻(xiàn)[4-5]在虛擬機遷移后,原有連接的往返數(shù)據(jù)仍然依靠源、目的節(jié)點的雙向隧道中繼,增加了數(shù)據(jù)傳輸路徑和延遲。文獻(xiàn)[3,5]提出的重定向策略對傳輸路徑中的路由器和物理節(jié)點是不透明的,對設(shè)備要求較高,使用戶難以部署該策略。
針對現(xiàn)有跨域遷移策略在傳輸路徑及設(shè)備透明性方面存在的局限,本文提出在源節(jié)點與虛擬機間直接建立與設(shè)備無關(guān)的單向IP隧道的方法,優(yōu)化重定向的傳輸路徑,使虛擬機不改變IP便可保持原有連接,并采用IP雙棧策略提高對新服務(wù)請求的響應(yīng)速度。
3 網(wǎng)絡(luò)重定向模型
3.1 模型定義
定義網(wǎng)絡(luò)重定向模型形式化描述為四元組,其中:
(1)S、D分別表示在線遷移的源節(jié)點和目標(biāo)節(jié)點的集合,設(shè)a∈S,?b∈D;
(2)V表示擬遷移虛擬機的集合,設(shè)vi∈V,且設(shè)vi的原有IP地址為IPvo,遷移后新增IP地址為IPvn;
(3)f表示為S→V,即從S到V的映射關(guān)系,實現(xiàn)從源節(jié)點到虛擬機的網(wǎng)絡(luò)重定向策略。
3.2LMNR算法描述
LMNR算法通過預(yù)配置、ARP同步以及會話處理等6個階段實現(xiàn)虛擬機跨域遷移的網(wǎng)絡(luò)重定向,如圖1所示。
圖1 LMNR數(shù)據(jù)傳輸示意圖
LMNR數(shù)據(jù)傳輸具體過程如下:
(1)預(yù)配置階段
遷移前,預(yù)配置策略開啟a節(jié)點特權(quán)域dom0的轉(zhuǎn)發(fā)功能,為vi新增IPvn,預(yù)構(gòu)建dom0到vi的IP隧道,隧道可表示為有序?qū)?IPA,IPVN>,同時在dom0中指定路由將所有發(fā)往IPvo的數(shù)據(jù)轉(zhuǎn)發(fā)至隧道。由于遷移前發(fā)往vi的數(shù)據(jù)是通過路由器x直接發(fā)給vi的,這些數(shù)據(jù)對于dom0來說在邏輯上是不可見的,因此預(yù)配置在提高模型部署效率的同時,不會影響遷移前的網(wǎng)絡(luò)和數(shù)據(jù)轉(zhuǎn)發(fā)狀態(tài)。
(2)遷移虛擬機階段
該階段基于Xen技術(shù)實現(xiàn),采用預(yù)復(fù)制方法在a、b間傳輸內(nèi)存數(shù)據(jù)和CPU狀態(tài),并在b節(jié)點重啟vi。
(3)建立單向IP隧道階段
該階段由3個步驟組成,實現(xiàn)了IP隧道的建立和DNS的更新。
步驟1vi重啟后,在a的dom0中廣播定制的ARP欺騙報文,該報文可記為
由于在dom0中預(yù)設(shè)了指向vi的路由,因此數(shù)據(jù)到達(dá)dom0后被轉(zhuǎn)發(fā)至隧道,隨后被vi接收。
步驟2將ARP欺騙報文
MACbgw為b所在子網(wǎng)網(wǎng)關(guān)即y的MAC。這種改變網(wǎng)關(guān)MAC而保持其IP的策略是建立單向IP隧道的基礎(chǔ),同時也使得模型在為vi增加IPvn時并不需要新增網(wǎng)關(guān)IP,保持了vi的路由穩(wěn)定。為快速建立IP隧道,需要同步a和vi上的ARP欺騙,模型通過在兩者間建立傳輸控制協(xié)議(TransmissionControl Protocol,TCP)監(jiān)聽來解決這一問題,在完成遷移后立即向vi發(fā)送消息,使a和vi同時實施ARP欺騙。經(jīng)過步驟1和步驟2后,單向IP隧道已經(jīng)建立起來。在這一過程中不需要路由器或物理節(jié)點啟用ARP代理或其他特定的功能,策略部署對設(shè)備而言是透明的。
步驟3dom0向DNS服務(wù)器發(fā)送更新報文,將vi域名對應(yīng)的IP由IPvo更新為IPvn,使IPvn可以響應(yīng)新的服務(wù)請求。更新后,IPvo將不會再接到新的請求。
(4)保持原有會話階段
在遷移前,客戶機e發(fā)起到IPvo的會話,重定向后的數(shù)據(jù)傳輸路徑為有序組
(5)新增會話階段
在遷移后,客戶機g通過DNS獲得vi的IPvn并向其發(fā)起新的會話請求,請求路徑為
(6)撤銷隧道階段
模型檢測IPvo保持的會話是否結(jié)束,若在結(jié)束前收到遷移返回指令,則撤銷IP隧道,恢復(fù)ARP條目,并使vi返回節(jié)點;若結(jié)束,則撤銷隧道,刪除vi的IPvo,保留IPvn,即將vi本地化為b的虛擬機。與現(xiàn)有其他重定向模型不同,LMNR設(shè)計了vi本地化策略,本地化后vi可以根據(jù)需要遷往其他節(jié)點或遷回a節(jié)點,而此時b就為源節(jié)點。本地化避免了vi只能被遷回a節(jié)點,提高了遷移的靈活性。
LMNR算法使用預(yù)配置策略提前構(gòu)建網(wǎng)絡(luò)重定向環(huán)境,減少了遷移后系統(tǒng)的部署時間。利用同步ARP策略,同時開啟a和vi的重定向功能,快速建立單向IP隧道。采用IP雙棧,使虛擬機在保持原有會話的同時,利用新增IP響應(yīng)所有新的連接請求,提高服務(wù)的響應(yīng)效率。算法的偽代碼如下:
4 實驗與結(jié)果分析
4.1 實驗環(huán)境
硬件環(huán)境為:3個分布在不同子網(wǎng)的宿主機節(jié)點(千兆網(wǎng)絡(luò)),每節(jié)點配置雙XeonE5504CPU、8GB內(nèi)存,分別作為源節(jié)點a,目的節(jié)點b和NFS服務(wù)器,虛擬機vi具有2個虛擬CPU,512MB內(nèi)存。
軟件環(huán)境為:Linux平臺,虛擬化軟件Xen3.0.3。本文設(shè)計3組實驗分別測試模型的性能。
4.2結(jié)果分析
實驗1總遷移時間比較
在vi中運行SupERPI、Memtester和Netperf測試工具,分別模擬CPU、內(nèi)存、帶寬敏感的負(fù)載以及無負(fù)載4種情況,統(tǒng)計模型遷移vi的總時間并與傳統(tǒng)的Xen域內(nèi)遷移時間進(jìn)行比較。實驗發(fā)現(xiàn):在相同負(fù)載的情況下,跨域模型比局域網(wǎng)內(nèi)的總時間略有增加,但差別并不明顯,如表1所示,其中,運行Netperf時增加最小,為0.239s,運行Memtester時增加最大,為2.664s,主要原因是該工具使內(nèi)存迭代和重定向的數(shù)據(jù)量增加,從而增加總時間。
表1 總遷移時間比較
實驗2 遷移性能測試
在vi中提供apache服務(wù),并利用ab(apache bench)工具向vi的IPvo發(fā)起Http請求,測試遷移性能,請求總數(shù)為40000個,并發(fā)10個。實驗發(fā)現(xiàn):請求總時間為44.50s,過程中無請求失效。遷移前每個請求的平均時間為6.39ms;遷移后的平均時間為7.92ms,比遷移前增加1.53ms,延遲較;遷移過程中的平均時間為9.75ms,有6個請求超過0.5s,分布區(qū)間為[2.515,2.602],其所占請求數(shù)的比例僅為0.015%,如圖2所示。
圖2 跨域遷移性能測試結(jié)果
可見,如果用戶點擊IPvo訪問vi,遷移過程中和遷移后所增加的時間不會影響到用戶的訪問體驗,原有會話被保持,模型具有良好的透明性。此外,實驗還測試了IPvn響應(yīng)請求的時間,其結(jié)果與遷移前IPvo的時間基本一致。實驗結(jié)果表明:本文模型不僅利用原有IP保持會話,還可使用新增IP響應(yīng)新請求,優(yōu)化傳輸路徑,提高服務(wù)響應(yīng)效率。
實驗3 網(wǎng)絡(luò)暫停時間測試
在vi中提供流媒體服務(wù),測試遷移的網(wǎng)絡(luò)暫停時間。實驗通過TCP協(xié)議傳輸數(shù)據(jù),在client端通過播放器進(jìn)行視頻點播,并通過抓包統(tǒng)計數(shù)據(jù)信息。從圖3可以看出,vi從源到目的節(jié)點的過程中網(wǎng)絡(luò)暫停時間為2.58s,從目的節(jié)點返回的暫停時間為2.10s。由于暫停的時間短,且流媒體具有緩存功能,因此在整個過程中視頻播放流暢,用戶沒有發(fā)現(xiàn)業(yè)務(wù)中斷,滿足了透明遷移的需求。
圖3 服務(wù)暫停時間測試結(jié)果
5 結(jié)束語
本文設(shè)計并實現(xiàn)了跨域遷移的網(wǎng)絡(luò)重定向模型,采用預(yù)配置、單向IP隧道以及IP雙棧等多種策略有效提高數(shù)據(jù)重定向效率,減少部署時間。實驗結(jié)果表明,該模型可以應(yīng)用于跨局域網(wǎng)或WAN環(huán)境中的虛擬機在線遷移,具有較好的實用性。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:虛擬機跨域遷移中的網(wǎng)絡(luò)重定向模型
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112152137.html