本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種虛擬機(jī)備份、恢復(fù)方法及裝置。
背景技術(shù):
隨著云計(jì)算技術(shù)的快速發(fā)展,虛擬化技術(shù)也得到了快速發(fā)展。虛擬化技術(shù)可以充分利用昂貴的硬件資源,并且可以隔離硬件體系結(jié)構(gòu)和軟件系統(tǒng)之間的依賴關(guān)系,改進(jìn)系統(tǒng)的安全性能,提高計(jì)算資源的利用率。
在實(shí)際應(yīng)用中,實(shí)體物理機(jī)可作為虛擬化主機(jī),虛擬化技術(shù)可以將虛擬化主機(jī)底層的物理資源整合虛擬出不同配置的虛擬機(jī),為用戶提供所需計(jì)算資源。隨著虛擬化技術(shù)的發(fā)展和深入研究,虛擬機(jī)將逐漸取代實(shí)體物理機(jī)成為企業(yè)各種業(yè)務(wù)運(yùn)行環(huán)境。
對虛擬機(jī)相應(yīng)數(shù)據(jù)進(jìn)行備份,在出現(xiàn)故障時(shí)快速恢復(fù)虛擬機(jī),可以保護(hù)企業(yè)數(shù)據(jù)和減小企業(yè)損失。傳統(tǒng)的對虛擬機(jī)的備份和恢復(fù)需要在虛擬機(jī)中安裝備份代理,這樣將占用虛擬化主機(jī)的資源,增加虛擬化主機(jī)的額外負(fù)載,且在需要恢復(fù)時(shí),需在恢復(fù)的虛擬機(jī)上安裝備份代理,再進(jìn)行數(shù)據(jù)復(fù)制等操作,需要較長時(shí)間,影響企業(yè)生產(chǎn)的時(shí)效性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種虛擬機(jī)備份方法及裝置,以由單獨(dú)的備份服務(wù)器執(zhí)行虛擬機(jī)的備份和恢復(fù)操作,虛擬機(jī)不需要安裝備份代理軟件,不會增加虛擬化主機(jī)的額外負(fù)載;本發(fā)明的另一目的是提供一種虛擬機(jī)恢復(fù)方法及裝置,以提高系統(tǒng)穩(wěn)定性和企業(yè)恢復(fù)生產(chǎn)的時(shí)效性。
為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:
一種虛擬機(jī)備份方法,應(yīng)用于備份服務(wù)器,所述備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),包括:
在達(dá)到設(shè)定的對第一虛擬機(jī)備份的觸發(fā)條件時(shí),獲得所述第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖,所述第一虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī);
基于所述第一虛擬磁盤的位圖,將所述第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中。
在本發(fā)明的一種具體實(shí)施方式中,在所述基于所述第一虛擬磁盤的位圖,將所述第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中之后,還包括:
清空所述第一虛擬磁盤的位圖,以基于預(yù)設(shè)的備份方式在所述第一虛擬磁盤的位圖中重新記錄所述第一虛擬磁盤中變化數(shù)據(jù)塊的索引位置。
在本發(fā)明的一種具體實(shí)施方式中,所述備份方式為全量備份方式、增量備份方式或者差異備份方式。
一種虛擬機(jī)恢復(fù)方法,應(yīng)用于備份服務(wù)器,所述備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),包括:
接收對第二虛擬機(jī)的恢復(fù)請求,所述第二虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī),在設(shè)定的存儲設(shè)備上存儲有所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù);
根據(jù)所述恢復(fù)請求,確定可用虛擬化主機(jī);
在所述可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤,將所述第二虛擬磁盤對應(yīng)的底層存儲指向所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù);
基于所述第二虛擬磁盤啟動第三虛擬機(jī),將所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到所述第二虛擬磁盤中。
在本發(fā)明的一種具體實(shí)施方式中,所述將所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到所述第二虛擬磁盤中,包括:
以設(shè)定的傳輸速率將所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到所述第二虛擬磁盤中,所述傳輸速率低于設(shè)定的傳輸速率閾值。
一種虛擬機(jī)備份裝置,應(yīng)用于備份服務(wù)器,所述備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),包括:
位圖獲得模塊,用于在達(dá)到設(shè)定的對第一虛擬機(jī)備份的觸發(fā)條件時(shí),獲得所述第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖,所述第一虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī);
數(shù)據(jù)備份模塊,用于基于所述第一虛擬磁盤的位圖,將所述第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中。
在本發(fā)明的一種具體實(shí)施方式中,還包括位圖清空模塊,用于:
在所述基于所述第一虛擬磁盤的位圖,將所述第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中之后,清空所述第一虛擬磁盤的位圖,以基于預(yù)設(shè)的備份方式在所述第一虛擬磁盤的位圖中重新記錄所述第一虛擬磁盤中變化數(shù)據(jù)塊的索引位置。
在本發(fā)明的一種具體實(shí)施方式中,所述備份方式為全量備份方式、增量備份方式或者差異備份方式。
一種虛擬機(jī)恢復(fù)裝置,應(yīng)用于備份服務(wù)器,所述備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),包括:
恢復(fù)請求接收模塊,用于接收對第二虛擬機(jī)的恢復(fù)請求,所述第二虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī),在設(shè)定的存儲設(shè)備上存儲有所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù);
虛擬化主機(jī)確定模塊,用于根據(jù)所述恢復(fù)請求,確定可用虛擬化主機(jī);
虛擬磁盤創(chuàng)建模塊,用于在所述可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤,將所述第二虛擬磁盤對應(yīng)的底層存儲指向所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù);
虛擬機(jī)恢復(fù)模塊,用于基于所述第二虛擬磁盤啟動第三虛擬機(jī),將所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到所述第二虛擬磁盤中。
在本發(fā)明的一種具體實(shí)施方式中,所述虛擬機(jī)恢復(fù)模塊,具體用于:
以設(shè)定的傳輸速率將所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到所述第二虛擬磁盤中,所述傳輸速率低于設(shè)定的傳輸速率閾值。
應(yīng)用本發(fā)明實(shí)施例所提供的虛擬機(jī)備份方法,備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),在達(dá)到設(shè)定的對第一虛擬機(jī)備份的觸發(fā)條件時(shí),獲得第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖,基于第一虛擬磁盤的位圖,將第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中。由單獨(dú)的備份服務(wù)器執(zhí)行虛擬機(jī)的備份操作,虛擬機(jī)不需要安裝備份代理軟件,不會增加虛擬化主機(jī)的額外負(fù)載。
應(yīng)用本發(fā)明實(shí)施例所提供的虛擬機(jī)恢復(fù)方法,在接收到對第二虛擬機(jī)的恢復(fù)請求時(shí),可以根據(jù)恢復(fù)請求,確定可用虛擬化主機(jī),在可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤,將第二虛擬磁盤對應(yīng)的底層存儲指向存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù),基于第二虛擬磁盤啟動第三虛擬機(jī),將存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到第二虛擬磁盤中,實(shí)現(xiàn)對第二虛擬機(jī)的恢復(fù),由單獨(dú)的備份服務(wù)器執(zhí)行虛擬機(jī)的恢復(fù)操作,在虛擬機(jī)崩潰或者遇到故障時(shí)可以快速恢復(fù)虛擬機(jī)上的應(yīng)用,提高系統(tǒng)穩(wěn)定性和企業(yè)恢復(fù)生產(chǎn)的時(shí)效性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例中虛擬機(jī)備份系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例中一種虛擬機(jī)備份方法的實(shí)施流程圖;
圖3為本發(fā)明實(shí)施例中全量備份的示意圖;
圖4為本發(fā)明實(shí)施例中增量備份的示意圖;
圖5為本發(fā)明實(shí)施例中差異備份的示意圖;
圖6為本發(fā)明實(shí)施例中一種虛擬機(jī)恢復(fù)方法的實(shí)施流程圖;
圖7為本發(fā)明實(shí)施例中虛擬機(jī)恢復(fù)過程示意圖;
圖8為本發(fā)明實(shí)施例中數(shù)據(jù)合并過程示意圖;
圖9為本發(fā)明實(shí)施例中一種虛擬機(jī)備份裝置的結(jié)構(gòu)示意圖;
圖10為本發(fā)明實(shí)施例中一種虛擬機(jī)恢復(fù)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種虛擬機(jī)備份方法,該方法可以應(yīng)用于備份服務(wù)器,備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī)。如圖1所示,備份服務(wù)器分別與虛擬化主機(jī)A和虛擬化主機(jī)B通過路由交換通信連接,虛擬化主機(jī)A上配置有虛擬機(jī)vm1~虛擬機(jī)vm3,虛擬化主機(jī)B上配置有虛擬機(jī)vm4和虛擬機(jī)vm5,備份服務(wù)器還可以與數(shù)據(jù)中心中管理主機(jī)通過路由交換相連,管理主機(jī)可以為用戶提供遠(yuǎn)程備份和恢復(fù)備份的管理。
備份服務(wù)器通過虛擬化主機(jī)提供的相關(guān)接口可以查詢相應(yīng)虛擬機(jī)的狀態(tài)信息,對虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)、創(chuàng)建或刪除快照、創(chuàng)建或刪除虛擬磁盤位圖等操作。
參見圖2所示,為本發(fā)明實(shí)施例所提供的一種虛擬機(jī)備份方法的實(shí)施流程圖,該方法可以包括以下步驟:
S210:在達(dá)到設(shè)定的對第一虛擬機(jī)備份的觸發(fā)條件時(shí),獲得第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖。
第一虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī)。
在本發(fā)明實(shí)施例中,可以按照設(shè)定時(shí)間間隔對虛擬機(jī)執(zhí)行備份操作,或者在接收到用戶的備份指令時(shí),對用戶指定的虛擬機(jī)執(zhí)行備份操作。這些都可以作為對虛擬機(jī)備份的觸發(fā)條件。
在達(dá)到設(shè)定的對第一虛擬機(jī)備份的觸發(fā)條件時(shí),備份服務(wù)器可以通過第一虛擬機(jī)所在的虛擬化主機(jī)獲得第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖。
每個(gè)虛擬機(jī)對應(yīng)一個(gè)虛擬磁盤。針對某個(gè)虛擬機(jī)而言,在該虛擬機(jī)創(chuàng)建之初,會在該虛擬機(jī)對應(yīng)的虛擬磁盤中創(chuàng)建該虛擬磁盤的位圖,隨著該虛擬機(jī)的業(yè)務(wù)進(jìn)程,在該虛擬磁盤的位圖中記錄了該虛擬磁盤中變化數(shù)據(jù)塊的索引位置。
S220:基于所述第一虛擬磁盤的位圖,將所述第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中。
在步驟S210,備份服務(wù)器獲得第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖,基于該第一虛擬磁盤的位圖,可以獲得第一虛擬磁盤中數(shù)據(jù)塊的變化情況,并將第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中。存儲設(shè)備可以設(shè)置于備份服務(wù)器上,還可以獨(dú)立于備份服務(wù)器。
在本發(fā)明實(shí)施例中,可以根據(jù)實(shí)際情況或者用戶指令采用不同備份方式,備份方式可以為全量備份、增量備份、差異備份。
如果采用全量備份方式,則第一虛擬磁盤的位圖中記錄的為第一虛擬磁盤創(chuàng)建時(shí)刻至當(dāng)前時(shí)刻所有變化數(shù)據(jù)塊的索引位置,備份服務(wù)器根據(jù)第一虛擬磁盤的位圖,可以獲得第一虛擬磁盤創(chuàng)建時(shí)刻至當(dāng)前時(shí)刻所有變化數(shù)據(jù)塊的索引位置,基于該索引位置,可以將相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中,進(jìn)行全量備份。首次備份時(shí)采用全量備份方式。
如果采用增量備份方式,則第一虛擬磁盤的位圖中記錄的為上一次備份時(shí)刻至當(dāng)前時(shí)刻變化數(shù)據(jù)塊的索引位置,備份服務(wù)器根據(jù)第一虛擬磁盤的位圖,可以獲得第一虛擬磁盤上一次備份時(shí)刻至當(dāng)前時(shí)刻變化數(shù)據(jù)塊的索引位置,基于該索引位置,可以將相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中,進(jìn)行增量備份。
如果采用差異備份方式,則第一虛擬磁盤的位圖中記錄的為首次備份時(shí)刻至當(dāng)前時(shí)刻的變化數(shù)據(jù)塊的索引位置,備份服務(wù)器根據(jù)第一虛擬磁盤的位圖,可以獲得首次備份時(shí)刻至當(dāng)前時(shí)刻的變化數(shù)據(jù)塊的索引位置,基于該索引位置,可以將相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中,進(jìn)行差異備份。
非首次備份時(shí)可以采用增量備份方式,還可以采用差異備份方式。
對于增量備份方式而言,增量備份虛擬磁盤之間是一個(gè)鏈?zhǔn)浇Y(jié)構(gòu),為樹狀形式,一個(gè)根節(jié)點(diǎn)有多個(gè)葉子節(jié)點(diǎn),葉子節(jié)點(diǎn)深度可以為多個(gè);對于差異備份方式而言,差異備份也會形成一個(gè)樹狀結(jié)構(gòu),葉子節(jié)點(diǎn)深度只有一個(gè);對于全量備份方式而言,只有根節(jié)點(diǎn),沒有葉子節(jié)點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,在步驟S220之后,該方法還可以包括以下步驟:
清空第一虛擬磁盤的位圖,以基于預(yù)設(shè)的備份方式在第一虛擬磁盤的位圖中重新記錄第一虛擬磁盤中變化數(shù)據(jù)塊的索引位置。
在本發(fā)明實(shí)施例中,在一次備份結(jié)束后,可以清空第一虛擬磁盤的位圖,這樣,基于預(yù)設(shè)的備份方式可以在第一虛擬磁盤的位圖中重新記錄第一虛擬磁盤中變化數(shù)據(jù)塊的索引位置。
備份方式可以為全量備份方式、增量備份方式或者差異備份方式。
基于全量備份方式,可以在第一虛擬磁盤的位圖中重新記錄第一虛擬磁盤中從第一虛擬磁盤創(chuàng)建時(shí)刻至當(dāng)前時(shí)刻變化數(shù)據(jù)塊的索引位置,即第一虛擬磁盤中所有數(shù)據(jù)塊的索引位置。
基于增量備份方式,可以在第一虛擬磁盤的位圖中重新記錄自上一次備份時(shí)刻至當(dāng)前時(shí)刻變化數(shù)據(jù)塊的索引位置。
基于差異備份方式,可以在第一虛擬磁盤的位圖中重新記錄自首次備份時(shí)刻至當(dāng)前時(shí)刻變化數(shù)據(jù)塊的索引位置。
為便于理解,舉例說明。
假設(shè)虛擬機(jī)vm1在虛擬化主機(jī)A上有一個(gè)虛擬磁盤為disk1,為disk1做備份,具體實(shí)施過程為:
第一次為disk1做備份時(shí),為全量備份,disk1的位圖(bitmap)記錄的是disk1創(chuàng)建時(shí)刻至第一次備份時(shí)刻所有數(shù)據(jù)塊的索引位置,備份服務(wù)器基于disk1的位圖將disk1的數(shù)據(jù)全量復(fù)制為disk1_backup,存儲于存儲設(shè)備中。disk1_backup為disk1的一次全量備份,具體如圖3所示。
第二次為disk1做備份時(shí),如果為增量備份,則在上一次(這里為第一次)做完備份時(shí)將disk1的位圖清零,在上一次備份的基礎(chǔ)上重新記錄變化數(shù)據(jù)塊的索引位置,備份服務(wù)器在第二次基于disk1的位圖進(jìn)行數(shù)據(jù)復(fù)制時(shí),備份的數(shù)據(jù)(backing file)即為上一次備份時(shí)刻至這一次備份時(shí)刻的增量部分,若為第n次增量備份,重復(fù)執(zhí)行即可,具體如圖4所示。如果為差異備份,則在每次做完備份時(shí)將disk1的位圖清零,在disk1的位圖中重新記錄的變化數(shù)據(jù)塊的索引位置都是相對于第一次全量備份的,若為第n次差異備份,重復(fù)執(zhí)行即可,具體如圖5所示。
應(yīng)用本發(fā)明實(shí)施例所提供的虛擬機(jī)備份方法,備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),在達(dá)到設(shè)定的對第一虛擬機(jī)備份的觸發(fā)條件時(shí),獲得第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖,基于第一虛擬磁盤的位圖,將第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中。由單獨(dú)的備份服務(wù)器執(zhí)行虛擬機(jī)的備份操作,虛擬機(jī)不需要安裝備份代理軟件,不會增加虛擬化主機(jī)的額外負(fù)載。
本發(fā)明實(shí)施例還提供了一種虛擬機(jī)恢復(fù)方法,該方法應(yīng)用于備份服務(wù)器,所述備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),如圖1所示。
參見圖6所示,為本發(fā)明實(shí)施例所提供的一種虛擬機(jī)恢復(fù)方法的實(shí)施流程圖,該方法可以包括以下步驟:
S610:接收對第二虛擬機(jī)的恢復(fù)請求。
所述第二虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī),在設(shè)定的存儲設(shè)備上存儲有所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)。
在本發(fā)明實(shí)施例中,備份服務(wù)器根據(jù)預(yù)設(shè)的備份規(guī)則可以將每個(gè)虛擬化主機(jī)的每個(gè)虛擬機(jī)對應(yīng)的虛擬磁盤的數(shù)據(jù)進(jìn)行備份,存儲于存儲設(shè)備中。第二虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī),在設(shè)定的存儲設(shè)備上存儲有第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)。
在實(shí)際應(yīng)用中,可以根據(jù)實(shí)際情況向備份服務(wù)器發(fā)出針對第二虛擬機(jī)的恢復(fù)請求。備份服務(wù)器接收到對第二虛擬機(jī)的恢復(fù)請求后,可以繼續(xù)執(zhí)行步驟S620的操作。
S620:根據(jù)所述恢復(fù)請求,確定可用虛擬化主機(jī)。
備份服務(wù)器接收到對第二虛擬機(jī)的恢復(fù)請求后,根據(jù)該恢復(fù)請求,可以確定可用虛擬化主機(jī),即在與自身通信連接的多個(gè)虛擬化主機(jī)中選擇一個(gè)可用虛擬化主機(jī)。具體的,可以根據(jù)虛擬化主機(jī)的可用資源進(jìn)行選擇。確定的可用虛擬化主機(jī)可以是第二虛擬機(jī)所在的虛擬化主機(jī),還可以是其他虛擬化主機(jī)。
S630:在所述可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤,將所述第二虛擬磁盤對應(yīng)的底層存儲指向所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)。
確定可用虛擬化主機(jī)后,備份服務(wù)器在可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤,將第二虛擬磁盤對應(yīng)的底層存儲指向存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)。
S640:基于所述第二虛擬磁盤啟動第三虛擬機(jī),將所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到所述第二虛擬磁盤中。
在可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤后,基于第二虛擬磁盤啟動第三虛擬機(jī),將存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到第二虛擬磁盤中,這樣,將第二虛擬機(jī)恢復(fù)為第三虛擬機(jī),繼續(xù)執(zhí)行各種業(yè)務(wù)。
為便于理解,舉例說明。
假設(shè)第二虛擬機(jī)為圖1中的虛擬機(jī)vm2,在存儲設(shè)備中存儲有虛擬機(jī)vm2對應(yīng)的備份數(shù)據(jù),要對虛擬機(jī)vm2進(jìn)行恢復(fù),確定的可用虛擬化主機(jī)為虛擬化主機(jī)B,即在虛擬化主機(jī)B中恢復(fù)虛擬機(jī)vm2。
在虛擬化主機(jī)B上創(chuàng)建一個(gè)active層磁盤,即基于虛擬機(jī)vm2的虛擬磁盤鏈接克隆一個(gè)虛擬磁盤,active層磁盤后端鏡像即備份文件指向存儲設(shè)備中虛擬機(jī)vm2對應(yīng)的備份數(shù)據(jù)?;赼ctive層磁盤可以啟動一個(gè)虛擬機(jī),如圖7所示。
備份服務(wù)器在后端將存儲設(shè)備中虛擬機(jī)vm2對應(yīng)的備份數(shù)據(jù)合并到active層磁盤中。其中,對于差異備份,是將根節(jié)點(diǎn)和葉子節(jié)點(diǎn)數(shù)據(jù)合并到active層磁盤中,對于增量備份,可以指定增量備份中的某一個(gè)葉子節(jié)點(diǎn)進(jìn)行恢復(fù),并將根節(jié)點(diǎn)和指定的葉子節(jié)點(diǎn)之間的所有節(jié)點(diǎn)數(shù)據(jù)都合并到active層磁盤中,如圖8所示。
在本發(fā)明的一種具體實(shí)施方式中,可以以設(shè)定的傳輸速率將存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到第二虛擬磁盤中,傳輸速率低于設(shè)定的傳輸速率閾值。在數(shù)據(jù)合并過程中可以對其進(jìn)行限速,減少對業(yè)務(wù)帶寬的影響。
數(shù)據(jù)合并完成之后完成了虛擬機(jī)的恢復(fù),由于在數(shù)據(jù)合并的過程中不會暫?;蛘哧P(guān)閉恢復(fù)的虛擬機(jī),可以縮短虛擬機(jī)的恢復(fù)時(shí)間。
在實(shí)際應(yīng)用中,用戶可以通過管理主機(jī)提供的web界面對虛擬機(jī)進(jìn)行備份和恢復(fù)的管理,既可以本地管理還可以基于遠(yuǎn)程操作實(shí)現(xiàn)。
應(yīng)用本發(fā)明實(shí)施例所提供的虛擬機(jī)恢復(fù)方法,在接收到對第二虛擬機(jī)的恢復(fù)請求時(shí),可以根據(jù)恢復(fù)請求,確定可用虛擬化主機(jī),在可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤,將第二虛擬磁盤對應(yīng)的底層存儲指向存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù),基于第二虛擬磁盤啟動第三虛擬機(jī),將存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到第二虛擬磁盤中,實(shí)現(xiàn)對第二虛擬機(jī)的恢復(fù),由單獨(dú)的備份服務(wù)器執(zhí)行虛擬機(jī)的恢復(fù)操作,在虛擬機(jī)崩潰或者遇到故障時(shí)可以快速恢復(fù)虛擬機(jī)上的應(yīng)用,提高系統(tǒng)穩(wěn)定性和企業(yè)恢復(fù)生產(chǎn)的時(shí)效性。
相應(yīng)于圖2所示的方法實(shí)施例,本發(fā)明實(shí)施例還提供了一種虛擬機(jī)備份裝置,應(yīng)用于備份服務(wù)器,所述備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),下文描述的一種虛擬機(jī)備份裝置與上文描述的一種虛擬機(jī)備份方法可相互對應(yīng)參照。
參見圖9所示,該裝置包括以下模塊:
位圖獲得模塊910,用于在達(dá)到設(shè)定的對第一虛擬機(jī)備份的觸發(fā)條件時(shí),獲得所述第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖,所述第一虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī);
數(shù)據(jù)備份模塊920,用于基于所述第一虛擬磁盤的位圖,將所述第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中。
應(yīng)用本發(fā)明實(shí)施例所提供的虛擬機(jī)備份裝置,備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),在達(dá)到設(shè)定的對第一虛擬機(jī)備份的觸發(fā)條件時(shí),獲得第一虛擬機(jī)對應(yīng)的第一虛擬磁盤的位圖,基于第一虛擬磁盤的位圖,將第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中。由單獨(dú)的備份服務(wù)器執(zhí)行虛擬機(jī)的備份操作,虛擬機(jī)不需要安裝備份代理軟件,不會增加虛擬化主機(jī)的額外負(fù)載。
在本發(fā)明的一種具體實(shí)施方式中,還包括位圖清空模塊,用于:
在所述基于所述第一虛擬磁盤的位圖,將所述第一虛擬磁盤中的相應(yīng)數(shù)據(jù)備份到設(shè)定的存儲設(shè)備中之后,清空所述第一虛擬磁盤的位圖,以基于預(yù)設(shè)的備份方式在所述第一虛擬磁盤的位圖中重新記錄所述第一虛擬磁盤中變化數(shù)據(jù)塊的索引位置。
在本發(fā)明的一種具體實(shí)施方式中,所述備份方式為全量備份方式、增量備份方式或者差異備份方式。
相應(yīng)于圖6所示的方法實(shí)施例,本發(fā)明實(shí)施例還提供了一種虛擬機(jī)恢復(fù)裝置,應(yīng)用于備份服務(wù)器,所述備份服務(wù)器與多個(gè)虛擬化主機(jī)通信連接,每個(gè)虛擬化主機(jī)上配置有多個(gè)虛擬機(jī),下文描述的一種虛擬機(jī)恢復(fù)裝置與上文描述的一種虛擬機(jī)恢復(fù)方法可相互對應(yīng)參照。
參見圖10所示,該裝置包括以下模塊:
恢復(fù)請求接收模塊1010,用于接收對第二虛擬機(jī)的恢復(fù)請求,所述第二虛擬機(jī)為任意一個(gè)虛擬化主機(jī)上配置的任意一個(gè)虛擬機(jī),在設(shè)定的存儲設(shè)備上存儲有所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù);
虛擬化主機(jī)確定模塊1020,用于根據(jù)所述恢復(fù)請求,確定可用虛擬化主機(jī);
虛擬磁盤創(chuàng)建模塊1030,用于在所述可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤,將所述第二虛擬磁盤對應(yīng)的底層存儲指向所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù);
虛擬機(jī)恢復(fù)模塊1040,用于基于所述第二虛擬磁盤啟動第三虛擬機(jī),將所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到所述第二虛擬磁盤中。
應(yīng)用本發(fā)明實(shí)施例所提供的虛擬機(jī)恢復(fù)裝置,在接收到對第二虛擬機(jī)的恢復(fù)請求時(shí),可以根據(jù)恢復(fù)請求,確定可用虛擬化主機(jī),在可用虛擬化主機(jī)上創(chuàng)建第二虛擬磁盤,將第二虛擬磁盤對應(yīng)的底層存儲指向存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù),基于第二虛擬磁盤啟動第三虛擬機(jī),將存儲設(shè)備中第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到第二虛擬磁盤中,實(shí)現(xiàn)對第二虛擬機(jī)的恢復(fù),由單獨(dú)的備份服務(wù)器執(zhí)行虛擬機(jī)的恢復(fù)操作,在虛擬機(jī)崩潰或者遇到故障時(shí)可以快速恢復(fù)虛擬機(jī)上的應(yīng)用,提高系統(tǒng)穩(wěn)定性和企業(yè)恢復(fù)生產(chǎn)的時(shí)效性。
在本發(fā)明的一種具體實(shí)施方式中,所述虛擬機(jī)恢復(fù)模塊1040,具體用于:
以設(shè)定的傳輸速率將所述存儲設(shè)備中所述第二虛擬機(jī)對應(yīng)的備份數(shù)據(jù)復(fù)制到所述第二虛擬磁盤中,所述傳輸速率低于設(shè)定的傳輸速率閾值。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見即可。對于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的技術(shù)方案及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。