用于保護虛擬機數(shù)據(jù)的系統(tǒng)和方法
【專利說明】
【背景技術(shù)】
[0001 ]在數(shù)字化時代,組織越來越依賴于數(shù)字化存儲的數(shù)據(jù)。為了防止數(shù)據(jù)丟失,組織可以使用備份系統(tǒng)來備份重要數(shù)據(jù)。在一些情況下,組織還可以通過虛擬機來處理和存儲數(shù)據(jù)。因此,備份系統(tǒng)可備份來自虛擬磁盤的數(shù)據(jù),以保存由虛擬機處理的數(shù)據(jù)。
[0002]—些傳統(tǒng)的備份系統(tǒng)可通過備份虛擬機磁盤文件來備份虛擬機數(shù)據(jù)。遺憾的是,當(dāng)組織想要備份并恢復(fù)虛擬機中各個應(yīng)用程序的數(shù)據(jù)時,這些傳統(tǒng)的備份系統(tǒng)可能顯得不靈活和/或低效。一些傳統(tǒng)的備份系統(tǒng)可通過在虛擬機內(nèi)安裝備份應(yīng)用程序來備份虛擬機數(shù)據(jù),使得備份應(yīng)用程序可具有虛擬機中運行的各個應(yīng)用程序的邏輯視圖并把這些應(yīng)用程序作為目標(biāo)。然而,一些虛擬化環(huán)境可包括成百上千個虛擬機。安裝、管理和更新數(shù)千個虛擬機的備份應(yīng)用程序可能會造成沉重的管理負(fù)擔(dān)并且很有可能引入人為錯誤。
[0003]因此,本公開識別并解決了對用于保護虛擬機數(shù)據(jù)的另外且改善的系統(tǒng)和方法的需求。
【發(fā)明內(nèi)容】
[0004]如將在下面更加詳細(xì)地描述,本公開整體涉及用于保護虛擬機數(shù)據(jù)的系統(tǒng)和方法,這些系統(tǒng)和方法通過將包括備份代理的存儲容器連接到一個或多個虛擬機并從虛擬機內(nèi)執(zhí)行備份代理來保護虛擬機數(shù)據(jù)。在一個例子中,用于保護虛擬機數(shù)據(jù)的計算機實現(xiàn)的方法可包括(I)接收對由虛擬機內(nèi)的客戶系統(tǒng)存儲的數(shù)據(jù)執(zhí)行粒度備份操作的請求,(2)識別包括執(zhí)行備份操作的代理的存儲容器,(3)響應(yīng)于請求,將存儲容器連接到虛擬機,以及
[4]通過向虛擬機內(nèi)的客戶系統(tǒng)發(fā)送指令以執(zhí)行代理,從而執(zhí)行粒度備份操作。
[0005]在一些例子中,該計算機實現(xiàn)的方法還可包括將存儲容器連接到至少一個額外虛擬機,以對由該額外虛擬機內(nèi)的額外客戶系統(tǒng)存儲的數(shù)據(jù)執(zhí)行至少一個額外粒度備份操作。除此之外或作為另外一種選擇,該計算機實現(xiàn)的方法還可包括將存儲容器的額外實例連接到至少一個額外虛擬機,以對由該額外虛擬機內(nèi)的額外客戶系統(tǒng)存儲的數(shù)據(jù)執(zhí)行至少一個額外粒度備份操作。
[0006]在一些例子中,執(zhí)行粒度備份操作可包括在將存儲容器連接到虛擬機之后并且在執(zhí)行代理之前配置客戶系統(tǒng)以執(zhí)行代理。在一個實施例中,代理可從客戶系統(tǒng)中收集描述由粒度備份操作產(chǎn)生的備份數(shù)據(jù)的元數(shù)據(jù)。除此之外或作為另外一種選擇,代理可使客戶系統(tǒng)內(nèi)的至少一個應(yīng)用程序靜默以準(zhǔn)備與用于粒度備份操作的應(yīng)用程序相對應(yīng)的數(shù)據(jù)。
[0007]在一些例子中,該計算機實現(xiàn)的方法還可包括響應(yīng)于完成粒度備份操作,從虛擬機分離存儲容器。在一個實施例中,粒度備份操作可包括粒度恢復(fù)操作,該粒度恢復(fù)操作將數(shù)據(jù)恢復(fù)到虛擬機內(nèi)的客戶系統(tǒng)。
[0008]在一個實施例中,用于實現(xiàn)上述方法的系統(tǒng)可包括(I)識別模塊,該識別模塊識別可包括執(zhí)行備份操作的代理的存儲容器,(2)連接模塊,該連接模塊響應(yīng)于請求,將存儲容器連接到虛擬機,(3)執(zhí)行模塊,該執(zhí)行模塊通過向虛擬機內(nèi)的客戶系統(tǒng)發(fā)送指令以執(zhí)行代理,從而執(zhí)行粒度備份操作,和(4)至少一個處理器,該處理器被配置為執(zhí)行接收模塊、識別模塊、連接模塊和執(zhí)行模塊。
[0009]在一些例子中,上述方法可被編碼為計算機可讀存儲介質(zhì)上的計算機可讀指令。例如,計算機可讀存儲介質(zhì)可包括一個或多個計算機可執(zhí)行指令,所述指令在由計算設(shè)備的至少一個處理器執(zhí)行時可致使計算設(shè)備:(I)接收對由虛擬機內(nèi)的客戶系統(tǒng)存儲的數(shù)據(jù)執(zhí)行粒度備份操作的請求,(2)識別包括執(zhí)行備份操作的代理的存儲容器,(3)響應(yīng)于請求,將存儲容器連接到虛擬機,以及(4)通過向虛擬機內(nèi)的客戶系統(tǒng)發(fā)送指令以執(zhí)行代理,從而執(zhí)行粒度備份操作。
[0010]來自上述實施例中的任何一者的特征可根據(jù)本文所述的一般原理彼此結(jié)合地使用。通過結(jié)合附圖和權(quán)利要求閱讀下面的詳細(xì)描述,將會更充分地理解這些和其他實施例、特征和優(yōu)點。
【附圖說明】
[0011]附圖示出了多個示例性實施例并且為說明書的一部分。這些附圖結(jié)合下面的描述展示并且說明本發(fā)明的各種原理。
[0012]圖1為用于保護虛擬機數(shù)據(jù)的示例性系統(tǒng)的框圖。
[0013]圖2為用于保護虛擬機數(shù)據(jù)的示例性系統(tǒng)的框圖。
[0014]圖3為用于保護虛擬機數(shù)據(jù)的示例性方法的流程圖。
[0015]圖4為用于保護虛擬機數(shù)據(jù)的示例性系統(tǒng)的框圖。
[0016]圖5為能夠?qū)崿F(xiàn)本文描述和/或示出的實施例中的一者或多者的示例性計算系統(tǒng)的框圖。
[0017]圖6為能夠?qū)崿F(xiàn)本文描述和/或示出的實施例中的一者或多者的示例性計算網(wǎng)絡(luò)的框圖。
[0018]在全部附圖中,相同引用字符和描述指示類似但未必相同的元件。雖然本文所述的示例性實施例易受各種修改和替代形式的影響,但在附圖中以舉例的方式示出了特定實施例并且將在本文詳細(xì)描述。然而,本文所述的示例性實施例并非旨在限于所公開的特定形式。相反,本發(fā)明涵蓋落在所附權(quán)利要求范圍內(nèi)的所有修改形式、等同形式和替代形式。
【具體實施方式】
[0019]本發(fā)明整體涉及用于保護虛擬機數(shù)據(jù)的系統(tǒng)和方法。如將在下面更加詳細(xì)地闡釋,通過將包括備份代理的存儲容器連接到一個或多個虛擬機并然后從虛擬機內(nèi)執(zhí)行備份代理,本文所述的系統(tǒng)和方法可為多個虛擬機提供從可集中管理的源進行粒度備份和/或恢復(fù)的功能。
[0020]下文將結(jié)合圖1、圖2和圖4提供用于保護虛擬機數(shù)據(jù)的示例性系統(tǒng)的詳細(xì)描述。也將結(jié)合圖3提供對應(yīng)的計算機實現(xiàn)的方法的詳細(xì)描述。此外,將分別結(jié)合圖5和圖6提供能夠?qū)崿F(xiàn)本文所述實施例中的一者或多者的示例性計算系統(tǒng)和網(wǎng)絡(luò)體系結(jié)構(gòu)的詳細(xì)描述。
[0021]圖1為用于保護虛擬機數(shù)據(jù)的示例性系統(tǒng)100的框圖。如該圖所示,示例性系統(tǒng)100可包括用于執(zhí)行一個或多個任務(wù)的一個或多個模塊102。例如,并且如將在下面更加詳細(xì)地闡釋,示例性系統(tǒng)100可以包括接收模塊104,該接收模塊104可接收對由虛擬機內(nèi)的客戶系統(tǒng)存儲的數(shù)據(jù)執(zhí)行粒度備份操作的請求。示例性系統(tǒng)100還可包括識別模塊106,該識別模塊106可識別包括執(zhí)行備份操作的代理的存儲容器。示例性系統(tǒng)100還可包括連接模塊108,該連接模塊108可響應(yīng)于請求,將存儲容器連接到虛擬機。示例性系統(tǒng)100還可包括執(zhí)行模塊110,該執(zhí)行模塊110可通過向虛擬機內(nèi)的客戶系統(tǒng)發(fā)送指令以執(zhí)行代理,從而執(zhí)行粒度備份操作。雖然以單獨的元件示出,但圖1中的模塊102中的一者或多者可表示單個模塊或應(yīng)用程序的組成部分。
[0022]在某些實施例中,圖1中的模塊102中的一者或多者可表不一個或多個軟件應(yīng)用程序或程序,這些軟件應(yīng)用程序或程序在由計算設(shè)備執(zhí)行時可致使計算設(shè)備執(zhí)行一個或多個任務(wù)。例如并且如下文將更詳細(xì)地描述,一個或多個模塊102可表示存儲在一個或多個計算設(shè)備上并且被配置為在所述計算設(shè)備上運行的軟件模塊,所述計算設(shè)備諸如為圖2中示出的設(shè)備(例如,計算設(shè)備202和/或超級管理程序206)、圖5中的計算系統(tǒng)510和/或圖6中的示例性網(wǎng)絡(luò)體系結(jié)構(gòu)600的部分。圖1中的模塊102中的一者或多者還可表不被配置為執(zhí)行一個或多個任務(wù)的一臺或多臺專用計算機的全部或部分。
[0023]如圖1所示,示例性系統(tǒng)100還可包括一個或多個數(shù)據(jù)庫,諸如數(shù)據(jù)庫120。在一個例子中,數(shù)據(jù)庫120可被配置為存儲虛擬機的存儲容器。數(shù)據(jù)庫120可表示單個數(shù)據(jù)庫或計算設(shè)備的組成部分或者多個數(shù)據(jù)庫或計算設(shè)備。例如,數(shù)據(jù)庫120可表示圖2中的超級管理程序206的一部分、圖5中的計算系統(tǒng)510、和/或圖6中的示例性網(wǎng)絡(luò)體系結(jié)構(gòu)600的部分。作為另外一種選擇,圖1中的數(shù)據(jù)庫120可表示能夠通過計算設(shè)備訪問的一個或多個物理獨立設(shè)備,諸如圖2中的超級管理程序206、圖5中的計算系統(tǒng)510、和/或圖6中的示例性網(wǎng)絡(luò)體系結(jié)構(gòu)600的部分。
[0024]圖1中的示例性系統(tǒng)100可以多種方式來實現(xiàn)。例如,示例性系統(tǒng)100的全部或一部分可表示圖2中的示例性系統(tǒng)200的部分。如圖2所示,系統(tǒng)200可包括經(jīng)由網(wǎng)絡(luò)204與超級管理程序206通信的計算設(shè)備202。在一個實施例中,計算設(shè)備202可用模塊102中的一者或多者進行編程和/或可存儲數(shù)據(jù)庫120中的數(shù)據(jù)的全部或一部分。除此之外或作為另外一種選擇,超級管理程序206可用模塊102中的一者或多者進行編程和/或可存儲數(shù)據(jù)庫120中的數(shù)據(jù)的全部或一部分。
[0025]在一個實施例中,圖1的模塊102中的一者或多者可在由計算設(shè)備202的至少一個處理器和/或超級管理程序206執(zhí)行時,促進計算設(shè)備202和/或超級管理程序206保護虛擬機數(shù)據(jù)。在一個例子中,計算設(shè)備202可表示被配置為在粒度級別保護客戶系統(tǒng)242內(nèi)的數(shù)據(jù)的備份服務(wù)器。例如,以及如下文將更詳細(xì)地描述,接收模塊104可被編程為接收對由虛擬機240內(nèi)的客戶系統(tǒng)242存儲的數(shù)據(jù)執(zhí)行粒度備份操作的請求210。識別模塊106可被編程為識別可包括執(zhí)行備份操作的代理222的存儲容器220。連接模塊108可被編程為響應(yīng)于請求210,將存儲容器220連接到虛擬機240。執(zhí)行模塊110可被編程為通過向虛擬機240內(nèi)的客戶系統(tǒng)242發(fā)送指令250以執(zhí)行代理222,從而執(zhí)行粒度備份操作(例如,從而生成備份230)。
[0026]計算設(shè)備202通常表示能夠讀取計算機可執(zhí)行指令的任何類型或形式的計算設(shè)備。計算設(shè)備202的例子包括但不限于筆記本電腦、平板電腦、臺