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