在恢復(fù)站點(diǎn)處管理復(fù)制的虛擬儲存器的制造方法
【專利摘要】牽涉儲存器的復(fù)制的技術(shù)被描述。代表性的技術(shù)包括用于接收復(fù)制的虛擬機(jī)器的復(fù)制的虛擬儲存器(至少包括與要被復(fù)制的主要基本虛擬磁盤基本上對應(yīng)的復(fù)制的基本虛擬磁盤)的裝置和方法。差異磁盤的拷貝或其它形式的虛擬儲存器更新在恢復(fù)站點(diǎn)被接收,所述差異磁盤中的每一個都作為其后代與所述主要基本虛擬磁盤相關(guān)聯(lián)。所接收到的所述差異磁盤的拷貝相對于復(fù)制的基本虛擬磁盤被布置,其與所述差異磁盤相對于所述主要基本虛擬磁盤被布置的方式相對應(yīng),從而使所述復(fù)制的虛擬機(jī)器的數(shù)據(jù)視圖維持與在主要站點(diǎn)處的所述虛擬機(jī)器同步。
【專利說明】在恢復(fù)站點(diǎn)處管理復(fù)制的虛擬儲存器
【背景技術(shù)】
[0001]隨著企業(yè)和個體對計(jì)算需要的嚴(yán)重依賴,對于不間斷計(jì)算服務(wù)的需要已變得越來越重要。許多組織開發(fā)業(yè)務(wù)連續(xù)性計(jì)劃以確保關(guān)鍵業(yè)務(wù)功能將享受連續(xù)操作,并且在面對能夠切斷正常業(yè)務(wù)連續(xù)性的機(jī)器失靈、掉電、自然災(zāi)害以及其它破壞時保持可用。
[0002]局部破壞可以例如由局部服務(wù)器中的硬件或其它故障、導(dǎo)致系統(tǒng)停止和/或重新啟動的軟件或固件問題等引起。局部解決方案可以包括服務(wù)器集群和虛擬化技術(shù)以促進(jìn)(facilitate)故障轉(zhuǎn)移。使用虛擬化的局部故障轉(zhuǎn)移技術(shù)提供了如果原始機(jī)器或虛擬機(jī)器故障則繼續(xù)在不同的機(jī)器或虛擬機(jī)器上操作的能力。軟件能夠識別操作系統(tǒng)和/或應(yīng)用不再工作,并且操作系統(tǒng)和(一個或多個)應(yīng)用的另一實(shí)例能夠在另一機(jī)器或虛擬機(jī)器中被啟動以便在前一個機(jī)器停止的地方拾起(Pick up)。例如,管理程序可以被配置成確定操作系統(tǒng)不再運(yùn)行,或者應(yīng)用管理軟件可以確定應(yīng)用不再工作,其繼而可以通知管理程序或操作系統(tǒng)應(yīng)用不再運(yùn)行。高可用性解決方案可以配置故障轉(zhuǎn)移發(fā)生,例如,從一個機(jī)器到在共同站點(diǎn)處的另一機(jī)器,或者如在下面所描述的那樣從一個站點(diǎn)到另一站點(diǎn)。其它故障轉(zhuǎn)移配置對于諸如測試這樣的其它目的來說也是可能的,其中從一個虛擬機(jī)器到在同一機(jī)器內(nèi)的另一虛擬機(jī)器的故障轉(zhuǎn)移甚至可以被使能實(shí)現(xiàn)。
[0003]災(zāi)難恢復(fù)涉及在較大規(guī)模上維持業(yè)務(wù)連續(xù)性。特定故障場景影響不只操作系統(tǒng)、虛擬機(jī)器或物理機(jī)器。在較高水平的失靈能夠引起影響整個站點(diǎn)的電源故障或其它問題,所述整個站點(diǎn)諸如企業(yè)的信息技術(shù)(IT)或其它計(jì)算中心??梢允拐军c(diǎn)的計(jì)算系統(tǒng)中的一些以及常常全部故障的自然和其它災(zāi)難能夠影響公司。為了提供災(zāi)難恢復(fù),公司現(xiàn)今可以將運(yùn)行系統(tǒng)備份到磁帶或其它物理媒體上,并且將它郵寄或者否則輸送到另一站點(diǎn)。當(dāng)數(shù)據(jù)中心因任何原因而離線時,備份數(shù)據(jù)中心能夠用備份媒體接管操作。除了缺點(diǎn)之外,提供物理媒體的過程還是麻煩的,備份在彼此之間具有顯著的時間間隔,并且恢復(fù)系統(tǒng)可能是過時數(shù)日了。
【發(fā)明內(nèi)容】
[0004]牽涉儲存器的復(fù)制的技術(shù)被描述,所述儲存器包括與虛擬機(jī)器相關(guān)聯(lián)的虛擬儲存器。一個代表性的技術(shù)包括能夠接收復(fù)制的虛擬機(jī)器的復(fù)制的虛擬儲存器的裝置,所述復(fù)制的虛擬儲存器至少包括基本上與要被復(fù)制的主要基本虛擬磁盤對應(yīng)的復(fù)制的基本虛擬磁盤。接收器接收差異磁盤的拷貝或其它形式的虛擬儲存器更新,它們的每一個都作為所述主要基本虛擬磁盤的后代與其相關(guān)聯(lián)。復(fù)制管理模塊被配置成以這樣的方式相對于所述復(fù)制的基本虛擬磁盤來布置所接收到的差異磁盤的拷貝,所述方式與所述差異磁盤如何相對于所述主要基本虛擬磁盤被布置相對應(yīng)。
[0005]這樣的技術(shù)的特定實(shí)施方案牽涉具有多個復(fù)制或“拷貝”類型的差異磁盤的拷貝,其中所述復(fù)制管理模塊被配置成相對于所述復(fù)制的基本虛擬磁盤來布置所述多個復(fù)制類型,如它們相對于主要基本虛擬磁盤被布置的一樣。所述多種類型的例子包括在虛擬機(jī)器上操作的一個或多個應(yīng)用為拷貝做準(zhǔn)備之后被獲得的差異磁盤的拷貝,以及在沒有對拷貝進(jìn)行通知或準(zhǔn)備的情況下被獲得的差異磁盤的拷貝。
[0006]在另一代表性的實(shí)施例中,用于促進(jìn)虛擬儲存器復(fù)制的計(jì)算機(jī)實(shí)施的方法被提供。與虛擬機(jī)器相關(guān)聯(lián)的虛擬磁盤的基本虛擬磁盤映像被存儲。對虛擬磁盤的改變通過將所述改變記錄到磁盤鏈的頂部的當(dāng)前讀寫差異磁盤而被存儲,所述磁盤鏈包括基本虛擬磁盤映像和任何介于中間的差異磁盤。在規(guī)則或不規(guī)則基礎(chǔ)上,虛擬磁盤改變的可轉(zhuǎn)移拷貝針對復(fù)制的儲存器被創(chuàng)建,其通過復(fù)制當(dāng)前讀寫差異磁盤并且禁止對其的進(jìn)一步改變、在磁盤鏈的頂部創(chuàng)建新的當(dāng)前差異磁盤、以及針對復(fù)制的儲存器轉(zhuǎn)移差異磁盤的拷貝而實(shí)現(xiàn)。
[0007]在另一代表性的實(shí)施例中,一個或多個計(jì)算機(jī)可讀媒體被提供,所述一個或多個計(jì)算機(jī)可讀媒體具有存儲在其上的指令,所述指令可由計(jì)算系統(tǒng)執(zhí)行以便執(zhí)行各種功能。所述功能包括創(chuàng)建虛擬機(jī)器的差異磁盤的只讀快照的鏈,在鏈的頂端提供讀和寫能力的新的差異磁盤根據(jù)每個快照被創(chuàng)建。多個快照類型被包括在所述鏈上,其至少包括應(yīng)用一致快照類型和崩潰一致快照類型。只讀快照的復(fù)制的鏈被創(chuàng)建,所述復(fù)制的鏈對應(yīng)于虛擬機(jī)器的差異磁盤的只讀快照的鏈。所復(fù)制的鏈中的只讀快照中的一個作為用于啟動復(fù)制的虛擬機(jī)器的恢復(fù)點(diǎn)的選擇被促進(jìn)。所述復(fù)制的虛擬機(jī)器從只讀快照中的所選一個被啟動,并且包括連續(xù)地緊跟所選恢復(fù)點(diǎn)之后的只讀快照中的一個或多個。
[0008]本
【發(fā)明內(nèi)容】
被提供來以簡化形式介紹在下面在【具體實(shí)施方式】中被進(jìn)一步地描述的概念的選擇。本
【發(fā)明內(nèi)容】
不旨在識別所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在被用來限制所要求保護(hù)的主題的范圍。
【專利附圖】
【附圖說明】
[0009]圖1 一般性地圖示了用于使用差異磁盤來復(fù)制虛擬機(jī)器的代表性的實(shí)施例;
圖2A和2B描繪了依照本公開的復(fù)制可以在其中被實(shí)施的代表性的計(jì)算環(huán)境;
圖3圖示了代表性的方式,以所述方式,主要計(jì)算機(jī)/服務(wù)器環(huán)境能夠促進(jìn)其災(zāi)難恢復(fù)并且使它的數(shù)據(jù)在其隨著時間的推移而改變時被復(fù)制;
圖4A和4B描繪了當(dāng)虛擬儲存器被修改以及一個或多個拷貝被作出時代表性的磁盤鏈的連續(xù)狀態(tài);
圖5是圖示了代表性的方式的流程圖,以所述方式,復(fù)制的虛擬機(jī)器的數(shù)據(jù)視圖被與它在主要服務(wù)器中的配對物保持同步;
圖6描繪了復(fù)制的虛擬磁盤和復(fù)制的磁盤鏈,其與正被復(fù)制的在主要站點(diǎn)處的虛擬儲存器的所保存部分對應(yīng);
圖7A-7F圖示了用于從第一計(jì)算環(huán)境向至少一個其它計(jì)算環(huán)境異步地復(fù)制虛擬機(jī)器或其它計(jì)算實(shí)體的儲存器的代表性的例子;
圖8圖示了調(diào)度基本或差異磁盤的快照或其它拷貝的例子;
圖9圖示了當(dāng)訪問磁盤的鏈時鏈接以及對復(fù)制的差異磁盤的鏈接的修改的例子;
圖10是從在主要站點(diǎn)處的將使其儲存器被復(fù)制的至少一個主要服務(wù)器的角度來圖示代表性的特征的流程圖;
圖11是從在恢復(fù)站點(diǎn)處的正在復(fù)制(一個或多個)虛擬機(jī)器的至少一個恢復(fù)服務(wù)器的角度來圖示代表性的特征的流程圖;以及 圖12描繪了其中本文中所描述的原理可以被實(shí)施的代表性的計(jì)算系統(tǒng)。
【具體實(shí)施方式】
[0010]在以下描述中,對描繪了代表性的實(shí)施方案例子的附圖進(jìn)行參考。應(yīng)當(dāng)理解,其它實(shí)施例和實(shí)施方案可以被利用,因?yàn)榻Y(jié)構(gòu)和/或操作改變可以在不背離本公開的范圍的情況下被作出。
[0011]本公開一般性地針對數(shù)據(jù)復(fù)制和恢復(fù)。雖然本文中所描述的原理適用于數(shù)據(jù)從一個數(shù)據(jù)存儲設(shè)備或設(shè)施到另一數(shù)據(jù)設(shè)備或設(shè)施的任何復(fù)制,但是本公開中的許多實(shí)施例是在災(zāi)難恢復(fù)的背景中被描述的,其中復(fù)制的數(shù)據(jù)和處理資源被從主要計(jì)算中心站外提供。然而,應(yīng)認(rèn)識到,本文中所描述的原理是適用的,而不管復(fù)制的數(shù)據(jù)被轉(zhuǎn)移到(一個或多個)恢復(fù)站點(diǎn)的距離或方式。特定實(shí)施例還在虛擬機(jī)器的背景中被描述,但是原理同樣地適用于物理機(jī)器以及它們的可用的儲存器。
[0012]如上面所指出的那樣,系統(tǒng)備份信息常常在物理媒體上被作出并且物理上提供給遠(yuǎn)程恢復(fù)站點(diǎn)。當(dāng)數(shù)據(jù)中心離線時,備份數(shù)據(jù)中心能夠用備份媒體接管操作。重復(fù)地將物理媒體提供給恢復(fù)站點(diǎn)是繁重的?;謴?fù)將牽涉使用可能來自一天或更多天前的已經(jīng)在恢復(fù)站點(diǎn)處可用的備份數(shù)據(jù),否則恢復(fù)將必須等待直到較新的復(fù)制數(shù)據(jù)到達(dá)了恢復(fù)站點(diǎn)為止。這些解決方案不提供高度的業(yè)務(wù)連續(xù)性。
[0013]數(shù)據(jù)在主要站點(diǎn)處的完全備份能夠被獲得并且電子地輸送到恢復(fù)站點(diǎn)。然而,數(shù)據(jù)傳輸?shù)拇笮】赡苁欠浅4蟮?,從而使這種信息的規(guī)則組織和最后傳輸難以管理。在不頻繁的基礎(chǔ)上提供復(fù)制的數(shù)據(jù)以使這些傳輸問題減輕能夠在需要時產(chǎn)生不太合意的恢復(fù),因?yàn)楦淖兊臄?shù)據(jù)可能在備份之間的時間的長間歇期中丟失。以這種方式使用備份來建立災(zāi)難恢復(fù)對策導(dǎo)致具有非常高的恢復(fù)點(diǎn)目標(biāo)(RPO)和恢復(fù)時間目標(biāo)(RTO)的復(fù)雜過程。
[0014]災(zāi)難恢復(fù)過程能夠通過在與其中(一個或多個)主要服務(wù)器正在運(yùn)行的站點(diǎn)不同的站點(diǎn)處具有機(jī)器的儲存器的或虛擬機(jī)器的復(fù)制的拷貝而被簡化。如本文所用的那樣,除非另外指出,否則“拷貝”通常指的是討論中虛擬機(jī)器或虛擬機(jī)器儲存器的復(fù)制。因此,“復(fù)制”和“拷貝”可以在本文中被互換地使用。來自主要服務(wù)器的對虛擬機(jī)器或儲存器的復(fù)制的拷貝的更新可以被作出。復(fù)制虛擬機(jī)器不同于備份應(yīng)用或操作系統(tǒng)棧,因?yàn)樘摂M機(jī)器的復(fù)制牽涉復(fù)制儲存器和虛擬機(jī)器配置兩者,以及工作負(fù)荷在其中它不需要重新配置的條件下到達(dá)恢復(fù)站點(diǎn)。例如,虛擬機(jī)器容器將已經(jīng)具有正確數(shù)目的網(wǎng)絡(luò)接口和其它這種配置,并且它們以工作負(fù)荷正期望的方式被配置。
[0015]本公開提供了使能實(shí)現(xiàn)與虛擬或物理機(jī)器相關(guān)聯(lián)的數(shù)據(jù)的復(fù)制的機(jī)制和方法。例如,在虛擬機(jī)器的背景下,本公開提供了使能實(shí)現(xiàn)一個或多個虛擬機(jī)器的數(shù)據(jù)的復(fù)制的方式,所述數(shù)據(jù)可以以虛擬磁盤或其它類似文件的形式被保持。尤其是,本公開還解決使得恢復(fù)站點(diǎn)用戶能夠在災(zāi)難或其它事件影響主要站點(diǎn)正常進(jìn)行的能力的情況下利用虛擬機(jī)器的復(fù)制的拷貝的機(jī)制和方法。
[0016]以下各種實(shí)施例在虛擬機(jī)器方面被描述。虛擬化通常指的是來自物理資源的抽象,其能夠在客戶端和服務(wù)器場景中被利用。硬件仿真牽涉軟件的使用,所述軟件表示操作系統(tǒng)將典型地與其交互的硬件。硬件仿真軟件能夠支持客戶操作系統(tǒng),并且諸如管理程序之類的虛擬化軟件能夠建立客戶操作系統(tǒng)在其上操作的虛擬機(jī)器(VM)。本文中的描述的許多是在虛擬機(jī)器的背景下被描述的,但原理同樣地適用于不采用虛擬化的物理機(jī)器。
[0017]圖1 一般性地圖示了用于使用差異磁盤來復(fù)制虛擬機(jī)器的代表性的實(shí)施例。第一站點(diǎn)100可以包括一個或多個主計(jì)算系統(tǒng)102-104,所述一個或多個主計(jì)算系統(tǒng)可以容留(host) 一個或多個虛擬機(jī)器(VM) 106。計(jì)算系統(tǒng)102具有關(guān)聯(lián)的儲存器,并且在圖1的例子中,虛擬機(jī)器106具有(一個或多個)關(guān)聯(lián)的虛擬儲存器(VS) 108。所述虛擬儲存器可以表示例如虛擬硬盤驅(qū)動器,所述虛擬硬盤驅(qū)動器一般而言表示典型地作為(一個或多個)磁盤映像文件提供的邏輯儲存器。虛擬機(jī)器106將虛擬儲存器108視為它的硬盤驅(qū)動器或其它類似的存儲設(shè)備。
[0018]在一個實(shí)施例中,虛擬儲存器108中的存儲的數(shù)據(jù)或其它信息的復(fù)制包括儲存器狀態(tài)鏈或樹的使用,其中鏈的頂部(還在本文中被稱為樹梢)提供讀和寫能力以便記錄寫入虛擬儲存器的改變。例如,虛擬儲存器108可以表示具有虛擬硬盤(VHD)文件格式的虛擬硬盤。儲存器樹可以包括基本虛擬磁盤110,以及與基本虛擬磁盤110相關(guān)聯(lián)的一個或多個差異磁盤112A-112n。作為基本虛擬磁盤110的孩子的差異磁盤112A捕獲對虛擬儲存器108的改變。如在下面更完全地描述的那樣,諸如差異磁盤112A之類的差異磁盤可以通過寫保護(hù)被保存,并且諸如差異磁盤112B之類的新的差異磁盤能夠被創(chuàng)建來接受自此以后對虛擬儲存器108的改變。這能夠通過任何數(shù)目的差異磁盤112n繼續(xù),從而創(chuàng)建保存的虛擬磁盤和差異磁盤112n的鏈以便捕獲新的改變。
[0019]包括一個或多個主計(jì)算系統(tǒng)152、153、154的至少一個第二站點(diǎn)150被提供,其中來自第一站點(diǎn)100的復(fù)制的信息可以被接收和存儲,并且其中恢復(fù)計(jì)算操作能夠在致使第一站點(diǎn)100不能夠繼續(xù)它的計(jì)算責(zé)任的災(zāi)難或其它事件的情況下被啟動。第一站點(diǎn)100和第二站點(diǎn)150通過通信鏈路130進(jìn)行通信,所述通信鏈路130能夠牽涉任何類型的電子通信接口,諸如直接電纜連接、有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)等等及其任何組合。虛擬機(jī)器106的復(fù)制可以通過電子裝置或以其它方式而被提供給第二站點(diǎn)150以便提供復(fù)制的虛擬機(jī)器156。類似地,當(dāng)數(shù)據(jù)已被保護(hù)免受另外的寫操作時,被設(shè)計(jì)成捕獲對虛擬儲存器108的改變的虛擬儲存器108的差異磁盤112A-112n或其它部分可以被轉(zhuǎn)移,如在下面更完全地描述的那樣。所復(fù)制的虛擬儲存器158因此對應(yīng)于已經(jīng)從在主要站點(diǎn)100處的虛擬儲存器108被轉(zhuǎn)移的虛擬存儲器。
[0020]諸如在第一站點(diǎn)100處的虛擬儲存器108之類的儲存器能夠異步地將其數(shù)據(jù)流式傳輸?shù)降诙军c(diǎn)。然而,在這樣的布置中,如果第一站點(diǎn)100將故障,則對于第二站點(diǎn)150來說將難以知道什么已被成功地轉(zhuǎn)移了以及儲存器是否是相干的。本公開描述了第一站點(diǎn)100的差異磁盤112A-112n的快照(或其它固定映像)被創(chuàng)建,并且轉(zhuǎn)移到第二站點(diǎn)150。使用快照特征使能實(shí)現(xiàn)虛擬機(jī)器106的儲存器108從一個地方到另一地方的異步復(fù)制。以這種方式,如果在第一站點(diǎn)100處的(一個或多個)主要服務(wù)器故障或者否則離線,則在快照與被復(fù)制的數(shù)據(jù)之間將沒有差異。因此,什么數(shù)據(jù)已經(jīng)在第二站點(diǎn)150處被接收了將是已知的。本公開因此設(shè)想將差異磁盤在特定時間的快照或其它映像轉(zhuǎn)移到第二站點(diǎn)150的第一站點(diǎn)100。
[0021]例如,當(dāng)虛擬儲存器108的復(fù)制被獲得時,它可以進(jìn)一步牽涉將差異磁盤數(shù)據(jù)轉(zhuǎn)移到第二站點(diǎn)150,并且創(chuàng)建新的差異磁盤。作為更特別的例子,差異磁盤112B的快照114或其它復(fù)制/拷貝可以被得到以便將映像(例如,AVHD映像文件)提供給在第二站點(diǎn)150處的主計(jì)算系統(tǒng)152。在一個實(shí)施例中,其快照114被得到的差異磁盤112B將被改變?yōu)橹蛔x,并且新的差異磁盤112n將作為讀/寫虛擬存儲文件被創(chuàng)建。
[0022]一些實(shí)施例牽涉差異磁盤或其它虛擬儲存器映像的不同類型的拷貝。圖1描繪了多個這種不同的復(fù)制或“拷貝”類型,包括拷貝類型-A 116、拷貝類型-B 118至拷貝類型-n 120。例如,諸如拷貝類型-B 118之類的第一拷貝類型可以表示在沒有做出大量努力增加數(shù)據(jù)的相干性的情況下已發(fā)生的差異磁盤112A-112n的低影響(low-1mpact)拷貝/快照。獲得這樣的拷貝的一個方式是在任何期望的時間將特定差異磁盤標(biāo)記為只讀,并且創(chuàng)建新的差異磁盤以捕獲其后寫的數(shù)據(jù)。例如,虛擬機(jī)器快照可以使用例如能夠捕獲運(yùn)行虛擬機(jī)器的狀態(tài)、數(shù)據(jù)以及硬件配置的虛擬化軟件、管理程序、操作系統(tǒng)功能性等來獲得。這種類型的拷貝或其它類似的低影響拷貝可以在本公開中被稱為崩潰一致拷貝(crash-consistent copy),因?yàn)槭裁幢淮鎯υ诓町惔疟P上通常對應(yīng)于緊跟系統(tǒng)故障或停電之后將在磁盤上的東西。在這些情況下,臨時地將尚未被存儲到存儲器的數(shù)據(jù)存儲在高速緩存器或存儲器中的應(yīng)用可能正在運(yùn)行。文件系統(tǒng)元數(shù)據(jù)可以不使全部被管理成在它被標(biāo)記只讀之前使它到磁盤上。采用這種類型的拷貝,在恢復(fù)站點(diǎn)處使拷貝復(fù)活的嘗試將不是完全成功的是可能的,因?yàn)閿?shù)據(jù)可能不是完全相干的。然而,這種類型的拷貝不使運(yùn)行程序被中斷,以及因此當(dāng)它和在第一站點(diǎn)100處的計(jì)算系統(tǒng)102-104的系統(tǒng)性能有關(guān)時具有非常低的成本。
[0023]諸如拷貝類型-A 116之類的另一類型的拷貝可以表示在快照114被得到之前增加數(shù)據(jù)的相干性的一些努力的情況下發(fā)生的差異磁盤112A-112n的較高相干性拷貝/快照。例如,這樣的快照114可以使用在備份功能性與更新磁盤上的數(shù)據(jù)的用戶應(yīng)用之間進(jìn)行協(xié)調(diào)的諸如MICROSOFT?公司的卷影拷貝服務(wù)(VSS)之類的操作系統(tǒng)服務(wù)來獲得。運(yùn)行的軟件(即,數(shù)據(jù)寫者)能夠被通知迫切的備份,并且將它們的文件帶到一致狀態(tài)。這種類型的拷貝提供在第二站點(diǎn)150處適當(dāng)復(fù)活的較高可能性。然而,因?yàn)檫\(yùn)行的應(yīng)用可能需要通過沖刷輸入/輸出(1/0)、保存其狀態(tài)等來為備份做準(zhǔn)備,所以運(yùn)行的工作負(fù)荷被中斷并且受延遲和較低吞吐量的影響。不同的拷貝類型能夠在不同的時間或者在不同的時間表上被用來在工作負(fù)荷中斷與數(shù)據(jù)相干性之間提供期望的平衡。
[0024]如上面所描述的那樣,本公開闡述了與(一個或多個)物理機(jī)器或虛擬機(jī)器相關(guān)聯(lián)的存儲的數(shù)據(jù)被從第一站點(diǎn)100復(fù)制到至少一個第二站點(diǎn)150的方式。實(shí)施例牽涉提供諸如差異磁盤之類的磁盤映像部分的快照或其它拷貝,同時使得多種類型的拷貝能夠被獲得以便有規(guī)律地在第二或“恢復(fù)”站點(diǎn)處提供復(fù)制的數(shù)據(jù),同時使在第一或“主要”站點(diǎn)處的處理中斷保持在易管理的水平。轉(zhuǎn)移到第二站點(diǎn)150的快照能夠與在主要站點(diǎn)100處的快照類似地被鏈接。進(jìn)一步地,在第一和第二站點(diǎn)100、150兩者處的服務(wù)器能夠促進(jìn)寫保護(hù)的差異磁盤到它們相應(yīng)的母體磁盤中的合并,以便降低存儲容量要求、降低訪問延遲等。如在下面更完全地描述的那樣,由第一站點(diǎn)100所轉(zhuǎn)移的差異磁盤在第二站點(diǎn)150處被接收并且被鏈接在虛擬機(jī)器的所復(fù)制的拷貝的現(xiàn)有磁盤鏈的頂部,從而使復(fù)制的虛擬機(jī)器的數(shù)據(jù)視圖保持與(一個或多個)主要服務(wù)器的數(shù)據(jù)視圖同步。
[0025]圖2A和2B描繪了其中依照本公開的復(fù)制可以被實(shí)施的代表性的計(jì)算環(huán)境。圖2A和2B的代表性的系統(tǒng)僅僅是例子,并且明確地不表示排他的布置。圖2A中的計(jì)算環(huán)境圖示了第一站點(diǎn),諸如主要服務(wù)器站點(diǎn)200。在這個例子中,主要服務(wù)器站點(diǎn)200包括一個或多個服務(wù)器202A-202n或其它計(jì)算設(shè)備。服務(wù)器200A_200n中的每一個都可以分別包括諸如一個或多個物理或邏輯處理器204A、204n之類的計(jì)算能力、存儲器206A、206n、儲存器208A、208n等。儲存器208A、208n可以被復(fù)制,使得諸如儲存器快照之類的儲存器拷貝210A、210n可以被提供給(一個或多個)恢復(fù)站點(diǎn)212以用于災(zāi)難恢復(fù)目的。圖2A圖示了本文中所描述的技術(shù)適用于與處理器相關(guān)聯(lián)的任何儲存器,以及適用于虛擬儲存器和虛擬機(jī)器。應(yīng)指出,恢復(fù)站點(diǎn)212可以包括服務(wù)器或具有類似處理、存儲器以及儲存器能力的其它計(jì)算設(shè)備。
[0026]圖2B圖示了牽涉一個或多個虛擬機(jī)器的例子。在這個例子中,主要220和恢復(fù)250服務(wù)器站點(diǎn)分別包括一個或多個服務(wù)器222A-222n,所述服務(wù)器222A_222n每個都可以包括諸如一個或多個物理或邏輯處理器224A、224n之類的計(jì)算能力、存儲器226A、226n、儲存器228A、228n等。所述服務(wù)器中的一個或多個可以包括管理程序230A、230n或其它虛擬機(jī)器管理模塊,其表示操作系統(tǒng)232A、232n和虛擬機(jī)器234A-236A、234n_236n可以在其上操作的虛擬操作平臺。管理程序230A、230n和/或操作系統(tǒng)232A、232n的特征可以被使用、適配或者添加以便提供諸如復(fù)制管理模塊(RRM) 238A、238n之類的功能性。依照本公開,復(fù)制管理模塊238A、238n能夠提供這樣的功能性,諸如:存儲哪些改變(例如,差異磁盤)是要被從主要站點(diǎn)220轉(zhuǎn)移到恢復(fù)站點(diǎn)250的最后改變;請求拷貝響應(yīng)于時間表或其它事件觸發(fā)而被作出;讀取信息以供轉(zhuǎn)移到恢復(fù)站點(diǎn)250 ;將差異磁盤合并到它們相應(yīng)的母體磁盤中等。虛擬儲存器(未示出)與每個虛擬機(jī)器相關(guān)聯(lián),所述每個虛擬機(jī)器可以被以文件的形式存儲在服務(wù)器222A、222n的存儲器226A、226n、本地儲存器228A、228n、如果服務(wù)器222A、222n被配置在集群中則是集群儲存器(未示出)等中。虛擬儲存器可以被復(fù)制,使得儲存器快照或其它拷貝242A、242n被提供給(一個或多個)恢復(fù)站點(diǎn)250以用于災(zāi)難恢復(fù)或其它目的。圖2B因此圖示了本文中所描述的技術(shù)適用于與虛擬機(jī)器相關(guān)聯(lián)的虛擬儲存器。應(yīng)指出,恢復(fù)站點(diǎn)250可以包括服務(wù)器或具有類似處理、存儲器、儲存器、虛擬機(jī)器以及虛擬機(jī)器管理能力的其它計(jì)算設(shè)備,如圖2A和/或2B中所描述的。
[0027]圖3圖示了代表性的方式,以這種方式,主要計(jì)算機(jī)/服務(wù)器環(huán)境能夠促進(jìn)其災(zāi)難恢復(fù)并且使其數(shù)據(jù)當(dāng)它隨著時間的推移而改變時被復(fù)制。圖4A描繪了磁盤鏈404A的第一狀態(tài),以及圖4B描繪了磁盤鏈404B的第二狀態(tài)。在以下例子中,圖3、4A以及4B被共同地參考。
[0028]虛擬機(jī)器400的虛擬磁盤402的基本虛擬磁盤映像406或其它初始儲存器基礎(chǔ)如在塊300處所描繪的那樣被存儲。如在下面進(jìn)一步描述的那樣,這個基本虛擬磁盤映像406可以用作在恢復(fù)站點(diǎn)處虛擬儲存器的復(fù)制的基礎(chǔ)?;咎摂M磁盤映像406可以被呈現(xiàn)為文件,諸如例如,虛擬硬盤(VHD)文件。
[0029]如在塊302處所示出的那樣,對虛擬磁盤402的改變可以被記錄到當(dāng)前差異磁盤410A (圖4A),所述當(dāng)前差異磁盤410A附加于被讀取能夠被寫入。在一個實(shí)施例中,當(dāng)前差異磁盤410A邏輯上是在包括基本虛擬磁盤映像406和任何中間差異磁盤408的磁盤鏈404A的頂部。如果當(dāng)前差異磁盤410A是母體基本虛擬磁盤406的第一孩子差異磁盤,則將不存在中間差異磁盤。進(jìn)一步地,如果中間差異磁盤408已經(jīng)被與基本虛擬磁盤映像406合并了,則將不存在中間差異磁盤。
[0030]另一方面,諸如當(dāng)該差異磁盤的快照或其它拷貝將被保存時,可能存在已被提交為只讀的差異磁盤408。為了快照數(shù)據(jù)(其可以針對復(fù)制被轉(zhuǎn)移)對應(yīng)于差異磁盤,差異磁盤可以結(jié)合快照一起被寫保護(hù)。在這些情況下,在基本虛擬磁盤映像406與當(dāng)前讀/寫差異磁盤410A之間可能存在一個或多個只讀差異磁盤408。如在下面更詳細(xì)地描述的那樣,在主要站點(diǎn)處的至少只讀磁盤的鏈將在(一個或多個)恢復(fù)站點(diǎn)處被復(fù)制,從而使所復(fù)制的虛擬機(jī)器的數(shù)據(jù)視圖保持與在主要站點(diǎn)處的(一個或多個)對應(yīng)服務(wù)器同步。
[0031 ] 在某一時間點(diǎn),當(dāng)前讀/寫差異磁盤4IOA的拷貝將被創(chuàng)建并被寫保護(hù),如在塊304處所示出的那樣。例如,對當(dāng)前差異磁盤410A的拷貝的請求414可以通過處理器可執(zhí)行的復(fù)制管理模塊412來作出,所述處理器可執(zhí)行的復(fù)制管理模塊412可以為管理程序、主操作系統(tǒng)、母體分區(qū)操作系統(tǒng)等的服務(wù)或特征。如上面所指出的那樣,要被作出的拷貝的類型也可以被指出,諸如其中應(yīng)用數(shù)據(jù)可能尚未對拷貝有所準(zhǔn)備的崩潰一致拷貝。另一例子是具有適當(dāng)?shù)暮罄m(xù)復(fù)活的較高可能性的應(yīng)用一致拷貝(application-consistent copy),所述適當(dāng)?shù)暮罄m(xù)復(fù)活可以牽涉例如給予(一個或多個)應(yīng)用以便沖刷數(shù)據(jù)/記錄并且以其它方式為快照或其它拷貝做準(zhǔn)備的某個通知。
[0032]在鏈的頂部的差異磁盤已被標(biāo)記只讀,如由圖4B中的R/0差異磁盤410B所描繪的那樣。在這個磁盤410B已被寫保護(hù)情況下,塊306示出了新的差異磁盤420可以被創(chuàng)建為磁盤鏈404B的新的頂部以便替換剛被拷貝的差異磁盤410B。這個新的“樹梢”差異磁盤420將假定處理讀和寫操作兩者的責(zé)任。在一個實(shí)施例中,任何非合并的中間差異磁盤408、410B以及在它下面的基本虛擬磁盤406將保持只讀。
[0033]在一個實(shí)施例中,只讀基本虛擬磁盤406和任何只讀中間差異磁盤408、4IOB已被轉(zhuǎn)移到恢復(fù)站點(diǎn),其中磁盤鏈將被再創(chuàng)建以用于恢復(fù)目的。這個在塊308處被指出,其中剛被拷貝和寫保護(hù)的差異磁盤410B可以針對復(fù)制的儲存器被轉(zhuǎn)移,諸如轉(zhuǎn)移到復(fù)制的虛擬機(jī)器的地址。因此,當(dāng)拷貝416被獲得時,它可以通過由發(fā)送設(shè)備418所描繪的發(fā)送器、收發(fā)器、網(wǎng)絡(luò)接口和/或其它機(jī)制而被轉(zhuǎn)移到恢復(fù)站點(diǎn)。只要主要站點(diǎn)是操作的并且如在判定塊310處所確定的那樣更多拷貝將被復(fù)制,則創(chuàng)建拷貝并且寫保護(hù)304、創(chuàng)建新的差異磁盤306以及轉(zhuǎn)移快照308的過程能夠繼續(xù)。例如,復(fù)制策略或復(fù)制規(guī)則可以被建立來確定拷貝何時應(yīng)該被作出,并且在多個拷貝類型的情況下,確定哪一種類型的拷貝應(yīng)該被作出。
[0034]圖5是圖示了代表性的方式的流程圖,以這種方式,復(fù)制的虛擬機(jī)器的數(shù)據(jù)視圖被保持與它在主要服務(wù)器中的配對物同步。圖6描繪了復(fù)制的虛擬磁盤600和復(fù)制的磁盤鏈610,其對應(yīng)于在主要站點(diǎn)處正被復(fù)制的虛擬儲存器的所保存部分。在以下例子中,圖5和6被共同地參考。
[0035]如在塊500處所示出的那樣,復(fù)制的虛擬機(jī)器600在恢復(fù)站點(diǎn)處被提供,其中復(fù)制的虛擬機(jī)器600基本上對應(yīng)于將被復(fù)制的主要虛擬機(jī)器。這可以被電子地傳送,或者通過其它裝置來輸送。復(fù)制的虛擬磁盤602或其它復(fù)制的虛擬儲存器像在塊502處所示出的那樣被提供。復(fù)制的虛擬磁盤602可以包括與要被復(fù)制的主要基本虛擬磁盤(例如,圖4的基本虛擬磁盤400)基本上相對應(yīng)的復(fù)制的基本虛擬磁盤604。
[0036]與主要基本虛擬磁盤相關(guān)聯(lián)(諸如作為主要基本虛擬磁盤的孩子或更遠(yuǎn)后代)的差異磁盤606的拷貝像在塊504處所示出的那樣被接收。在一個實(shí)施例中,所接收的拷貝是多個可能類型的拷貝或復(fù)制中的一個。如在塊506處所示出的那樣,所接收的差異磁盤606的拷貝以它相對于在主要站點(diǎn)處的主要基本虛擬磁盤被布置的方式相對于復(fù)制的基本虛擬磁盤604被布置。例如,如果一個或多個中間差異磁盤存在于主要站點(diǎn)處,則當(dāng)所保存的差異磁盤被布置在主要磁盤鏈(例如,圖4A、4B的磁盤鏈404A/B)中時,那些差異磁盤608的拷貝/快照將被接收和布置在復(fù)制的磁盤鏈610中。雖然中間差異磁盤608中的一個或多個可以被合并到在主要和/或恢復(fù)服務(wù)器處的它的基本虛擬磁盤604中,但是內(nèi)容應(yīng)該保持與在主要站點(diǎn)處的磁盤鏈同步。
[0037]如果其它差異磁盤像在判定塊508處所確定的那樣在恢復(fù)站點(diǎn)處被接收,則更多差異磁盤能夠被接收504和布置506成保持與主要站點(diǎn)同步。這些復(fù)制的差異磁盤(例如,快照或其它拷貝)能夠被接收器612接收,所述接收器612能夠表示分立的接收器、收發(fā)器、網(wǎng)絡(luò)接口或任何接收機(jī)制。復(fù)制管理模塊614可以作為處理器可執(zhí)行模塊被提供在(一個或多個)恢復(fù)服務(wù)器上,諸如在服務(wù)器的管理程序、主操作系統(tǒng)、母體分區(qū)操作系統(tǒng)等上。復(fù)制管理模塊614可以執(zhí)行這樣的任務(wù),諸如:保持有關(guān)哪一個是要被從主要站點(diǎn)接收的最后一組改變(例如,差異磁盤)的信息;保持拷貝原有的類型(例如,崩潰一致、應(yīng)用一致等);確定如果恢復(fù)操作被啟動則在多個復(fù)制的差異磁盤中的哪一個中將開始處理;將快照或其它拷貝布置在與主要站點(diǎn)的鏈相對應(yīng)的鏈中;以及本文中所描述的其它功能。
[0038]如在前述例子中看到的那樣,在本公開中所提供的解決方案能夠使用快照或其它復(fù)制特征來以周期性或其它間隔創(chuàng)建差異磁盤。例如,管理程序、其它虛擬化軟件和/或操作系統(tǒng)可以包括可以被用來創(chuàng)建差異磁盤的快照特征。在一個實(shí)施例中,在磁盤鏈的頂部的差異磁盤累積改變,同時進(jìn)一步沿著所述鏈向下的只讀虛擬硬盤諸如通過網(wǎng)絡(luò)而被轉(zhuǎn)移到遠(yuǎn)程站點(diǎn)。在遠(yuǎn)程站點(diǎn)上,所接收到的差異磁盤可以通過創(chuàng)建并且修改快照被鏈接在虛擬機(jī)器的所復(fù)制的拷貝的現(xiàn)有磁盤鏈的頂部,從而使復(fù)制的虛擬機(jī)器的數(shù)據(jù)視圖保持與主要服務(wù)器同步。
[0039]使用這樣的特征,通過設(shè)計(jì)確保復(fù)制的數(shù)據(jù)的正確性的、運(yùn)行虛擬機(jī)器的復(fù)制能夠被提供。例如,用來累積對主要服務(wù)器的寫的差異磁盤的使用、以及相同磁盤到遠(yuǎn)程站點(diǎn)上的復(fù)制的虛擬機(jī)器的鏈接確保即使在任一端處的電源故障或系統(tǒng)崩潰情況下也沒有寫將被復(fù)制過程丟失。這個機(jī)制提供了復(fù)制的數(shù)據(jù)的一致性,而無需再同步機(jī)制或一致性檢查機(jī)制。
[0040]本文中所描述的解決方案使能實(shí)現(xiàn)運(yùn)行虛擬機(jī)器的拷貝的創(chuàng)建和其數(shù)據(jù)以非破壞性方式從主要站點(diǎn)到恢復(fù)站點(diǎn)的周期性同步。例如,一種機(jī)制被提供來創(chuàng)建在主要站點(diǎn)上運(yùn)行的虛擬機(jī)器到遠(yuǎn)程服務(wù)器的拷貝,其通過在網(wǎng)絡(luò)上轉(zhuǎn)移虛擬機(jī)器的配置和數(shù)據(jù)磁盤來實(shí)現(xiàn)。這樣的機(jī)制能夠允許差異磁盤在虛擬機(jī)器的虛擬硬盤鏈的頂部的創(chuàng)建、底部的(underlying)只讀差異磁盤通過網(wǎng)絡(luò)到遠(yuǎn)程服務(wù)器的轉(zhuǎn)移、以及這些磁盤到遠(yuǎn)程服務(wù)器上的虛擬機(jī)器的鏈接。差異磁盤的創(chuàng)建允許數(shù)據(jù)轉(zhuǎn)移在不打斷運(yùn)行虛擬機(jī)器的情況下發(fā)生。
[0041]應(yīng)用一致的時間點(diǎn)可以被生成用于虛擬機(jī)器的復(fù)制的拷貝。例如,(VSS)快照可以被使用,這允許虛擬機(jī)器內(nèi)部的應(yīng)用沖刷和靜止(quiesce)它們的寫,以便直到該點(diǎn)的數(shù)據(jù)提供可恢復(fù)性的較高保證。一個示例性方法使用VSS快照來使能實(shí)現(xiàn)在恢復(fù)服務(wù)器上通過回復(fù)到(reverting to) VSS快照來從這種較高保證的恢復(fù)點(diǎn)中進(jìn)行恢復(fù)。
[0042]本文中所描述的解決方案提供了用來自多個時間點(diǎn)中的一個的數(shù)據(jù)來提出(bring up)復(fù)制的虛擬機(jī)器以及若需要隨后改變時間點(diǎn)的能力。例如,所述機(jī)制創(chuàng)建并且修改快照以便鏈接從主要服務(wù)器接收到的差異磁盤。快照表示復(fù)制的虛擬機(jī)器的數(shù)據(jù)的時間點(diǎn)。所述方法提供了通過創(chuàng)建到這個時間點(diǎn)的差異磁盤并且將它用于提出虛擬機(jī)器來提出所述復(fù)制的虛擬機(jī)器的機(jī)制。在恢復(fù)站點(diǎn)處的這些差異磁盤捕獲由復(fù)制的虛擬機(jī)器所生成的任何寫。如果用戶選擇隨后改變時間點(diǎn),則差異磁盤可以被丟棄,以相對于新的時間點(diǎn)被創(chuàng)建的新的差異磁盤所取代。
[0043]這些方法進(jìn)一步使得當(dāng)在虛擬機(jī)器的復(fù)制的拷貝上運(yùn)行“測試”時復(fù)制能夠被繼續(xù),而不用作出所述復(fù)制的虛擬機(jī)器的虛擬硬盤的拷貝。例如,所述方法提供了使用指向相同母體虛擬硬盤的兩個(或更多)組的差異磁盤來生成復(fù)制的虛擬機(jī)器的“測試”拷貝的能力。從“測試”虛擬機(jī)器執(zhí)行的寫在一組差異磁盤中被捕獲,所述一組差異磁盤在測試完成時被丟棄。從主要服務(wù)器到達(dá)的周期性同步改變或“增量(deltas)”可以在另一組差異磁盤中被收集,一旦測試完成所述另一組差異磁盤就能夠被合并到母體中。
[0044]所述解決方案進(jìn)一步提供在針對虛擬機(jī)器(例如,基本虛擬磁盤)的初始復(fù)制品正被帶外傳輸時繼續(xù)復(fù)制的能力。該機(jī)制提供用于“帶外”(即,在用于將數(shù)據(jù)從主要站點(diǎn)傳輸?shù)竭h(yuǎn)程站點(diǎn)的網(wǎng)絡(luò)傳輸通道外面)傳輸虛擬機(jī)器的初始復(fù)制品的支持。正指向(或者“根源到(parenting to)”)空虛擬硬盤的差異磁盤可以在遠(yuǎn)程站點(diǎn)上被創(chuàng)建,其中在復(fù)制期間從主要服務(wù)器接收的后續(xù)差異磁盤被鏈接在創(chuàng)建的差異磁盤的頂上。當(dāng)帶外復(fù)制品在遠(yuǎn)程站點(diǎn)上被接收到時,被創(chuàng)建成指向空虛擬硬盤的差異磁盤能夠被“重作為母體”以便指向在初始復(fù)制品中接收到的虛擬硬盤。
[0045]描繪許多這些點(diǎn)的例子現(xiàn)在被提供,所述例子闡述了根據(jù)本公開的復(fù)制事件的序列的代表性的例子。圖7A-7F圖示了用于從第一計(jì)算環(huán)境向至少一個其它計(jì)算環(huán)境異步地復(fù)制虛擬機(jī)器或其它計(jì)算實(shí)體的儲存器的代表性的例子。在適當(dāng)?shù)牡胤?,相同的附圖標(biāo)記貫穿圖7A-7F被用來識別相同的項(xiàng)目。
[0046]在這個例子中,主要計(jì)算站點(diǎn)700表示第一計(jì)算環(huán)境,并且第二或“恢復(fù)”計(jì)算站點(diǎn)750表示第二計(jì)算環(huán)境。主要站點(diǎn)700包括一個或多個操作計(jì)算設(shè)備(例如,服務(wù)器),恢復(fù)站點(diǎn)750也是如此?;謴?fù)站點(diǎn)750表示一個或多個計(jì)算設(shè)備/服務(wù)器,其能夠接收虛擬磁盤或其它儲存器文件以用于在影響主要站點(diǎn)700執(zhí)行其義務(wù)的能力的災(zāi)難或其它事件情況下保存和可能的復(fù)活。
[0047]雖然本公開適用于使用本機(jī)計(jì)算系統(tǒng)來跟蹤和復(fù)制任何數(shù)據(jù)設(shè)備或結(jié)構(gòu)的儲存器,但是一個實(shí)施例牽涉跟蹤和復(fù)制對由基于管理程序的虛擬化系統(tǒng)所使用的虛擬磁盤的改變。在這樣的系統(tǒng)中,為了跟蹤和復(fù)制對由虛擬機(jī)器所使用的虛擬磁盤的改變,差異磁盤可以被用于運(yùn)行的虛擬機(jī)器。當(dāng)虛擬機(jī)器被配置用于跟蹤時,與主要站點(diǎn)700的(一個或多個)計(jì)算設(shè)備相關(guān)聯(lián)的基本虛擬磁盤702將被轉(zhuǎn)移或者否則提供給在恢復(fù)站點(diǎn)750處的(一個或多個)計(jì)算設(shè)備。這由在恢復(fù)站點(diǎn)750處的復(fù)制的基本虛擬磁盤752來描繪。
[0048]當(dāng)基本虛擬磁盤702已被寫保護(hù)并且拷貝到恢復(fù)站點(diǎn)750時,第一差異磁盤Dl704被創(chuàng)建來捕獲牽涉該虛擬磁盤的任何新的寫。換句話說,對虛擬磁盤的任何改變?nèi)缓髮⒃谥饕军c(diǎn)700處對差異磁盤704作出,同時在此時,恢復(fù)站點(diǎn)已經(jīng)將虛擬磁盤保存在復(fù)制的基本虛擬磁盤752狀態(tài)。在一個實(shí)施例中,在主要站點(diǎn)700和恢復(fù)站點(diǎn)750兩者上的復(fù)制(例如,復(fù)制管理模塊)將存儲指示基本虛擬磁盤702到復(fù)制的基本虛擬磁盤752的轉(zhuǎn)移是要被轉(zhuǎn)移的最近一組改變的狀態(tài)信息。如果在主要站點(diǎn)700處的對應(yīng)的虛擬機(jī)器(或其它計(jì)算系統(tǒng))將故障或否則不能夠此時執(zhí)行其義務(wù),則在恢復(fù)站點(diǎn)750處的硬件能夠從與復(fù)制的基本虛擬磁盤752相對應(yīng)的虛擬儲存器的狀態(tài)開始運(yùn)作。
[0049]儲存器的拷貝可以任何時間被請求,包括與時間表相結(jié)合地被請求。例如,在主要站點(diǎn)700處的復(fù)制管理可以在特定時間作出對在一些時間推移之后的虛擬儲存器的拷貝的請求,其作為事件的發(fā)生的結(jié)果等。本公開設(shè)想了能夠被創(chuàng)建并且發(fā)送到恢復(fù)站點(diǎn)750的多種類型的拷貝,它們的每一個都可以具有它自己的時間表或其它觸發(fā)標(biāo)準(zhǔn)。
[0050]簡要地參考圖8,對基本或差異磁盤的快照或其它拷貝進(jìn)行調(diào)度的例子被示出。策略800可以被存儲在存儲器或儲存器802中,所述存儲器或儲存器802可以是與主計(jì)算系統(tǒng)相關(guān)聯(lián)的或另外的儲存器。在一個實(shí)施例中,策略800包括用于請求差異磁盤的拷貝以供復(fù)制到恢復(fù)服務(wù)器的規(guī)則。在所圖示的實(shí)施例中,兩種類型的拷貝被說明,但是較少或更多類型的拷貝能夠被實(shí)施。在這個例子中,策略800包括針對崩潰一致拷貝804的指令,諸如其中拷貝應(yīng)該被獲得的特定時間806、獲得崩潰一致拷貝之間的固定的或變化的時間間隔808、啟動對崩潰一致拷貝的請求的其它事件觸發(fā)810等等中的任何一個或多個。類似地,策略800可以包括針對應(yīng)用一致拷貝814的類似可能性816、818、820,但是特定時間816、間隔818和/或事件觸發(fā)820可以不同于其它(一個或多個)拷貝類型的那些??梢园ㄌ幚砥骱涂蓤?zhí)行軟件的控制器824能夠執(zhí)行策略800。例如,控制器可以執(zhí)行(一個或多個)程序,諸如先前所描述的復(fù)制管理模塊,以便基于策略800來執(zhí)行定時器826、事件監(jiān)控828和/或快照830功能。在其它實(shí)施例中,快照能夠由其它控制器可執(zhí)行的程序來提供,所述程序諸如先前所描述的卷影拷貝服務(wù)(VSS)。
[0051]現(xiàn)返回到圖7A-7F的例子,圖7B假定復(fù)制管理已請求了第一類型的拷貝,在這個例子中被稱為崩潰一致拷貝。這樣的拷貝可以表示虛擬儲存器在任何給定時刻的拷貝。例如,崩潰一致拷貝可以通過任何時候停止對差異磁盤Dl 704的寫活動而被作出。在一個實(shí)施例中,當(dāng)虛擬磁盤的崩潰一致拷貝被請求時,該虛擬磁盤對進(jìn)一步的寫操作被封鎖,并且新的差異磁盤D2 706被創(chuàng)建來捕獲牽涉該虛擬磁盤的任何新的寫。在差異磁盤Dl 704在任何計(jì)劃的或任意時刻對于新的寫被封鎖(例如,標(biāo)記只讀)而沒有準(zhǔn)備的情況下,虛擬機(jī)器(或其它計(jì)算系統(tǒng))的運(yùn)行工作負(fù)荷未被中斷。雖然這種類型的拷貝使得工作負(fù)荷能夠在沒有中斷的情況下并且以正常速度繼續(xù)操作,但是可能的后果是:歸因于在任意時刻已被獲得的差異磁盤Dl 704拷貝,在恢復(fù)站點(diǎn)750處使拷貝復(fù)活的后續(xù)嘗試可能潛在地故障。
[0052]如上面所指出的那樣,在Dl 704已被保存以供最后轉(zhuǎn)移到恢復(fù)站點(diǎn)750時,另一差異磁盤D2 706被創(chuàng)建來使得信息能夠被寫入虛擬磁盤。差異磁盤Dl 704被使得對于復(fù)制管理是可用的以供轉(zhuǎn)移到在恢復(fù)站點(diǎn)750處的一個或多個恢復(fù)服務(wù)器,如由在恢復(fù)站點(diǎn)750處的復(fù)制的差異磁盤Dl 754所描繪的那樣。自此以后的對主要站點(diǎn)700的虛擬磁盤的更新在新的差異磁盤D2 706中被捕獲。
[0053]在一個實(shí)施例中,在差異磁盤Dl 704中存儲的信息被改變?yōu)橹蛔x,使得它可以不再被數(shù)據(jù)寫修改。相反地,新的差異磁盤D2 706被配置成被寫入并且因此記錄對虛擬磁盤的改變。在主要站點(diǎn)700處的復(fù)制管理可以將只讀差異磁盤Dl 704合并到它的母體磁盤中,所述母體磁盤在這個例子中是基本虛擬磁盤702。這樣的合并的例子在圖7C中被示出,其中Dl 704已被合并到基本虛擬磁盤702中以便提供新的合并的虛擬磁盤708。
[0054]對于執(zhí)行合并功能的一個目的是降低讀操作為了定位在虛擬磁盤上存儲的數(shù)據(jù)可能經(jīng)受的鏈接的數(shù)目?,F(xiàn)參考圖9,這種鏈接的例子被描述。假定基本虛擬磁盤902的拷貝901已被提供給恢復(fù)服務(wù)器950,如由復(fù)制的基本虛擬磁盤952所描繪的那樣。新近創(chuàng)建的差異磁盤(例如,差異磁盤904)將包括到其母體磁盤的指針906或鏈接,所述母體磁盤同樣為前一個“樹梢”磁盤。在這個例子中,差異磁盤904將包括到基本虛擬磁盤902的指針906。如果讀操作908在主要服務(wù)器900上針對在新的差異磁盤904中未找到的數(shù)據(jù)被發(fā)出,則讀操作908可以獲得在被指針906、鏈接或其它類似指向機(jī)制規(guī)定的磁盤鏈中遠(yuǎn)靠后的位置處的數(shù)據(jù)。在這個例子中,如果差異磁盤904不具有與該讀請求相關(guān)聯(lián)的數(shù)據(jù),則讀操作908將基于差異磁盤904中的指針906從基本磁盤902獲得數(shù)據(jù)。
[0055]差異磁盤904的拷貝910被提供給恢復(fù)服務(wù)器950,如由復(fù)制的差異磁盤954所描繪的那樣。當(dāng)差異磁盤904被寫保護(hù)并且拷貝910到恢復(fù)服務(wù)器950時,新的差異磁盤912被創(chuàng)建以便接受對虛擬磁盤的改變,其諸如通過寫操作909來實(shí)現(xiàn)。新的差異磁盤912可以包括到其母體的鏈接或指針914,所述母體在這個例子中是差異磁盤904。讀操作908可以針對在差異磁盤912或差異磁盤904中未被找到的數(shù)據(jù)被發(fā)出,在這種情況下,往回指向基本虛擬磁盤702的鏈接或指針914、906被提供來定位所尋址的數(shù)據(jù)。
[0056]取決于已在只讀狀態(tài)下被保存的差異磁盤的數(shù)目,可能存在許多鏈接來定位遠(yuǎn)在基本虛擬磁盤702的數(shù)據(jù)。為了降低與這種鏈接相關(guān)聯(lián)的開銷,已被提交為只讀并且轉(zhuǎn)移到恢復(fù)服務(wù)器950的在主要服務(wù)器900處的差異磁盤可以被與它們相應(yīng)的母體磁盤合并。已被標(biāo)記只讀或者否則保存用于復(fù)制和轉(zhuǎn)移的任何期望的差異磁盤一直到所有可以被合并。如在下面更完全地描述的那樣,這種合并還可以在恢復(fù)站點(diǎn)950處被實(shí)施。
[0057]現(xiàn)返回到圖7A-7F的例子,圖7C假定復(fù)制管理已請求了虛擬磁盤的第二類型的拷貝,在這個例子中被稱為應(yīng)用一致拷貝。在這個例子中所描述的第一類型的拷貝是崩潰一致拷貝(其為運(yùn)行系統(tǒng)的儲存器的通用快照)的情況下,這個例子中的應(yīng)用一致拷貝通常指的是已使它本身準(zhǔn)備好使快照被得到的運(yùn)行系統(tǒng)的儲存器的快照。在儲存器以這個方式被準(zhǔn)備情況下,所述快照是相干的,因?yàn)樗龠M(jìn)在復(fù)制站點(diǎn)750處成功復(fù)活的高可能性。尚未使它本身為要被得到的快照做好準(zhǔn)備的拷貝(例如,崩潰一致拷貝)在復(fù)活后可能不是相干的。例如,在崩潰一致拷貝的情況下,文件系統(tǒng)元數(shù)據(jù)、數(shù)據(jù)庫元數(shù)據(jù)和/或其它信息可能不使其到磁盤上。
[0058]在一個實(shí)施例中,諸如應(yīng)用一致拷貝之類的預(yù)準(zhǔn)備的拷貝可以結(jié)合管理模塊被作出,所述管理模塊向系統(tǒng)中的軟件通知拷貝將被作出。例如,卷影拷貝服務(wù)(VSS)包括這樣的過程,其中系統(tǒng)中的諸如數(shù)據(jù)庫之類的運(yùn)行軟件能夠可選地為向該軟件通知迫切的儲存器拷貝或快照的通知進(jìn)行注冊,所述迫切的儲存器拷貝或快照提供軟件時間以便將記錄提供到被保存的磁盤映像的一部分中。
[0059]如果在主要站點(diǎn)700處的復(fù)制管理作出對這樣的預(yù)準(zhǔn)備的或“應(yīng)用一致”拷貝的請求,則針對操作系統(tǒng)的VSS或其它管理模塊可以被牽涉來生成快照集。當(dāng)所述快照被創(chuàng)建時,圖7C中所示出的差異磁盤D2 706可以被轉(zhuǎn)換為只讀,并且另一新的讀/寫差異磁盤D3 710可以被創(chuàng)建來現(xiàn)在捕獲正被寫入虛擬磁盤的數(shù)據(jù)。在差異磁盤D3 710現(xiàn)在記錄對虛擬磁盤的改變的情況下,在先的“樹梢”差異磁盤D2 706被轉(zhuǎn)移到恢復(fù)站點(diǎn)750,如由在圖7D中所示出的復(fù)制的差異磁盤D2 758所描繪的那樣。
[0060]在差異磁盤D2 706的應(yīng)用一致拷貝到恢復(fù)站點(diǎn)750的轉(zhuǎn)移的情況下,合并可以再次在主要站點(diǎn)700處發(fā)生。這在圖7D中被描繪,其中圖7C的所合并的虛擬磁盤708現(xiàn)在包括D2以便形成新的合并的虛擬磁盤712。在恢復(fù)站點(diǎn)750處的復(fù)制管理指出,現(xiàn)在已從主要站點(diǎn)700被接收到的復(fù)制的差異磁盤D2 758是來自主要站點(diǎn)700的磁盤的最新拷貝。因?yàn)镈2 758拷貝是應(yīng)用一致拷貝并且還被假定為崩潰一致的,所以它用作來自主要站點(diǎn)700的磁盤的應(yīng)用一致拷貝和崩潰一致拷貝兩者。
[0061]圖7D還圖示了在恢復(fù)站點(diǎn)750處的磁盤的合并。復(fù)制的崩潰一致拷貝Dl 754和復(fù)制的基本虛擬磁盤752在圖7D中已被合并以便形成合并的復(fù)制的虛擬磁盤756。隨著來自主要站點(diǎn)700的快照到達(dá)恢復(fù)站點(diǎn)750,所述快照可以被核對并且做好運(yùn)行準(zhǔn)備。通過以這種方式來合并和核對所接收到的快照,如果災(zāi)難在恢復(fù)站點(diǎn)750處的操作將被依賴的地方發(fā)生,則潛在的操作延遲能夠通過在恢復(fù)站點(diǎn)750處合并接收到的拷貝中的所選擇的拷貝(或直到全部)而被減輕或者避免。因此,一個實(shí)施例牽涉在虛擬磁盤的快照或其它拷貝到達(dá)時或者至少在復(fù)制的數(shù)據(jù)正被要求以用于在恢復(fù)站點(diǎn)750處使用的時間之前合并和校對它們中的至少一些。
[0062]實(shí)施例還包括存儲在恢復(fù)站點(diǎn)750處接收到的快照或其它拷貝中的一個或多個。為了回復(fù)到特定的磁盤映像,該磁盤映像能夠被保存以便從那個點(diǎn)使能恢復(fù)操作。在采用多種類型的快照(例如,崩潰一致拷貝、應(yīng)用一致拷貝等)的實(shí)施例中,每個類型的快照中的一個或多個或其它類似拷貝可以被保存以便使能從快照類型的期望類型中恢復(fù)。例如,崩潰一致拷貝可以比應(yīng)用一致拷貝更加有規(guī)律地被提供給恢復(fù)站點(diǎn)750,這可以通過諸如結(jié)合圖8所描述的策略這樣的策略而被設(shè)置。在一個實(shí)施例中,應(yīng)用一致拷貝比崩潰一致拷貝較不頻繁地被提供,這是歸因于在獲得應(yīng)用一致拷貝時牽涉的潛在地更大的準(zhǔn)備和處理時間以及后續(xù)延遲。在要求在恢復(fù)站點(diǎn)750處的操作的災(zāi)難或其它事件的情況下,取決于諸如從每個類型的最近復(fù)制的拷貝起的相對時間推移、在恢復(fù)站點(diǎn)750處重建操作時的緊迫性、多種類型的快照之間的虛擬磁盤修改的程度等之類的許多因素,恢復(fù)服務(wù)器可以試圖從崩潰一致拷貝或應(yīng)用一致拷貝開始操作。
[0063]圖7E圖示了響應(yīng)于另一崩潰一致拷貝正被請求以供轉(zhuǎn)移到恢復(fù)站點(diǎn)750的主要站點(diǎn)700和恢復(fù)站點(diǎn)750上的虛擬儲存器樹。在這個例子中,差異磁盤D3 710 (圖7D)被轉(zhuǎn)移到恢復(fù)站點(diǎn)750,如由圖7E中的復(fù)制的差異磁盤760所示出的那樣。再次,在主要站點(diǎn)700處的差異磁盤D3 710可以被合并到虛擬磁盤712中以便創(chuàng)建新的合并的差異磁盤714,并且另一新的讀/寫差異磁盤D4 716可以被創(chuàng)建來捕獲對所述虛擬磁盤的改變。
[0064]在恢復(fù)站點(diǎn)750處,新近接收到的崩潰一致拷貝760現(xiàn)在是最近的拷貝(樹梢)。在這個實(shí)施例中,復(fù)制的應(yīng)用一致拷貝D2 758和復(fù)制的崩潰一致拷貝D3 760都可作為恢復(fù)點(diǎn)使用。例如,假定在主要站點(diǎn)700處的主要服務(wù)器故障或者否則變得不能夠適當(dāng)?shù)貓?zhí)行其義務(wù),并且假定這個故障發(fā)生在通常與圖7E中所描繪的時間點(diǎn)相對應(yīng)的時間點(diǎn)。在恢復(fù)站點(diǎn)750處的恢復(fù)虛擬機(jī)器(或替換地物理機(jī)器)可以使用例如最近接收到的復(fù)制的應(yīng)用一致拷貝D3 760而被調(diào)用。盡管應(yīng)用一致拷貝D3 760時間上較早地在恢復(fù)站點(diǎn)750處被接收,但是它是具有在恢復(fù)站點(diǎn)750處適當(dāng)?shù)貜?fù)活的較高可能性的拷貝類型。如上面所指出的那樣,這是歸因于這種“類型”的拷貝,其在這個例子中牽涉在相應(yīng)快照被得到之前向在主要站點(diǎn)700處的應(yīng)用/軟件通知迫切的快照,從而使得軟件本身能夠?yàn)榭煺兆鰷?zhǔn)備。
[0065]因此,在一個實(shí)施例中,在恢復(fù)站點(diǎn)750處的虛擬機(jī)器或其它計(jì)算系統(tǒng)能夠使用復(fù)制的虛擬儲存器的多個可用的差異磁盤、快照或其它狀態(tài)中的一個而被提出。在一個實(shí)施例中,差異磁盤作為對于特定差異磁盤的孩子被創(chuàng)建,虛擬機(jī)器從所述特定差異磁盤被調(diào)用。在圖7F的例子中,差異磁盤762以復(fù)制的應(yīng)用一致差異磁盤D2 758作為其母體來創(chuàng)建。這個差異磁盤762然后被顯現(xiàn),并且存在于磁盤上的卷被回復(fù)到與D2 758相關(guān)聯(lián)的應(yīng)用一致(例如,VSS)快照集。
[0066]如圖7F圖示的一樣,當(dāng)保存一排差異磁盤時,使多個差異磁盤指向樹中的相同只讀點(diǎn)是可能的。例如,復(fù)制的崩潰一致差異磁盤D3 760指向應(yīng)用一致差異磁盤D2 758,如在恢復(fù)站點(diǎn)750處被創(chuàng)建的差異磁盤762所做的那樣。差異磁盤D3 760和差異磁盤762因此表示相對于只讀差異磁盤D2 758的狀態(tài)的兩個不同未來。例如,用戶能夠選擇使用虛擬磁盤在恢復(fù)站點(diǎn)750處引導(dǎo)虛擬機(jī)器,所述虛擬磁盤包括差異磁盤762、被差異磁盤762指向的只讀差異磁盤758以及被差異磁盤D2 758指向的合并磁盤756。
[0067]因此,在所圖示的例子中,在恢復(fù)站點(diǎn)750處第一虛擬磁盤的自動或手動選擇可以包括只讀磁盤756 (包括基本虛擬磁盤和Dl)、只讀應(yīng)用一致差異磁盤D2 758以及讀/寫崩潰一致差異磁盤D3 760。替換地,第二虛擬磁盤的自動或手動選擇可以包括只讀磁盤756 (包括基本虛擬磁盤和Dl)、只讀應(yīng)用一致差異磁盤D2 758以及在恢復(fù)站點(diǎn)750處被創(chuàng)建的差異磁盤762??紤]到通過使多個讀/寫差異磁盤指向共同母體磁盤所提供的不同“未來”,不同的恢復(fù)場景是可能的。
[0068]一個或多個可用的虛擬磁盤鏈中的任一個都可以在恢復(fù)站點(diǎn)750處被選擇。例如,用戶可以選擇保存崩潰一致磁盤D3 760,因?yàn)楫?dāng)虛擬機(jī)器使用應(yīng)用一致磁盤D2 758被引導(dǎo)時它不具有所期望的數(shù)據(jù)。在這種情況下,虛擬機(jī)器可以使用崩潰一致磁盤D3 760來運(yùn)行。即使恢復(fù)虛擬機(jī)器使用應(yīng)用一致磁盤D2 758被復(fù)活了并且往回指向應(yīng)用一致時刻的新的差異磁盤762被創(chuàng)建了,崩潰一致磁盤D3 760也可以被保存為另一復(fù)活鏈可能性。
[0069]差異磁盤762能夠替換地被從不同的差異磁盤創(chuàng)建。例如,如果最后一個崩潰一致拷貝D3 760將被用于恢復(fù),則差異磁盤762能夠被用崩潰一致拷貝D3 760作為母體磁盤來創(chuàng)建。在一個實(shí)施例中,這可以通過使在差異磁盤762處存儲的指針或其它鏈接指向D3 760或者否則將D3 760識別為其母體而被實(shí)現(xiàn)。例子在圖9中被描繪,其中指針956指向其母體磁盤952。指針956可能需要被從它在主要服務(wù)器900中的狀態(tài)改變,以便它指向在恢復(fù)服務(wù)器950處的正確映像。圖7F中的恢復(fù)點(diǎn)將為D2 758、D3 760還是其它恢復(fù)點(diǎn)的判定可以基于配置被自動地確定,或者由用戶手動地確定。
[0070]與在恢復(fù)站點(diǎn)處的差異磁盤762相關(guān)聯(lián)的創(chuàng)建和代表性的內(nèi)容的例子現(xiàn)在被描述。在這個代表性的實(shí)施例中,在恢復(fù)站點(diǎn)750處的差異磁盤762在其創(chuàng)建后是空的。它可以被配置成指向其母體磁盤,所述母體磁盤在這個例子中是D2 758。當(dāng)虛擬(或物理)機(jī)器開始操作時,可能需要被寫入的信息將被寫入新的差異磁盤762。例如,新的差異磁盤762可以被連接到在恢復(fù)站點(diǎn)750處的復(fù)制的虛擬機(jī)器,其具有與在主要站點(diǎn)700處的主要虛擬機(jī)器相同的或類似的特性。當(dāng)這個復(fù)制的虛擬機(jī)器被引導(dǎo)時,它可以考慮能夠被寫入和讀取的它的虛擬磁盤。新的差異磁盤762能夠被寫入,同時取決于信息駐留在哪里,信息能夠從新的差異磁盤762、其母體或較早的譜系(lineage)被讀取。
[0071]附加于在相關(guān)聯(lián)的(一個或多個)恢復(fù)服務(wù)器在操作中時用作讀/寫磁盤的差異磁盤762,該差異磁盤還可以存儲在恢復(fù)站點(diǎn)750處的復(fù)制的儲存器將被使用的時間之前的數(shù)據(jù)。例如,差異磁盤762可以存儲從主要站點(diǎn)750接收的寫入差異磁盤的、以及在快照在主要站點(diǎn)750處被得到的時間和差異磁盤被標(biāo)記為只讀的時間之間發(fā)生的數(shù)據(jù)。
[0072]作為例子,假定在主要站點(diǎn)700處的復(fù)制管理模塊請求虛擬機(jī)器的運(yùn)行工作負(fù)荷做出虛擬儲存器或其它快照的應(yīng)用一致拷貝,其牽涉使它本身為快照做準(zhǔn)備的軟件。作為響應(yīng),應(yīng)用軟件可以試圖使它自己對于快照來說相干,但可能難以使在虛擬磁盤中正被得到的快照與正在應(yīng)用中發(fā)生的信息“沖刷(flush)”相協(xié)調(diào)。當(dāng)應(yīng)用軟件看起來已完成了到儲存器的數(shù)據(jù)沖刷時,虛擬磁盤快照被得到。其后,經(jīng)快照的差異磁盤被標(biāo)記只讀,并且新的差異磁盤被創(chuàng)建。在虛擬磁盤快照被得到的時間與對應(yīng)的差異磁盤被寫為只讀的時間之間,一個或多個雜散數(shù)據(jù)寫可能已找到它們到為快照的主體的差異磁盤上的途徑。因此,差異磁盤可以不精確地與被轉(zhuǎn)移到恢復(fù)站點(diǎn)750的差異磁盤快照758 —致是可能的。在這種情況下,即使在沒有故障轉(zhuǎn)移到恢復(fù)站點(diǎn)750的情況下,差異磁盤758也能夠作為實(shí)時虛擬磁盤被掛載(mount)以便定位那些雜散寫,并且以便將那些雜散寫退出到差異磁盤D2 758外且在在恢復(fù)站點(diǎn)750處創(chuàng)建的差異磁盤762上。以這種方式,如果故障轉(zhuǎn)移最后是需要的,則這個任務(wù)已被處理了。退出雜散寫的這個功能可以使用將最后被恢復(fù)或者替換地能夠作為服務(wù)的一部分而被完成的虛擬機(jī)器來實(shí)現(xiàn),所述服務(wù)掛載磁盤映像并且操作它以提取雜散寫。
[0073]圖7A-7F的例子描繪了在主要和恢復(fù)站點(diǎn)中的每一個處采取的示范性動作。圖10是從在主要站點(diǎn)處的至少一個主要服務(wù)器的角度來圖示代表性的特征的流程圖,所述至少一個服務(wù)器將使其虛擬儲存器(或其它儲存器)被復(fù)制。這個例子假定虛擬儲存器正被復(fù)制,并且該虛擬儲存器的多種類型的拷貝被使得可用。
[0074]在這個例子中,基本虛擬磁盤像在塊1000處所描繪的那樣被提供給恢復(fù)站點(diǎn)。如在塊1002處所示出的那樣,差異磁盤或其它儲存器結(jié)構(gòu)在主要站點(diǎn)處被創(chuàng)建來記錄對虛擬磁盤的改變。在這個例子中,某個數(shù)目“n”的不同類型的快照/拷貝被提供,包括拷貝類型-A、拷貝類型-B至拷貝類型-n。當(dāng)復(fù)制管理或其它主要站點(diǎn)控制模塊像在塊1004處所確定的那樣請求虛擬儲存器的拷貝時,它可以規(guī)定哪一個類型的拷貝是期望的??截愵愋偷淖R別可以由用戶經(jīng)由用戶接口被作出,或者被配置到諸如依照策略正被請求的硬件或軟件中或以其它方式被配置,所述策略諸如結(jié)合圖8所描述的策略。
[0075]在這個例子中,如果復(fù)制管理像在塊1006處所確定的那樣請求了類型-A的拷貝,則差異磁盤的快照或其它拷貝在不用軟件本身為虛擬儲存器拷貝發(fā)生做準(zhǔn)備的情況下被獲得,如在塊1012處所示出的那樣。這可以是例如VSS快照或其它應(yīng)用一致快照。如果類型-B的拷貝像在塊1008處所確定的那樣被請求,則差異磁盤的快照或其它拷貝在軟件中的至少一些為虛擬儲存器拷貝發(fā)生做準(zhǔn)備的情況下被獲得,如在塊1014處所示出的那樣。其它類型的拷貝可以被定義,借此拷貝類型能夠在塊1010處被確定,并且如在塊1016處所示出的那樣,快照或其它拷貝可以依照針對該拷貝類型的規(guī)則被獲得。
[0076]當(dāng)適當(dāng)?shù)目煺栈蚱渌截愐驯猾@得時,它可以像在塊1018處所示出的那樣被轉(zhuǎn)移到恢復(fù)站點(diǎn)。塊1020圖示在主要站點(diǎn)處被拷貝的差異磁盤被寫保護(hù),并且塊1022示出了新的差異磁盤將被創(chuàng)建來捕獲對虛擬磁盤的改變。至少出于降低儲存器容量要求以及降低通過磁盤鏈讀取數(shù)據(jù)時的延遲的原因,中間磁盤可以像在塊1024處所示出的那樣與它們的母體磁盤映像合并。[0077]應(yīng)認(rèn)識到,本公開中的圖10中以及其它流程圖中所圖示的特征的特定順序不應(yīng)該被解釋為順序或序列的限制。被描繪的操作的特定順序在許多情況下可能是不相干的,除非另外描述為相干的。例如,在所拷貝的差異磁盤在塊1020處被寫保護(hù)之前,快照可以或者可以不在塊1018處被轉(zhuǎn)移。
[0078]圖11是從在恢復(fù)站點(diǎn)處正在復(fù)制(一個或多個)虛擬機(jī)器的至少一個恢復(fù)服務(wù)器的角度來圖示代表性的特征的流程圖。這個例子假定虛擬儲存器正被復(fù)制,并且虛擬磁盤的多種類型的拷貝被主要站點(diǎn)提供。如在塊1100處所示出的那樣,作為主要站點(diǎn)的基本虛擬磁盤的復(fù)制被接收到的基本虛擬磁盤被提供為在恢復(fù)站點(diǎn)處的虛擬磁盤鏈的基部。當(dāng)快照或其它拷貝像在塊1102處所確定的那樣從主站被接收時,被接收的拷貝的類型在塊1104處被確定。差異磁盤在恢復(fù)站點(diǎn)處的結(jié)果得到的拷貝能夠被識別為拷貝原有的類型,諸如應(yīng)用一致、崩潰一致等。在所接收到的拷貝中的指針或其它鏈接可以像在塊1106中所示出的那樣被修改,以便使指針指向它在恢復(fù)站點(diǎn)處的母體。若需要,中間差異磁盤可以被合并到它們相應(yīng)的母體磁盤中,如在塊1110處所示出的那樣。附加地,塊1108示出了差異磁盤可以被創(chuàng)建成指向期望的拷貝以便退出雜散寫,如結(jié)合圖7F被描述的那樣。
[0079]如果并且當(dāng)?shù)?一個或多個)恢復(fù)服務(wù)器的故障轉(zhuǎn)移像在塊1112處所確定的那樣發(fā)生時,存儲的拷貝作為選擇的恢復(fù)點(diǎn)的選擇可以像在塊1114處所示出的那樣被促進(jìn)。例如,促進(jìn)存儲的拷貝的選擇可能牽涉提供用戶接口以使得管理員或其它用戶能夠選擇復(fù)制的虛擬機(jī)器在被初始化和運(yùn)行時將利用哪一個存儲的(以及因此未合并的)拷貝。其它實(shí)施例可能牽涉特定拷貝基于標(biāo)準(zhǔn)的自動選擇。例如,標(biāo)準(zhǔn)可以自動地使虛擬機(jī)器首先試圖從應(yīng)用一致拷貝復(fù)活,并且隨后嘗試復(fù)活不是足夠成功的不同拷貝。在塊1116處所描繪的一個實(shí)施例中,差異磁盤被創(chuàng)建,或者現(xiàn)有差異磁盤被利用(例如,在塊1108處創(chuàng)建的差異磁盤),以便指向所選的快照或拷貝。尤其,當(dāng)復(fù)制的虛擬機(jī)器正在操作時,這個差異磁盤將讀/寫能力提供給復(fù)制的虛擬磁盤。
[0080]在一個實(shí)施例中,測試可以被運(yùn)行在復(fù)制的虛擬機(jī)器上。在這種情況下,復(fù)制的虛擬機(jī)器繼續(xù)像之前那樣接收對虛擬磁盤的改變(例如,接收主要站點(diǎn)差異磁盤的拷貝),同時測試虛擬機(jī)器從所創(chuàng)建的差異磁盤的點(diǎn)被提出。因此,復(fù)制能夠被繼續(xù),同時在虛擬機(jī)器的復(fù)制的拷貝上運(yùn)行測試,而不用作出所述復(fù)制的虛擬機(jī)器的虛擬硬盤的拷貝。這提供了使用指向相同的母體虛擬硬盤的兩組差異磁盤來生成復(fù)制的虛擬機(jī)器的測試拷貝的方式。從“測試”虛擬機(jī)器執(zhí)行的寫在一組差異磁盤中被捕獲,并且一旦測試完成這些磁盤就可以被丟棄。從主要服務(wù)器到達(dá)的差異磁盤的周期性同步拷貝在另一組差異磁盤中被收集,并且一旦測試完成就可以被合并到母體中。這個選項(xiàng)在圖11中被描繪。如果測試將像在塊1112處所確定的那樣被運(yùn)行,則指向要被測試的恢復(fù)點(diǎn)的差異磁盤被創(chuàng)建1114,并且復(fù)制的虛擬機(jī)器可以被弓I導(dǎo)以便運(yùn)行測試。
[0081]圖12描繪了其中本文中所描述的原理可以被實(shí)施的代表性的計(jì)算系統(tǒng)1200。結(jié)合圖12被描述的計(jì)算環(huán)境出于例子的目的被描述,因?yàn)橛糜趶?fù)制儲存器或虛擬儲存器的結(jié)構(gòu)和操作公開在任何計(jì)算環(huán)境中是適用的。圖12的計(jì)算布置在一些實(shí)施例中可以跨越多個設(shè)備分布。進(jìn)一步地,圖12的描述可以表示在主要或恢復(fù)站點(diǎn)處的服務(wù)器或其它計(jì)算設(shè)備。
[0082]代表性的計(jì)算系統(tǒng)1200包括經(jīng)由系統(tǒng)總線1204耦合到許多模塊的處理器1202。所描繪的系統(tǒng)總線1204表示可以被直接地或者間接地耦合到計(jì)算環(huán)境的各種構(gòu)件和模塊的任何類型的(一個或多個)總線結(jié)構(gòu)。在各種構(gòu)件之一是存儲設(shè)備,它們的任一個都可以存儲對于復(fù)制的主體。
[0083]只讀存儲器(ROM) 1206可以被提供來存儲由處理器1202所使用的固件。ROM1206表示任何類型的只讀存儲器,諸如可編程ROM (PROM)、可擦PROM (EPROM)等等。主機(jī)或系統(tǒng)總線1204可以被耦合到存儲器控制器1214,所述存儲器控制器1214繼而經(jīng)由存儲器總線1216被耦合到存儲器1208。示范性存儲器1208可以存儲例如管理程序1210或其它虛擬化軟件、操作系統(tǒng)1218以及模塊中的全部或部分,所述模塊諸如執(zhí)行至少本文中所描述的那些功能的復(fù)制管理模塊(RMM) 1212。RMM 1212可以被實(shí)施為例如管理程序1210和/或操作系統(tǒng)1218的一部分。
[0084]存儲器還可以存儲應(yīng)用程序1220以及其它程序1222和數(shù)據(jù)1224。附加地,虛擬儲存器1226中的全部或一部分可以被存儲在存儲器1208中。然而,歸因于虛擬存儲磁盤的潛在大小,一個實(shí)施例牽涉將虛擬存儲磁盤存儲在與存儲器相對的存儲設(shè)備中,如由與代表性的存儲設(shè)備1234、1240、1244、1248中的任何一個或多個相關(guān)聯(lián)的虛擬儲存器1226B所描繪的那樣。存儲器1208中的虛擬儲存器1226A還可以將被臨時地緩存或者否則存儲在存儲器中的虛擬儲存器的任何部分表示為要被處理、發(fā)送或者存儲在(一個或多個)存儲設(shè)備1234、1240、1244、1248中的中間步驟。
[0085]圖12圖示了其中數(shù)據(jù)可以被存儲和/或虛擬儲存器可以被存儲的各種代表性的存儲設(shè)備。例如,系統(tǒng)總線可以被耦合到內(nèi)部儲存器接口 1230,所述內(nèi)部儲存器接口 1230能夠被耦合到諸如硬盤驅(qū)動器之類的(一個或多個)驅(qū)動器1232。存儲媒體1234與驅(qū)動器相關(guān)聯(lián)或者否則可與驅(qū)動器一起操作。這種儲存器的例子包括硬盤以及其它磁或光學(xué)媒體、閃速存儲器和其它固態(tài)設(shè)備等。內(nèi)部儲存器接口 1230可以利用任何類型的易失性或非易失性儲存器。包括虛擬硬盤(例如,VHD文件、AVHD文件等)的數(shù)據(jù)可以被存儲在這種存儲媒體1234上。
[0086]類似地,用于可移除媒體的接口 1236也可以被耦合到總線1204。驅(qū)動器1238可以被耦合到可移除儲存器接口 1236以便接受并且作用于諸如例如軟盤、光盤、存儲器卡、閃速存儲器、外部硬盤等之類的可移除儲存器1240。虛擬存儲文件或其它數(shù)據(jù)可以被存儲在這種可移除儲存器1240上。
[0087]在一些情況下,主適配器1242可以被提供來訪問外部儲存器1244。例如,主適配器1242可以經(jīng)由小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、光纖通道、串行高級技術(shù)附件(SATA)或eSATA和/或能夠連接到外部儲存器1244的其它類似接口與外部存儲設(shè)備接口連接。通過網(wǎng)絡(luò)接口 1246,仍有其它一些遠(yuǎn)程儲存器對于計(jì)算系統(tǒng)1200可能是可訪問的。例如,與網(wǎng)絡(luò)接口 1246相關(guān)聯(lián)的有線和無線收發(fā)器使能通過一個或多個網(wǎng)絡(luò)1250與存儲設(shè)備1248的通信。存儲設(shè)備1248可以表示分立的存儲設(shè)備或與另一計(jì)算系統(tǒng)、服務(wù)器等相關(guān)聯(lián)的儲存器。與遠(yuǎn)程存儲設(shè)備和系統(tǒng)的通信可以經(jīng)由有線局域網(wǎng)(LAN)、無線LAN和/或包括諸如因特網(wǎng)之類的全球區(qū)域網(wǎng)(GAN)的較大網(wǎng)絡(luò)來實(shí)現(xiàn)。虛擬存儲文件和其它數(shù)據(jù)可以被存儲在這樣的外部存儲設(shè)備1244、1248上。
[0088]如本文中所描述的那樣,主要和恢復(fù)服務(wù)器傳送信息,諸如快照或其它拷貝。服務(wù)器之間的通信能夠通過直連線、對等網(wǎng)絡(luò)、基于局部基礎(chǔ)設(shè)施的網(wǎng)絡(luò)(例如,有線和/或無線局域網(wǎng))、諸如城域網(wǎng)和其它廣域網(wǎng)、全球區(qū)域網(wǎng)等之類的站外網(wǎng)絡(luò)來實(shí)現(xiàn)。發(fā)送器1252和接收器1254在圖12中被描繪成描繪了計(jì)算設(shè)備的在這些或其它通信方法中的任一個中發(fā)送和/或接收數(shù)據(jù)的結(jié)構(gòu)能力。發(fā)送器1252和/或接收器1254設(shè)備可以是獨(dú)立構(gòu)件,可以被集成為(一個或多個)收發(fā)器,可以被集成到諸如網(wǎng)絡(luò)接口 1246之類的其它通信設(shè)備中或者是其已經(jīng)存在的部分等。在計(jì)算系統(tǒng)1200表示在主要站點(diǎn)處的服務(wù)器或其它計(jì)算設(shè)備的情況下,要被復(fù)制的虛擬磁盤或其它存儲的數(shù)據(jù)中的全部或一部分可以經(jīng)由發(fā)送器1252被發(fā)送,無論其是獨(dú)立設(shè)備、與接收器1254集成、為網(wǎng)絡(luò)接口 1246的不可分割的部分等。類似地,在計(jì)算系統(tǒng)1200表示在恢復(fù)站點(diǎn)處的服務(wù)器或其它計(jì)算設(shè)備的情況下,要被復(fù)制的虛擬磁盤或其它存儲的數(shù)據(jù)中的全部或一部分可以經(jīng)由接收器1254被接收,無論所述接收器1254是獨(dú)立設(shè)備、與發(fā)送器1252集成、為網(wǎng)絡(luò)接口 1246的不可分割的部分等。因?yàn)橛?jì)算系統(tǒng)1200能夠表示在主要站點(diǎn)或恢復(fù)站點(diǎn)處的(一個或多個)服務(wù)器,所以塊1256表示正與計(jì)算系統(tǒng)1200進(jìn)行通信的(一個或多個)主要或恢復(fù)服務(wù)器,所述計(jì)算系統(tǒng)1200表示(一個或多個)主要或恢復(fù)服務(wù)器中的另一個。
[0089]如在前述例子中所演示的那樣,本文中所描述的實(shí)施例促進(jìn)災(zāi)難恢復(fù)和其它復(fù)制特征。在各種實(shí)施例中,描述了能夠諸如通過提供可經(jīng)由處理器(其包括物理處理器和/或邏輯處理器、控制器等)執(zhí)行的軟件模塊而在計(jì)算設(shè)備上被執(zhí)行的方法。所述方法還可以被存儲在能夠被處理器和/或電路訪問和讀取的計(jì)算機(jī)可讀媒體上,所述電路準(zhǔn)備用于經(jīng)由處理器進(jìn)行處理的信息。使指令被存儲在如本文中所描述的計(jì)算機(jī)可讀媒體上與使指令被傳播或者發(fā)送是可區(qū)分的,因?yàn)閭鞑ヅc存儲指令相對地轉(zhuǎn)移指令,其諸如伴隨具有存儲在其上的指令的計(jì)算機(jī)可讀介質(zhì)能夠發(fā)生。因此,除非另外指出,否則以這個或類似的形式對具有存儲在其上的指令的計(jì)算機(jī)可讀媒體/介質(zhì)的引用參考數(shù)據(jù)可以被存儲或者保持在其上的有形媒體。
[0090]盡管已經(jīng)用特定于結(jié)構(gòu)特征和/或方法動作的語言對本主題進(jìn)行了描述,但是應(yīng)當(dāng)理解,在所附權(quán)利要求中限定的主題未必限于上面所描述的特定特征或動作。相反地,上面所描述的特定特征和動作作為實(shí)施權(quán)利要求的代表性的形式被公開。
【權(quán)利要求】
1.一種裝置,包括: 復(fù)制的虛擬機(jī)器的復(fù)制的虛擬儲存器,其至少包括基本上與要被復(fù)制的主要基本虛擬磁盤相對應(yīng)的復(fù)制的基本虛擬磁盤; 接收器,其被配置成接收差異磁盤的多個拷貝類型的多個拷貝,每個都與所述主要基本虛擬磁盤相關(guān)聯(lián);以及 復(fù)制管理模塊,其被配置成如所述差異磁盤相對于所述主要基本虛擬磁盤被布置的那樣相對于所述復(fù)制的基本虛擬磁盤來布置所接收到的所述多個拷貝類型的所述差異磁盤的拷貝。
2.根據(jù)權(quán)利要求1所述的裝置,其中所述多個拷貝類型中的第一個包括基于已經(jīng)對所述拷貝的創(chuàng)建有準(zhǔn)備的應(yīng)用數(shù)據(jù)的應(yīng)用一致拷貝類型,并且其中所述多個拷貝類型中的第二個包括基于尚未對所述拷貝的創(chuàng)建有準(zhǔn)備的應(yīng)用數(shù)據(jù)的崩潰一致拷貝類型。
3.根據(jù)權(quán)利要求1所述的裝置,其中所述復(fù)制管理模塊被進(jìn)一步配置成將所述接收到的所述差異磁盤的拷貝中的一個或多個存儲為用于啟動所述復(fù)制的虛擬機(jī)器的操作的潛在恢復(fù)點(diǎn)。
4.根據(jù)權(quán)利要求3所述的裝置,進(jìn)一步包括當(dāng)初始化時創(chuàng)建讀寫差異磁盤作為對于所存儲的所述差異磁盤的拷貝中的一個的孩子磁盤以便存儲對所述復(fù)制的虛擬機(jī)器的改變。
5.根據(jù)權(quán)利要求3所 述的裝置,其中所述復(fù)制管理模塊被進(jìn)一步配置成促進(jìn)所述復(fù)制的虛擬機(jī)器從所述潛在恢復(fù)點(diǎn)的選擇恢復(fù)點(diǎn)和順序地繼承所選恢復(fù)點(diǎn)的所述差異磁盤的一個或多個選擇的存儲拷貝的啟動。
6.一種計(jì)算機(jī)實(shí)施的方法,包括: 存儲與虛擬機(jī)器相關(guān)聯(lián)的虛擬磁盤的基本虛擬磁盤映像; 通過將對所述虛擬磁盤的改變記錄到磁盤鏈的頂部的當(dāng)前讀寫差異磁盤來存儲對所述虛擬磁盤的改變,所述磁盤鏈包括基本虛擬磁盤映像和任何介于中間的差異磁盤;以及 通過創(chuàng)建所述當(dāng)前讀寫差異磁盤的拷貝并且禁止對其的進(jìn)一步改變、在所述磁盤鏈的頂部創(chuàng)建新的當(dāng)前差異磁盤、以及針對復(fù)制的儲存器轉(zhuǎn)移所述差異磁盤的所述拷貝來循環(huán)地針對復(fù)制的儲存器創(chuàng)建對所述虛擬磁盤的改變的可轉(zhuǎn)移拷貝。
7.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)實(shí)施的方法,其中創(chuàng)建所述當(dāng)前讀寫差異磁盤的拷貝包括創(chuàng)建所述當(dāng)前讀寫差異磁盤的至少兩種類型的拷貝,其至少包括在已經(jīng)對要被創(chuàng)建的拷貝有準(zhǔn)備的應(yīng)用數(shù)據(jù)上獲得的第一拷貝類型,并且至少包括在尚未對要被創(chuàng)建的拷貝有準(zhǔn)備的應(yīng)用數(shù)據(jù)上獲得的第二拷貝類型。
8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)實(shí)施的方法,進(jìn)一步包括向一個或多個應(yīng)用通知迫切的拷貝,并且其中創(chuàng)建所述第一拷貝類型包括從已經(jīng)對要被創(chuàng)建的所述拷貝有準(zhǔn)備的所述一個或多個通知的應(yīng)用獲得所述應(yīng)用數(shù)據(jù)。
9.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)實(shí)施的方法,其中創(chuàng)建所述第二拷貝類型包括拷貝存儲所述當(dāng)前讀寫差異磁盤的文件并且將所述文件配置為只讀,而不用向應(yīng)用通知迫切的拷貝。
10.計(jì)算機(jī)可讀媒體,其具有存儲在其上的指令,所述指令可由計(jì)算系統(tǒng)執(zhí)行以便執(zhí)行諸步驟,所述諸步驟包括:創(chuàng)建虛擬機(jī)器的差異磁盤的只讀快照的鏈,同時在所述鏈的頂端提供讀和寫能力的新的差異磁盤根據(jù)每個快照被創(chuàng)建; 將多種類型的所述快照包括在所述鏈上,其至少包括應(yīng)用一致快照類型和崩潰一致快照類型; 創(chuàng)建與所述虛擬機(jī)器的差異磁盤的只讀快照的鏈對應(yīng)的所述只讀快照的復(fù)制的鏈;使得能夠?qū)?fù)制的鏈中的所述只讀快照中的一個選擇作為用于啟動復(fù)制的虛擬機(jī)器的恢復(fù)點(diǎn);以及 從所述只讀快照中的所選一個啟動所述復(fù)制的虛擬機(jī)器,并且包括連續(xù)地緊跟所選恢復(fù)點(diǎn)之后的所述只讀 快照中的一個或多個。
【文檔編號】G06F12/16GK103608786SQ201280030475
【公開日】2014年2月26日 申請日期:2012年6月13日 優(yōu)先權(quán)日:2011年6月20日
【發(fā)明者】P.基魯沃盧, G.辛哈, D.辛赫, J.奧辛斯, C.L.埃克 申請人:微軟公司