摘 要在云計算平臺下,虛擬機在線遷移得到了廣泛使用。但就目前來看,虛擬機在線遷移性能會受到檢查點性能的影響,從而不利于虛擬機在線遷移的實現。因此,基于這種認識,本文對內存空洞排除技術、寫時復制技術、增量檢查點技術這幾種虛擬機在線遷移性能優化的關鍵技術展開了探討,從而為關注這一話題的人們提供參考。
【關鍵詞】虛擬機 在線遷移 性能優化 關鍵技術
使用虛擬化技術,可以有效實現資源的整合和利用,所以能夠給企業的數據資源管理提供較大的便利。利用虛擬機在線遷移,則能夠在不中斷虛擬機運行的情況下實現虛擬機內存數據和運行狀態的轉移,所以能夠更好的為用戶提供服務。而考慮到虛擬機在線遷移的性能問題,還應該利用有關技術實現其遷移性能的優化,繼而更好的為用戶使用虛擬化技術提供便利。
1 虛擬機在線遷移原理及不足
所謂的虛擬機在線遷移,其實就是在多個物理主機之間遷移虛擬機的一種技術。利用該技術,可以在不中斷服務應用的情況下進行虛擬機內存數據、狀態和操作系統的轉移。在遷移的過程中,需要先進行與虛擬機相關的內存空間的自動捕捉,然后將數據包以協議包方式在服務器上轉移。經過加載,新服務器將能出現處理器寄存器狀態,從而實現對原有虛擬機數據業務的無縫接管。由于大多數虛擬機是在同種管理程序服務下遷移,所以新虛擬機可以對原本虛擬機的名稱和特性進行保留。而對于用戶來講,雖然位于不同的服務器,但是這些虛擬機基本完全相同。
在虛擬機遷移的過程中,虛擬機管理器都需要進行虛擬機運行的瞬時狀態到磁盤介質的機制的保存,并且從鏡像文件中執行恢復虛擬機的操作。而這個鏡像文件就是虛擬機的檢查點文件,其需要對整個操作系統進行保存,所以將產生較大的粒度和開銷,因此會直接影響虛擬機的在線遷移性能。但就目前來看,云計算機環境下的操作系統的檢查點基本難以滿足虛擬計算系統服務持續性需求。為確保虛擬機的執行性能,虛擬機需要配置更多的物理內存,從而導致檢查點需要保存的數據較多。
2 虛擬機在線遷移性能優化關鍵技術
2.1 內存空洞排除技術
在虛擬機內存鏡像中,其實有較多信息對恢復檢查點的執行不具有意義。通過利用內存空洞排除技術,則能夠從檢查點中進行這些信息的排除,從而通過優化檢查點的性能實現虛擬機在線遷移性能優化。在應用該技術時,如何進行虛擬機內存鏡像中空閑頁面的快速有效識別是關鍵的問題。就目前來看,可以利用兩種策略實現這一目標。
利用用戶操作系統的虛擬機管理器,可以對虛擬機內存映射進行動態調整。同時,在客戶操作系統中,還擁有一個內存管理驅動程序,可以向操作系統申請分配內存。利用該程序,可以通過膨脹欺騙操作系統并獲取內存,但是同時也能從虛擬機管理器中獲得內存并交還系統。在這一過程中,可以在用戶操作系統中添加內存使用信息采集模塊,從而將系統內核維護信息傳遞到虛擬機管理器。而采取該種措施,將能有效減小虛擬機內存配置,所以能夠減小檢查點大小。
利用無用數據的方法,可以利用操作系統內核信息及數據頁本身的內容,所以也能夠減小檢查點的大小。在機器內存和客戶機偽物理地址之間,虛擬機管理器需要對二者的映射關系進行維護。而對于虛擬機管理器來講,只有所有的物理內存都將得到使用,操作系統才能擁有被真正使用的內存頁面。利用虛擬機內省機制,則能夠直接進行虛擬機內存頁面使用狀態的獲取,所以可以避免對空閑的內存頁面進行保存。因此,使用該種策略也能夠避免檢查點保存過程中出現遺漏內存頁面的問題,所以能夠有效優化檢查點性能。
2.2 寫時復制技術
就目前來看,需要使用停止-拷貝的方式進行虛擬機檢查點實現。但是,由于需要在保存檢查點的過程中避免虛擬機運作中斷,所以還應該盡量縮短檢查點的停機時間。具體來講,就是利用寫時復制技術進行虛擬機內存鏡像的保存。利用該機制,可以將數據設置成只讀狀態,并且先進行數據副本的復制,然后再進行數據的修改和更新。保存虛擬機內存鏡像時,則需要將所有頁面設置為只讀模式,并且按照內存頁面PFN號進行這些頁面的拷貝,然后將已經復制到檢查點的頁面的只讀標志清除。如果需要進行頁面的修改,檢查點后臺處理程序就會將這些即將變臟的內存頁面拷貝到只讀緩沖區,然后將頁面的只讀標志清除。而只有在頁面第一次被修改時,頁面才會被拷貝到緩沖區。所以利用該技術,可以使內存拷貝過程中的檢查點開銷得到減小,因此能夠實現對虛擬機在線遷移性能的優化。
2.3 增量檢查點技術
在一些情況下,為使系統具有較高的可用性和可靠性,需要進行系統檢查點的頻繁保存。而使用檢查點技術,可以使檢查點開銷得到有效減少。具體來講,就是在進行檢查點保存時,可以利用增量保存機制根據臟頁位圖進行被修改的頁面的拷貝。完成檢查點保存后,則可以將臟頁位圖清零,并且進行下一次需要保存的內存頁的記錄。在進行虛擬機狀態保存的過程中,如果在虛擬機狀態被保存到檢查點文件后,文件系統的數據得到了修改,就容易導致利用檢查點文件恢復虛擬機的操作出現錯誤。而通過建立保證檢查點文件和虛擬機文件系統狀態一致的模型,并且利用增量檢查點技術就能夠進行一個完整的虛擬機狀態的保存。因此,利用增量檢查點技術,可以使虛擬機的外存數據和內存鏡像狀態保持一致,所以能夠有效減少檢查點開銷。
3 結論
總而言之,針對虛擬機在線遷移的檢查點粒度大和開銷大的問題,可以利用內存空洞排除技術、寫時復制技術、增量檢查點技術進行檢查點性能的優化,從而實現虛擬機在線遷移性能的優化。
參考文獻
[1]陳陽,懷進鵬,胡春明.基于內存混合復制方式的虛擬機在線遷移機制[J].計算機學報,2011(12):2278-2291.
[2]苗國義,穆瑞輝.云計算環境下虛擬機在線遷移策略研究[J].計算機測量與控制,2013(08):2227-2229+2233.
[3]徐志紅,劉進軍,趙生慧.基于同步機制的虛擬機磁盤在線遷移策略[J].計算機工程,2012(09):291-293.
作者簡介
楊麗麗(1977-),男,陜西省商洛市人。學士學位。2001年畢業于陜西經貿學院。現為商洛學院網絡中心高級工程師。研究方向為網絡技術。
作者單位
商洛學院網絡中心 陜西省商洛市 726000