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