本發(fā)明涉及一種虛擬機(jī)增量備份和恢復(fù)方法,尤其涉及一種保持用戶快照設(shè)定總數(shù)的虛擬機(jī)增量備份、恢復(fù)方法。
背景技術(shù):
在做虛擬機(jī)增量備份時(shí),我們知道:第一個(gè)快照是基快照,其它是增量快照,每個(gè)快照只包含自前一個(gè)快照以來變化的數(shù)據(jù),那么如何刪除最舊的快照呢?基快照肯定不能刪除,因?yàn)槿艋煺毡粍h除,我們就不能恢復(fù)快照鏈中的任何一個(gè)快照,那么我們能刪除那個(gè)最舊的快照嗎?其實(shí)不能,若我們刪除除基快照外最舊的那個(gè)快照,那么與最舊那個(gè)快照相鄰的兩個(gè)快照之間的連接就斷了,我們就不能恢復(fù)除基快照之外的任何快照了。
因此,有必要采用一種新的虛擬機(jī)增量備份和恢復(fù)方法,以解決上述的問題。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要提供一種提高存儲(chǔ)空間利用率的虛擬機(jī)增量備份和恢復(fù)方法。
為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:一種保持用戶快照設(shè)定總數(shù)的虛擬機(jī)增量快照備份的方法,第一步驟:產(chǎn)生一個(gè)基快照或增量快照;第二步驟:確認(rèn)是否成功產(chǎn)生一個(gè)基快照或增量快照,若成功,執(zhí)行第三步驟;若不成功,則提示產(chǎn)生快照信息錯(cuò)誤,則結(jié)束備份;第三步驟:判斷快照鏈中快照總數(shù)是否超出用戶設(shè)定值,當(dāng)快照總數(shù)超出用戶設(shè)定值,執(zhí)行第四步驟;若當(dāng)快照鏈中快照總數(shù)未超出用戶設(shè)定,直接把新快照加到快照鏈中;第四步驟:把除快照鏈中基快照之外最舊的增量快照與基快照合并;第五步驟:確認(rèn)合并是否成功,若合并成功,則將新產(chǎn)生的快照加到快照鏈中;若合并未成功,則輸出錯(cuò)誤信息并結(jié)束備份。具體的,上述第四步驟中,當(dāng)最舊的增量快照合并到基快照后,若快照鏈中快照總數(shù)仍然大于用戶設(shè)定值,再將目前除合并后基快照后的最舊的增量快照再次合并至基快照中,直至快照總數(shù)未超出用戶設(shè)定值。
為實(shí)現(xiàn)上述目的,本發(fā)明還采用如下技術(shù)方案:一種保持用戶快照設(shè)定總數(shù)的虛擬機(jī)快照恢復(fù)的方法,第一步驟:啟動(dòng)恢復(fù)快照;第二步驟:確認(rèn)恢復(fù)是否成功,若成功,執(zhí)行第三步驟;若不成功,提示啟動(dòng)恢復(fù)快照信息錯(cuò)誤,則結(jié)束恢復(fù);第三步驟:重新啟動(dòng)虛擬機(jī);第四步驟:確認(rèn)恢復(fù)的快照是否為最新快照;若是最新快照,則直接恢復(fù);若不是最新快照,則執(zhí)行第五步驟;第五步驟:把比被恢復(fù)快照更新的快照刪除,結(jié)束恢復(fù)。
具體的,在上述第五步驟中,在恢復(fù)了除最新快照之外的任何一個(gè)快照后,這個(gè)被恢復(fù)的快照之后的所有增量快照將變得無效,此時(shí),基于目前的虛擬機(jī)快照備份,產(chǎn)生新的快照鏈,原來的這個(gè)被恢復(fù)快照之后更新的快照鏈將被刪除。
相比現(xiàn)有技術(shù),
本發(fā)明的備份方法是在原有備份的基礎(chǔ)上,采用合并快照的方法來“刪除”最舊的非基快照,并對(duì)產(chǎn)生的每一快照進(jìn)行壓縮和去重,這樣最大限度地保存了磁盤存儲(chǔ)空間,極大地提高了磁盤空間的利用率。針對(duì)同一快照鏈,其備份的數(shù)量不會(huì)超過設(shè)定值,從而為其它快照鏈預(yù)留更大的存儲(chǔ)空間。通過本發(fā)明的恢復(fù)方法,其恢復(fù)更合適、符合用戶需求的快照,通過刪除更新的而不符合用戶需求的快照,節(jié)省虛擬機(jī)存儲(chǔ)空間,又能滿足客戶的使用需求。
附圖說明
圖1為本發(fā)明保持用戶快照設(shè)定總數(shù)的虛擬機(jī)備份的流程圖;
圖2為本發(fā)明保持用戶快照設(shè)定總數(shù)的虛擬機(jī)恢復(fù)的流程圖。
具體實(shí)施方式
為了便于理解本發(fā)明,下面將參照相關(guān)附圖對(duì)本發(fā)明進(jìn)行更全面的描述。附圖中給出了本發(fā)明的較佳實(shí)施方式。但是,本發(fā)明可以通過許多不同的形式來實(shí)現(xiàn),并不限于下面所描述的實(shí)施方式。相反地,提供這些實(shí)施方式的目的是使對(duì)本發(fā)明的公開內(nèi)容理解的更加透徹全面。
參照附圖1,本發(fā)明保持用戶快照設(shè)定總數(shù)的虛擬機(jī)增量快照備份的方法如下:
第一步驟:產(chǎn)生一個(gè)基快照或增量快照;
第二步驟:確認(rèn)是否成功產(chǎn)生快照,若成功,執(zhí)行第三步驟;若不成功,則提示產(chǎn)生快照信息錯(cuò)誤,則結(jié)束備份;
第三步驟:判斷快照鏈中快照總數(shù)是否超出用戶設(shè)定值,當(dāng)快照總數(shù)超出用戶設(shè)定值,執(zhí)行第四步驟;若當(dāng)快照鏈中快照總數(shù)未超出用戶設(shè)定值,直接把新快照加到快照鏈中;
第四步驟:把除快照鏈中基快照之外最舊的快照與基快照合并;
具體的,第一個(gè)快照是基快照,其它是增量快照,把最舊的增量快照合并到基快照中,這樣使快照鏈保持不斷,并能“刪除”最舊的增量快照,以便能使用戶設(shè)定的快照總數(shù)不變。
當(dāng)最舊的增量快照合并到基快照后,若快照鏈中快照總數(shù)仍然大于用戶設(shè)定值,再將目前除合并后基快照后的最舊增量快照再次合并至基快照中,直至快照總數(shù)未超出用戶設(shè)定值。
第五步驟:確認(rèn)合并是否成功,若合并成功,則將新產(chǎn)生的快照加到快照鏈中;若合并未成功,則輸出錯(cuò)誤信息并結(jié)束備份。
如用戶給定的快照總數(shù)為30,那么本方法將只保留最新的30個(gè)快照,其余更舊的快照將被“刪除”。也就是說,把最舊的快照合并到基快照中,這樣使快照鏈保持不斷,并能“刪除”最舊的快照,以便能使用戶設(shè)定的快照總數(shù)不變。
相比現(xiàn)有的備份方法,本發(fā)明的備份方法是在原有備份的基礎(chǔ)上,采用合并快照的方法來“刪除”最舊的非基快照,并對(duì)產(chǎn)生的每一快照進(jìn)行壓縮和去重,這樣最大限度地保存了磁盤存儲(chǔ)空間,極大地提高了磁盤空間的利用率。針對(duì)同一快照鏈,其備份的數(shù)量不會(huì)超過設(shè)定值,從而為其它快照鏈預(yù)留更大的存儲(chǔ)空間。
參照附圖2,本發(fā)明保持用戶快照設(shè)定總數(shù)的虛擬機(jī)快照恢復(fù)的方法如下:
第一步驟:啟動(dòng)恢復(fù)快照;
第二步驟:確認(rèn)啟動(dòng)恢復(fù)是否成功,若成功,執(zhí)行第三步驟;若不成功,提示啟動(dòng)恢復(fù)快照信息錯(cuò)誤,則結(jié)束恢復(fù);
第三步驟:重新啟動(dòng)虛擬機(jī);
第四步驟:確認(rèn)恢復(fù)的快照是否為最新快照;若是最新快照,則直接恢復(fù);若不是最新快照,則執(zhí)行第五步驟;
第五步驟:把比被恢復(fù)快照更新的快照刪除,結(jié)束恢復(fù)。
具體的,在恢復(fù)了除最新快照之外的任何一個(gè)快照后,這個(gè)被恢復(fù)的快照之后的所有增量快照將變得無效,此時(shí),基于目前的虛擬機(jī)快照備份,產(chǎn)生新的快照鏈,原來的這個(gè)被恢復(fù)快照之后更新的快照鏈將被刪除。
例如:到目前為止已產(chǎn)生了5個(gè)快照,現(xiàn)在恢復(fù)第三個(gè)快照到虛擬機(jī),那么第四和第五快照將被刪除,我們將基于第三個(gè)快照再產(chǎn)生新的快照鏈,并以此來計(jì)算快照總數(shù)。這樣處理也是合理的,既然用戶選擇恢復(fù)到第三個(gè)增量快照,而不是更新的第四和第五個(gè)增量快照,說明他對(duì)第三個(gè)增量快照更感興趣,對(duì)第四和第五個(gè)增量快照不感興趣,所以可以刪除第四和第五個(gè)增量快照。
備份時(shí),對(duì)快照鏈中的快照總數(shù)的處理與恢復(fù)時(shí)對(duì)快照鏈中的快照總數(shù)的處理是不同的。
備份時(shí),每產(chǎn)生一個(gè)新快照,若快照鏈中的快照總數(shù)小于或等于設(shè)定的快照總數(shù)值,則直接可備份;反之,若快照鏈的快照總數(shù)大于設(shè)定的快照總數(shù)值,則最舊的那個(gè)非基快照將被合并到基快照,以保持快照鏈的有效性和設(shè)定的快照總數(shù)不變。
恢復(fù)時(shí),若被恢復(fù)的快照不是快照鏈中最新的快照,那么在快照被恢復(fù)到虛擬機(jī)后,在該快照之后更新的那些快照將被全部刪除,下次備份時(shí),重新備份的新快照將基于上述恢復(fù)的快照再產(chǎn)生,快照鏈中的快照總數(shù)將重新被計(jì)算。
相對(duì)現(xiàn)有技術(shù),通過本發(fā)明的恢復(fù)方法,其恢復(fù)更合適、符合用戶需求的快照,通過刪除更新的而不符合用戶需求的快照,節(jié)省虛擬機(jī)快照的存儲(chǔ)空間,又能滿足客戶的使用需求。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,上面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式做詳細(xì)的說明。在上面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以很多不同于上面描述的其它方式來實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似改進(jìn),因此本發(fā)明不受上面公開的具體實(shí)施例的限制。并且,以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的兩種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。