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