国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      虛擬機(jī)動(dòng)態(tài)保存快照的方法

      文檔序號(hào):8258128閱讀:2317來(lái)源:國(guó)知局
      虛擬機(jī)動(dòng)態(tài)保存快照的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種保存快照的方法,具體地,涉及一種虛擬機(jī)動(dòng)態(tài)保存快照的方法。
      【背景技術(shù)】
      [0002]如今,云計(jì)算技術(shù)越來(lái)越廣泛的得到使用,正在很多領(lǐng)域逐漸取代傳統(tǒng)的IT服務(wù)模式,為IT行業(yè)的市場(chǎng)帶來(lái)巨大的變革,也為IT技術(shù)的創(chuàng)新開辟了新的方向;虛擬化是構(gòu)建云基礎(chǔ)架構(gòu)不可或缺的關(guān)鍵技術(shù)之一,對(duì)比傳統(tǒng)的物理資源,虛擬化技術(shù)在資源的有效利用、動(dòng)態(tài)調(diào)配和高可靠性方面有著巨大的優(yōu)勢(shì);QEMU-KVM虛擬化(簡(jiǎn)稱KVM)作為一種新興的開源虛擬化軟件,因其虛擬化效率高、與Linux內(nèi)核完美集成、操作配置簡(jiǎn)單等優(yōu)勢(shì),與老牌的虛擬化軟件如VMWARE、Xen等一起,并列為現(xiàn)今主流的虛擬化技術(shù),并有逐步取代的趨勢(shì);但是KVM虛擬化因其發(fā)展時(shí)間較短,在基本功能上仍有一些欠缺之處,比如:對(duì)于正在運(yùn)行的虛擬機(jī),無(wú)法動(dòng)態(tài)的、集成的備份其內(nèi)存與磁盤的內(nèi)容(虛擬化快照技術(shù)),一種傳統(tǒng)方法快照過(guò)程中會(huì)主動(dòng)掛起虛擬機(jī)服務(wù),快照保存流程完成后再恢復(fù)虛擬機(jī)服務(wù)。另一種傳統(tǒng)方法只能動(dòng)態(tài)保存虛擬機(jī)磁盤范圍的內(nèi)容,所以在做快照恢復(fù)操作時(shí)無(wú)法還原到虛擬機(jī)快照時(shí)間點(diǎn)的運(yùn)行中狀態(tài);所以,在使用快照或快照恢復(fù)功能時(shí),都會(huì)在很大程度上影響云平臺(tái)的服務(wù)質(zhì)量。

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

      [0003]針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種虛擬機(jī)動(dòng)態(tài)保存快照的方法,其在不影響虛擬機(jī)內(nèi)應(yīng)用服務(wù)的前提下完成虛擬機(jī)快照操作,并能在需要時(shí)根據(jù)快照保存的檔案完全恢復(fù)虛擬機(jī)磁盤與內(nèi)存的當(dāng)時(shí)狀態(tài)。
      [0004]根據(jù)本發(fā)明的一個(gè)方面,提供一種虛擬機(jī)動(dòng)態(tài)保存快照的方法,其特征在于,所述虛擬機(jī)動(dòng)態(tài)保存快照的方法包括以下步驟:
      [0005]步驟一,使用一特定結(jié)構(gòu)初始化文件,該文件在后續(xù)步驟用于分段保存虛擬機(jī)狀態(tài)數(shù)據(jù)與內(nèi)存數(shù)據(jù),此步驟需要初始化該文件的標(biāo)準(zhǔn)I/o流對(duì)象,并注冊(cè)基礎(chǔ)讀寫操作集;
      [0006]步驟二,創(chuàng)建一塊新的虛擬磁盤文件,在虛擬機(jī)主進(jìn)程中注冊(cè)其結(jié)構(gòu)化數(shù)據(jù),并將其置于虛擬磁盤鏈表的末端;
      [0007]步驟三,遍歷該虛擬機(jī)中掛載的所有虛擬設(shè)備,使用不同虛擬設(shè)備注冊(cè)的特定方法保存全量的虛擬設(shè)備狀態(tài)數(shù)據(jù)與客戶機(jī)內(nèi)存數(shù)據(jù)至步驟一創(chuàng)建的文件中;在數(shù)據(jù)寫入的開始、循環(huán)迭代及結(jié)束過(guò)程中均使用魔數(shù)分割數(shù)據(jù)片段,用于讀取時(shí)識(shí)別分段恢復(fù);
      [0008]步驟四,循環(huán)迭代的保存虛擬設(shè)備狀態(tài)與虛擬機(jī)內(nèi)存中變化的部分至指定的文件,并統(tǒng)計(jì)每次保存數(shù)據(jù)量與保存消耗時(shí)間;
      [0009]步驟五,每次循環(huán)迭代開始,首先統(tǒng)計(jì)所有待決的臟數(shù)據(jù)量,跳出迭代后即加鎖虛擬機(jī)1線程,停止虛擬CPU線程,使動(dòng)態(tài)的數(shù)據(jù)不再變化,安全完成最后一部分保存動(dòng)作,完成虛擬機(jī)內(nèi)存與虛擬設(shè)備數(shù)據(jù)的保存后,馬上切換虛擬磁盤指針至新的虛擬磁盤,使后續(xù)的I/o流向新磁盤設(shè)備,而之前的磁盤設(shè)備移動(dòng)為磁盤鏈表的倒數(shù)第二項(xiàng),同時(shí)作為磁盤快照節(jié)點(diǎn),在需要恢復(fù)快照時(shí),直接使用該節(jié)點(diǎn)生成虛擬機(jī)即可;
      [0010]步驟六,解鎖虛擬機(jī)1線程,并恢復(fù)虛擬CPU線程,至此虛擬機(jī)恢復(fù)運(yùn)行態(tài)。
      [0011]優(yōu)選地,所述虛擬機(jī)動(dòng)態(tài)保存快照的方法涉及的數(shù)據(jù)對(duì)象分為三個(gè)部分:虛擬設(shè)備狀態(tài)、虛擬機(jī)內(nèi)存和虛擬機(jī)磁盤。
      [0012]優(yōu)選地,所述步驟三的魔數(shù)分割數(shù)據(jù)片段包括以下步驟:將數(shù)據(jù)保存到文件的步驟分為預(yù)備、迭代和結(jié)尾三部分,文件前兩字節(jié)依次保存快照動(dòng)作整體魔數(shù)和快照版本信息,接下來(lái)排列預(yù)備段信息,依次寫入預(yù)備段開始魔數(shù)、單個(gè)設(shè)備預(yù)備快照控制信息、單個(gè)設(shè)備預(yù)備快照數(shù)據(jù)信息;完成預(yù)備段數(shù)據(jù)后,循環(huán)的寫入迭代段開始魔數(shù)、單個(gè)設(shè)備迭代快照控制信息、單個(gè)設(shè)備迭代快照數(shù)據(jù)信息;最后寫入完成段開始魔數(shù)、單個(gè)設(shè)備完成快照控制信息、單個(gè)設(shè)備完成快照數(shù)據(jù)信息。
      [0013]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:本發(fā)明在于保存虛擬機(jī)快照時(shí),虛擬機(jī)內(nèi)運(yùn)行的應(yīng)用業(yè)務(wù)無(wú)感知、不會(huì)被終止其服務(wù),從而同時(shí)滿足了虛擬化技術(shù)中數(shù)據(jù)安全與服務(wù)連貫性的需求。
      【附圖說(shuō)明】
      [0014]通過(guò)閱讀參照以下附圖對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
      [0015]圖1為本發(fā)明實(shí)施虛擬磁盤鏈表的示意圖。
      [0016]圖2為本發(fā)明實(shí)施虛擬磁盤鏈表增加一個(gè)磁盤后的示意圖。
      【具體實(shí)施方式】
      [0017]下面結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。以下實(shí)施例將有助于本領(lǐng)域的技術(shù)人員進(jìn)一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當(dāng)指出的是,對(duì)本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn)。這些都屬于本發(fā)明的保護(hù)范圍。
      [0018]本發(fā)明將虛擬機(jī)涉及的數(shù)據(jù)對(duì)象分為三個(gè)部分——虛擬設(shè)備狀態(tài)(例如虛擬CPU寄存器內(nèi)容、驅(qū)動(dòng)后端緩沖區(qū)數(shù)據(jù))、虛擬機(jī)內(nèi)存和虛擬機(jī)磁盤(以下簡(jiǎn)稱為“磁盤”),動(dòng)態(tài)保存快照就是在這三類數(shù)據(jù)不斷變化的過(guò)程中,在保障數(shù)據(jù)一致的前提下將數(shù)據(jù)保存為檔案,并能在快照恢復(fù)時(shí)讀取檔案還原數(shù)據(jù),構(gòu)造虛擬機(jī)運(yùn)行場(chǎng)景;所以,動(dòng)態(tài)虛擬機(jī)快照在實(shí)現(xiàn)過(guò)程中有兩個(gè)技術(shù)要點(diǎn):第一、快照點(diǎn)保存的虛擬設(shè)備狀態(tài)、內(nèi)存數(shù)據(jù)及虛擬機(jī)磁盤數(shù)據(jù)必須確保協(xié)調(diào)一致;第二、保存快照時(shí)虛機(jī)運(yùn)行態(tài)的必須停機(jī)時(shí)間需要盡量短暫,以不影響虛擬機(jī)內(nèi)應(yīng)用服務(wù)為準(zhǔn)。
      [0019]本發(fā)明虛擬機(jī)動(dòng)態(tài)保存快照的方法包括以下步驟:
      [0020]步驟一,使用一特定結(jié)構(gòu)初始化文件,該文件在后續(xù)步驟用于分段保存虛擬機(jī)狀態(tài)數(shù)據(jù)與內(nèi)存數(shù)據(jù),此步驟需要初始化該文件的標(biāo)準(zhǔn)I/o流對(duì)象,并注冊(cè)基礎(chǔ)讀寫操作集;虛擬機(jī)磁盤格式應(yīng)使用QCOW2 (Copy On Write)磁盤格式,用以之后的步驟使用磁盤鏈表完成磁盤部分的快照,如圖1所示,虛擬磁盤鏈表采用虛擬機(jī)、磁盤A、磁盤B ;
      [0021]步驟二,創(chuàng)建一塊新的虛擬磁盤文件,在虛擬機(jī)主進(jìn)程中注冊(cè)其結(jié)構(gòu)化數(shù)據(jù),并將其置于虛擬磁盤鏈表的末端,即將此磁盤數(shù)據(jù)結(jié)構(gòu)中的磁盤鏈表前項(xiàng)指針指向目前虛擬機(jī)使用的磁盤文件結(jié)構(gòu);如圖2所示,在圖1的基礎(chǔ)上新增了一個(gè)磁盤C ;
      [0022]步驟三,遍歷該虛擬機(jī)中掛載的所有虛擬設(shè)備(包括虛擬CPU,虛擬內(nèi)存,虛擬PCI設(shè)備等),使用不同虛擬設(shè)備注冊(cè)的特定方法保存全量的虛擬設(shè)備狀態(tài)數(shù)據(jù)與客戶機(jī)內(nèi)存數(shù)據(jù)至步驟一創(chuàng)建的文件中;在數(shù)據(jù)寫入的開始、循環(huán)迭代及結(jié)束過(guò)程中均使用魔數(shù)分割數(shù)據(jù)片段,用于讀取時(shí)識(shí)
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1