欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種虛擬機(jī)存儲(chǔ)同步方法

文檔序號(hào):10470985閱讀:640來源:國知局
一種虛擬機(jī)存儲(chǔ)同步方法
【專利摘要】本發(fā)明涉及一種基于共享虛擬磁盤的虛擬機(jī)存儲(chǔ)同步方法。本發(fā)明首先把虛擬磁盤鏡像存儲(chǔ)于共享存儲(chǔ)中,采用快照的方式運(yùn)行虛擬機(jī);然后,獲取內(nèi)存臟頁位圖,獲取臟頁位圖在虛擬機(jī)邏輯空間中的地址;得到該頁面在物理機(jī)內(nèi)存空間中的真實(shí)地址,將這些內(nèi)存臟頁封裝成數(shù)據(jù)包發(fā)送至備虛擬機(jī);將該頁面映射到虛擬機(jī)的邏輯空間的相同地址;最后,備虛擬機(jī)向主虛擬機(jī)返回信息,完成此次同步。本發(fā)明提出的基于虛擬磁盤的虛擬機(jī)存儲(chǔ)同步方法,解決了目前虛擬機(jī)容錯(cuò)時(shí)存儲(chǔ)同步過程中發(fā)生的拷貝時(shí)間長(zhǎng)、系統(tǒng)開銷大的問題;可以應(yīng)用在虛擬機(jī)容錯(cuò)技術(shù)中。
【專利說明】
一種虛擬機(jī)存儲(chǔ)同步方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,特別是一種基于共享虛擬磁盤的虛擬機(jī)存儲(chǔ)同步方法。
【背景技術(shù)】
[0002]隨著虛擬化技術(shù)運(yùn)用于服務(wù)器中,越來越多的企業(yè)選擇在虛擬化服務(wù)器上運(yùn)行關(guān)鍵業(yè)務(wù),以提尚關(guān)鍵業(yè)務(wù)運(yùn)彳丁效率。人們?cè)趶V泛使用虛擬機(jī)的同時(shí),開始對(duì)虛擬機(jī)提出更尚的要求,高可靠性正是其中一個(gè)重要要求,虛擬機(jī)容錯(cuò)技術(shù)目前得到了廣泛的應(yīng)用。在虛擬機(jī)容錯(cuò)過程中對(duì)內(nèi)存和存儲(chǔ)的同步是兩個(gè)最主要的方面。內(nèi)存同步目前多采用定時(shí)內(nèi)存臟頁數(shù)據(jù)拷貝的方式,是一種比較成熟的技術(shù)。存儲(chǔ)的同步由于雙機(jī)熱備方法要求主虛擬機(jī)和備虛擬機(jī)各自擁有獨(dú)立的虛擬磁盤,因此備份時(shí)兩塊磁盤通過網(wǎng)絡(luò)不斷進(jìn)行同步,保持內(nèi)容的一致性。由于虛擬磁盤文件通常比較大,拷貝磁盤文件無疑要花費(fèi)大量時(shí)間,這就增加了虛擬機(jī)容錯(cuò)的時(shí)間代價(jià)與空間代價(jià),影響了系統(tǒng)的正常運(yùn)行。

【發(fā)明內(nèi)容】

[0003]本發(fā)明解決的技術(shù)問題在于一種基于共享虛擬磁盤的虛擬機(jī)存儲(chǔ)同步方法;解決目前虛擬機(jī)容錯(cuò)時(shí)存儲(chǔ)同步過程中發(fā)生的拷貝時(shí)間長(zhǎng)、系統(tǒng)開銷大的問題。
[0004]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是,所述的方法包括以下步驟:
[0005]步驟1:把虛擬磁盤鏡像存儲(chǔ)于共享存儲(chǔ)中,將此磁盤鏡像文件作為母鏡像;采用快照的方式運(yùn)行虛擬機(jī),子鏡像數(shù)據(jù)保存在內(nèi)存中;
[0006]步驟2:主虛擬機(jī)獲取上一次同步后到這次同步時(shí)刻的虛擬機(jī)內(nèi)存發(fā)生改變的內(nèi)存臟頁位圖;
[0007]步驟3:獲取步驟2中內(nèi)存臟頁位圖在虛擬機(jī)邏輯空間中的地址;
[0008]步驟4:根據(jù)邏輯地址與物理機(jī)實(shí)際地址的對(duì)應(yīng)表得到該頁面在物理機(jī)內(nèi)存空間中的真實(shí)地址,通過地址在物理機(jī)的內(nèi)存空間中讀出這些頁面的數(shù)據(jù)后,將這些內(nèi)存臟頁封裝成數(shù)據(jù)包發(fā)送至備虛擬機(jī);
[0009]步驟5:備虛擬機(jī)收到主虛擬機(jī)傳來的內(nèi)存臟頁數(shù)據(jù)包,保存在物理機(jī)的內(nèi)存空間中,通過填寫物理機(jī)實(shí)際地址與邏輯地址對(duì)應(yīng)表,將該頁面映射到虛擬機(jī)的邏輯空間的相同地址;
[0010]步驟6:備虛擬機(jī)向主虛擬機(jī)返回信息,完成此次同步。
[0011]所述內(nèi)存臟頁指的是相對(duì)于備虛擬機(jī)的內(nèi)存來說,在主虛擬機(jī)上由于程序運(yùn)行而導(dǎo)致的數(shù)據(jù)被重寫過的內(nèi)存頁;
[0012]所述內(nèi)存臟頁位圖指的是保存內(nèi)存頁面開始地址在虛擬機(jī)內(nèi)存中偏移的數(shù)據(jù)結(jié)構(gòu);
[0013]所述獲取內(nèi)存臟頁位圖指的是通過對(duì)寫內(nèi)存的操作進(jìn)行記錄,得到每次寫入的內(nèi)存頁的相對(duì)偏移并進(jìn)行記錄。
[0014]所述邏輯地址與物理機(jī)實(shí)際地址對(duì)應(yīng)表指的是虛擬機(jī)內(nèi)存地址到物理機(jī)內(nèi)存地址的對(duì)照表,通過查詢邏輯地址與物理機(jī)實(shí)際地址對(duì)應(yīng)表可以把虛擬機(jī)內(nèi)存地址轉(zhuǎn)換成實(shí)際的物理機(jī)內(nèi)存地址;
[0015]所述物理機(jī)實(shí)際地址與邏輯地址對(duì)應(yīng)表指的是物理機(jī)內(nèi)存地址到虛擬機(jī)內(nèi)存地址的對(duì)照表,通過查詢物理機(jī)實(shí)際地址與邏輯地址對(duì)應(yīng)表可以把實(shí)際的物理機(jī)內(nèi)存地址轉(zhuǎn)換成虛擬機(jī)內(nèi)存地址。
[0016]本發(fā)明采用共享虛擬磁盤的方式,對(duì)內(nèi)存臟頁進(jìn)行拷貝;解決了虛擬機(jī)容錯(cuò)的時(shí)間與空間需求大,容易影響系統(tǒng)正常運(yùn)行的問題。
【附圖說明】
[0017]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說明:
[0018]圖1是本發(fā)明的流程圖;
[0019]圖2是本發(fā)明內(nèi)存的增量拷貝原理圖。
【具體實(shí)施方式】
[0020]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0021 ]本實(shí)現(xiàn)在雙機(jī)熱備工具remus的基礎(chǔ)上基于Xen虛擬機(jī)實(shí)現(xiàn)虛擬機(jī)磁盤數(shù)據(jù)的同步。
[0022]首先仿照xc_domain_save()函數(shù)實(shí)現(xiàn)一個(gè)新的內(nèi)存拷貝函數(shù)remus_domain_save()函數(shù)。到達(dá)某一同步時(shí)刻,雙機(jī)開始進(jìn)行同步,主虛擬機(jī)調(diào)用remus_domain_save(),備虛擬機(jī)仍調(diào)用1(3_(1011^;[11_^81:0^()函數(shù)。為了減少內(nèi)存同步花費(fèi)的時(shí)間代價(jià),^1]1118_d0main_saVe()采用增量拷貝的方式,獲取上一次同步后到這次同步時(shí)刻的虛擬機(jī)內(nèi)存發(fā)生改變的內(nèi)存臟頁,將這些臟頁封裝成ckpt包發(fā)送至備虛擬機(jī);備虛擬機(jī)接收ckpt包,并調(diào)用xc_domain_restore()函數(shù)將這些內(nèi)存頁面映射到自己的內(nèi)存空間中,向主虛擬機(jī)返回信息,完成這次同步。內(nèi)存的增量拷貝充分降低了為了同步的內(nèi)存頁面?zhèn)鬏數(shù)臅r(shí)間代價(jià)。
[0023]內(nèi)存的增量拷貝的實(shí)現(xiàn)主要用到Xen虛擬機(jī)的影子頁表技術(shù),原理見圖2。
[0024]影子頁表對(duì)于DomU是只讀的,當(dāng)Dom U對(duì)內(nèi)存頁內(nèi)容進(jìn)行修改時(shí),頁表臟位將會(huì)改變,影子頁表也要進(jìn)行相應(yīng)的改變,但Dom U無權(quán)修改影子頁表,所以會(huì)觸發(fā)頁錯(cuò)誤。XenHypervisor檢測(cè)到頁錯(cuò)誤,對(duì)頁表進(jìn)行檢查,Dom U是否有權(quán)對(duì)相應(yīng)頁表項(xiàng)對(duì)應(yīng)的內(nèi)存頁面進(jìn)行修改。如果允許Dom U對(duì)頁面進(jìn)行修改,則將影子頁表中對(duì)應(yīng)頁表項(xiàng)對(duì)Dom U的權(quán)限改為可寫,同時(shí)在影子頁表的臟頁位圖中記錄被修改的內(nèi)存臟頁。Dom U才可以對(duì)相應(yīng)內(nèi)存頁面進(jìn)行修改。通過影子頁表的機(jī)制,Xen虛擬機(jī)將所有修改過的內(nèi)存臟頁都進(jìn)行了記錄。并且提供了xc_shadow_control ()函數(shù)對(duì)臟頁位圖進(jìn)行讀取和清空操作。使用參數(shù)Xen_001?:11_3說00¥_0?_0^4奶周用1(3_81^(10¥_(3011壯01()函數(shù)時(shí)將會(huì)把臟頁位圖讀取到指定的位圖結(jié)構(gòu)中,同時(shí)清空影子頁表的臟頁位圖。通過影子頁表機(jī)制和xc_shadow_control()函數(shù)可以獲得兩次同步時(shí)刻之間的內(nèi)存臟頁,在進(jìn)行內(nèi)存的每次同步時(shí)不需拷貝全部?jī)?nèi)存頁面,只要拷貝兩次同步時(shí)刻之間改變的內(nèi)存臟頁即可,這種內(nèi)存拷貝方法就是內(nèi)存的增量拷貝。
[0025]得到臟頁位圖后根據(jù)位圖中的位置可以得到被修改的內(nèi)存頁面在虛擬機(jī)邏輯空間中的地址。然后查詢Xen虛擬機(jī)提供的p2m表,即邏輯地址與物理機(jī)實(shí)際地址的對(duì)應(yīng)表,通過查詢p2m表可得到該頁面在物理機(jī)內(nèi)存空間中的真實(shí)地址,可以進(jìn)行該頁面的傳輸。備虛擬機(jī)收到主虛擬機(jī)傳來的內(nèi)存頁面,保存在物理機(jī)的內(nèi)存空間中,通過填寫m2p表,將該頁面映射到虛擬機(jī)的邏輯空間的相同地址,以后當(dāng)備份虛擬機(jī)開始運(yùn)行時(shí)即可被正常使用。
【主權(quán)項(xiàng)】
1.一種虛擬機(jī)存儲(chǔ)同步方法,其特征在于,所述的方法包括以下步驟: 步驟1:把虛擬磁盤鏡像存儲(chǔ)于共享存儲(chǔ)中,將此磁盤鏡像文件作為母鏡像;采用快照的方式運(yùn)行虛擬機(jī),子鏡像數(shù)據(jù)保存在內(nèi)存中; 步驟2:主虛擬機(jī)獲取上一次同步后到這次同步時(shí)刻的虛擬機(jī)內(nèi)存發(fā)生改變的內(nèi)存臟頁位圖; 步驟3:獲取步驟2中內(nèi)存臟頁位圖在虛擬機(jī)邏輯空間中的地址; 步驟4:根據(jù)邏輯地址與物理機(jī)實(shí)際地址的對(duì)應(yīng)表得到該頁面在物理機(jī)內(nèi)存空間中的真實(shí)地址,通過地址在物理機(jī)的內(nèi)存空間中讀出這些頁面的數(shù)據(jù)后,將這些內(nèi)存臟頁封裝成數(shù)據(jù)包發(fā)送至備虛擬機(jī); 步驟5:備虛擬機(jī)收到主虛擬機(jī)傳來的內(nèi)存臟頁數(shù)據(jù)包,保存在物理機(jī)的內(nèi)存空間中,通過填寫物理機(jī)實(shí)際地址與邏輯地址對(duì)應(yīng)表,將該頁面映射到虛擬機(jī)的邏輯空間的相同地址; 步驟6:備虛擬機(jī)向主虛擬機(jī)返回信息,完成此次同步。2.根據(jù)權(quán)利要求1所述的虛擬機(jī)存儲(chǔ)同步方法,其特征在于,所述內(nèi)存臟頁指的是相對(duì)于備虛擬機(jī)的內(nèi)存來說,在主虛擬機(jī)上由于程序運(yùn)行而導(dǎo)致的數(shù)據(jù)被重寫過的內(nèi)存頁; 所述內(nèi)存臟頁位圖指的是保存內(nèi)存頁面開始地址在虛擬機(jī)內(nèi)存中偏移的數(shù)據(jù)結(jié)構(gòu); 所述獲取內(nèi)存臟頁位圖指的是通過對(duì)寫內(nèi)存的操作進(jìn)行記錄,得到每次寫入的內(nèi)存頁的相對(duì)偏移并進(jìn)行記錄。3.根據(jù)權(quán)利要求1或2所述的虛擬機(jī)存儲(chǔ)同步方法,其特征在于,所述邏輯地址與物理機(jī)實(shí)際地址對(duì)應(yīng)表指的是虛擬機(jī)內(nèi)存地址到物理機(jī)內(nèi)存地址的對(duì)照表,通過查詢邏輯地址與物理機(jī)實(shí)際地址對(duì)應(yīng)表可以把虛擬機(jī)內(nèi)存地址轉(zhuǎn)換成實(shí)際的物理機(jī)內(nèi)存地址; 所述物理機(jī)實(shí)際地址與邏輯地址對(duì)應(yīng)表指的是物理機(jī)內(nèi)存地址到虛擬機(jī)內(nèi)存地址的對(duì)照表,通過查詢物理機(jī)實(shí)際地址與邏輯地址對(duì)應(yīng)表可以把實(shí)際的物理機(jī)內(nèi)存地址轉(zhuǎn)換成虛擬機(jī)內(nèi)存地址。
【文檔編號(hào)】G06F3/06GK105824689SQ201610196623
【公開日】2016年8月3日
【申請(qǐng)日】2016年3月30日
【發(fā)明人】莫展鵬, 楊松, 季統(tǒng)凱
【申請(qǐng)人】國云科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
瑞安市| 临泽县| 平潭县| 万载县| 淄博市| 侯马市| 淳化县| 黄石市| 区。| 麻江县| 齐齐哈尔市| 获嘉县| 扬中市| 云梦县| 安阳县| 三门峡市| 松溪县| 建昌县| 广南县| 上林县| 灵石县| 浏阳市| 丹巴县| 大竹县| 扶绥县| 金堂县| 连州市| 平顶山市| 察雅县| 小金县| 太仓市| 西峡县| 阜南县| 白朗县| 五大连池市| 大丰市| 梨树县| 宜州市| 浦县| 德清县| 开阳县|