1 概述
隨著云計算、服務計算等新興技術的應用,在WAN 環境下進行虛擬機在線遷移的需求逐漸增加。虛擬機的在線遷移可以將虛擬機從一個物理節點透明地遷移到另一節點,實現資源調度,提高服務的可用性,已成為虛擬化的基礎支撐技術。
目前,在線遷移一般在同一個局域網內進行,源節點、目的節點間通過預拷貝技術遷移內存,利用廣播ARP 報文進行網絡重定向,為提高效率,對于含有大量數據的磁盤則是利用共享存儲來避免遷移。然而在WAN 環境下,共享模式使虛擬機經過WAN 讀寫磁盤,在網絡延遲較大特別是存在抖動的情況下將降低讀寫效率。
為此,本文設計一種適應WAN 的磁盤在線遷移策略。
2 相關工作
文獻提出利用實時同步機制實現磁盤遷移的方法。源節點將數據從緩存寫入本地磁盤,并通過TCP 連接實時發送至目的節點,從而保持兩節點磁盤的數據一致,實現磁盤遷移。該方法可以達到與共享存儲相近的遷移時間,但存在大量冗余數據被同步的情況,若虛擬機多次寫同一個磁盤塊,則目的節點亦會被重復同步,在虛擬機遷移前,這些數據將成為無效數據。此外,該方法中實時同步的突發流量可能對帶寬提出較高的要求。
文獻[4]提出預遷移與基于回放同步相結合的方式實現磁盤遷移。在遷移觸發后,首先采用預拷貝技術遷移整個虛擬機的磁盤數據,在此過程中,捕獲所有寫磁盤請求,包括寫的數據、位置及長度,并同時轉發到目的節點保存。當虛擬機遷移結束后,目的節點阻塞外部對磁盤的讀寫操作,并在磁盤上回放記錄的寫操作。由于需要遷移虛擬機磁盤的所有數據,因此該方案總體遷移時間長,遷移的數據量大,在一定程度上影響了遷移效率。
文獻[5]實現按需取塊的磁盤遷移策略,先遷移虛擬機的內存數據和CPU 狀態,在遷移過程中,磁盤讀寫在源節點上進行。當虛擬機在目的節點上恢復運行后,根據讀寫磁盤的請求,從源節點按需取數據塊,并在目的節點緩存。當所有需要的塊均被緩存后,在目的節點上即可實現磁盤的本地操作。該策略可以有效減少磁盤遷移的數據量,縮短遷移的總體時間,但會造成對源主機長時間的依賴,且遷移后仍需訪問源節點的磁盤,降低了訪問速度。
綜上所述,現有WAN 條件下的磁盤遷移方法在遷移時間、遷移數據量以及遷移后對源節點的依賴程度等方面存在局限。針對上述情況,本文提出一種帶冗余檢測功能的磁盤在線遷移策略,與實時磁盤同步相比,能縮短遷移時間,減少磁盤遷移的數據量,并實現了虛擬機對目的節點磁盤的本地操作。
3 磁盤遷移策略
3.1 策略描述
磁盤遷移策略(RCS-DLM)基于周期同步方式保持源、目的節點上磁盤數據的一致性,以此為基礎,進行虛擬機在線遷移。磁盤在線遷移的工作原理如圖1 所示,該策略包括非同步期的寫標記、同步與冗余檢測、虛擬機在線遷移3 個階段,其中,在虛擬機遷移觸發前,前2 個階段反復交替執行,遷移觸發后,進入第3 個階段,執行虛擬機遷移任務。
圖1 磁盤在線遷移的工作原理
圖1 的具體說明如下:
(1)Bitmap 寫標記與實時的磁盤同步不同,在非同步期內,RCS-DLM 負責將虛擬機的寫數據直接寫入源節點a 的磁盤而不傳輸至目的節點b。如圖1 所示,在源節點a,虛擬機的寫磁盤請求經過虛擬機監控器的事件通道傳遞至Dom0 域的設備模塊,設備模塊響應該請求,并將數據寫入虛擬機在a 的磁盤分區。在這一過程中,RCS-DLM 捕獲并通過Bitmap 記錄被寫磁盤塊(臟塊)的位置。Bitmap 中的每一位對應一個數據塊,若數據塊為臟塊,則相應位為1,否則為0。本文中數據塊大小為4 KB,若取虛擬機磁盤大小為8 GB,則Bitmap 自身僅為0.25 MB。
在非同步期內,如果虛擬機多次將數據寫入同一個磁盤塊,其相應的Bitmap 位被置為1,但由于每次寫入的數據不會同步至目的節點,因此避免了在兩節點間同步無效的冗余數據,節約了傳輸帶寬。
(2)同步與冗余檢測
同步期內的主要工作包括基于冗余檢測的磁盤數據同步以及實時數據復制。
磁盤數據同步:在同步開始時,a 將非同步期的Bitmap發送至b,兩節點根據該位圖分別計算對應各臟塊的Hash值;隨后,b 將Hash 表發送至a,節點a 依次比較每個對應臟塊的Hash 值,如果匹配,那么表示該塊內容一致,反之,則表示不一致;最后,RCS-DLM 將Hash 值不匹配的塊同步至節點b,待數據一致后,將Bitmap 所有位置0。冗余檢測避免了同步內容一致的數據塊,減少了遷移的磁盤數據量。
實時數據復制:在進行數據同步的過程中,虛擬機仍會向磁盤寫入數據,RCS-DLM 將數據寫入a 磁盤塊的同時通過節點間的TCP 連接復制到b。若此塊在非同步期已被標記為臟塊,且準備同步至b,則RCS-DLM 將其從同步隊列中刪除,并將Bitmap 相應位置0,這進一步減少了需要同步的數據量。
(3)虛擬機在線遷移
RCS-DLM 負責接受遷移命令,若遷移觸發時a 節點、b節點處于非同步期,則立即轉入同步期進行數據同步,在數據一致后進行虛擬機內存和CPU 狀態的遷移,如圖1 所示;在遷移過程中,虛擬機寫入a 磁盤的數據,同樣被實時復制到b 磁盤;虛擬機重啟后,直接讀寫b 磁盤,而并不需要訪問a。遷移后,a 節點、b 節點間仍可保持磁盤的周期同步,這樣方便虛擬機遷回a 節點。
3.2 RCS-DLM 的性能分析
比較從自遷移命令觸發到完成的過程中, 預遷移、RCS-DLM 及實時同步3 種方式所傳輸的磁盤數據量。預遷移方式從源節點復制到目的節點的磁盤數據量sumd可由下式計算得出:
(1)
其中,D 表示虛擬機所占磁盤大小;wd 表示復制D 過程中每次新產生臟塊的大小;P 表示寫次數;wm 為內存和CPU 狀態遷移過程中每次寫磁盤的數據量;Q 為寫次數。RCS-DLM 遷移的數據量sumr 可由下式計算得出:
*(2)
設遷移觸發時,a、b 正處于非同步期,隨后,轉入同步期,其需要同步的臟塊數據量為R,R
因為實時同步方式在遷移內存前無需磁盤臟塊的遷移,所以其遷移的數據量sums表示僅發生在內存遷移過程中的磁盤寫數據,sums=sumr?R。但由于該方式要求有充足的帶寬來保證磁盤的實時同步,這一點在WAN 環境下很難做到,特別是在執行磁盤密集型任務時更難保證,因此存在較大的局限性。
從分析來看,在遷移啟動到完成的過程中,RCS-DLM需要遷移的磁盤數據量遠小于預遷移方式,但比實時同步方式稍大。假設在3 種方式下a 節點、b 節點間的可用帶寬相同,則RCS-DLM 遷移所需的總體時間遠小于預遷移但略大于實時同步方式。
4 實驗結果與分析
4.1 實驗環境
硬件環境為:2 個在不同子網的宿主機節點,節點間帶寬設置為10 MB/s,每節點配置雙Xeon E5504 CPU、8 GB內存,分別為源節點、目的節點,虛擬機則由2 個VCPU、512 MB 內存組成。軟件環境為:Linux 平臺,虛擬化軟件Xen3.0.3,使用DF 工具模擬磁盤寫操作,并使用Tcpdump統計源、目的節點間數據的吞吐量。本文設計3 組實驗分別進行虛擬機讀寫性能及遷移時間的測試。
4.2 實驗設計與結果分析
4.2.1 實時同步方式的性能比較
本文實驗比較實時同步與RCS-DLM 在冗余數據、傳輸帶寬兩方面的性能。在虛擬機中模擬磁盤寫操作,每隔2 s寫入8 MB 數據,總計寫100 次,另外,寫入2 個200 MB的突發數據,非同步期固定為8 s,寫操作下2 種策略網絡吞吐量比較如圖2 所示。結果發現:在實時同步方式下,復制到目的節點的數據量為1.097 GB,RCS-DLM 為0.632 GB,有0.465 GB 的冗余數據無需同步至目的節點,占實時同步的42.4%。在傳輸過程中,實時方式要求的最高帶寬8.97 MB/s,RCS-DLM 為5.96 MB/s。可見,冗余檢測能夠有效避免同步無效數據,降低數據傳輸對帶寬的要求。
圖2 寫操作下2種策略網絡吞吐量比較
4.2.2 磁盤讀操作性能測試
本文實驗在虛擬機中設置FTP 服務器,以檢測讀虛擬機磁盤時RCS-DLM 的性能。實驗在165 s 的時間內,讀取虛擬機磁盤上0.972 GB 的數據,非同步期固定為35 s,讀操作下本文策略的網絡吞吐量如圖3 所示。實驗發現:盡管FTP 客戶端從虛擬機讀取了大量的數據,但由于讀磁盤并不觸發寫操作,因此在同步期源、目的節點僅同步從客戶端上傳的文件和同步信息,數據量少。可見,RCS-DLM 能夠較好地滿足讀操作密集的應用。
圖3 讀操作下本文策略的網絡吞吐量
4.2.3 遷移時間測試與比較
在RCS-DLM 方式的遷移過程中,以10 s 間隔寫入不同大小的磁盤文件,統計遷移的總時間及內存遷移的數據量。不同磁盤負載情況下遷移性能比較如圖4 所示,在遷移過程中,隨著寫數據量的增加,遷移的總時間和內存遷移量將有所增加。在無負載時,內存遷移量為0.577 GB,與內存大小0.512 GB 相比,迭代傳輸的內存量為0.065 GB,遷移總時間48.1s;寫入50 MB 大小的文件時,內存遷移量為0.623 GB,迭代傳輸為0.111 GB,遷移總時間54.3 s。較之無負載情況,內存迭代增加率為7.9%,遷移總時間增加率為12.9%,增幅較低。
圖4 不同磁盤負載情況下遷移性能比較
此外,實驗還利用Ping 測試虛擬機在無負載情況下遷移的暫停響應時間。共享存儲方式的暫停時間為4.3s,RCSDLM的暫停時間為4.6 s,與共享存儲方式的時間相近。
5 結束語
本文設計實現了帶有冗余檢測的虛擬機磁盤在線遷移策略。實驗結果表明,通過周期同步、冗余檢測等多種方式減少了自虛擬機遷移命令觸發到遷移完成過程中磁盤同步的數據量,降低了帶寬需求,縮短了遷移的總時間,該策略可應用于WAN 環境中的虛擬機在線遷移。基于本文工作,今后將在虛擬機整體遷移方面開展研究,包括優化虛擬機磁盤、內存、網絡等的遷移時序,進一步降低WAN 環境下延遲抖動對遷移的影響。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.hanmeixuan.com/
本文標題:基于同步機制的虛擬機磁盤在線遷移策略
本文網址:http://www.hanmeixuan.com/html/consultation/1083943484.html