專利名稱:虛擬機感知復(fù)制方法和系統(tǒng)的制作方法
虛擬機感知復(fù)制方法和系統(tǒng)發(fā)明領(lǐng)域
本發(fā)明總體上涉及數(shù)字計算機,更具體地,涉及定期復(fù)制卷中數(shù)據(jù)的系統(tǒng)和方法。
背景技術(shù):
信息驅(qū)動商業(yè)。當(dāng)今的公司前所未有地依賴于聯(lián)機的、頻繁存取的、不斷變化的數(shù)據(jù)以運營它們的業(yè)務(wù)。限制這種數(shù)據(jù)的可利用性的意外事件會嚴(yán)重地破壞商業(yè)活動。另夕卜,自然災(zāi)害或任何其他來災(zāi)難源導(dǎo)致的任何永久性數(shù)據(jù)損失可能會對商業(yè)的持續(xù)生存能力產(chǎn)生嚴(yán)重的負(fù)面影響。因此,當(dāng)災(zāi)害來襲時,公司必須準(zhǔn)備好消除或最小化數(shù)據(jù)丟失,并利用可使用的數(shù)據(jù)進行快速恢復(fù)。復(fù)制技術(shù)主要用于災(zāi)難恢復(fù)和數(shù)據(jù)分布。連續(xù)復(fù)制技術(shù)常常包括基于RAID的復(fù)制方案(例如,磁盤鏡像、奇偶校驗、或類似方案)。當(dāng)數(shù)據(jù)正在由應(yīng)用程序?qū)懭雲(yún)迹B續(xù)復(fù)制保存數(shù)據(jù)的拷貝。定期復(fù)制是用于最小化數(shù)據(jù)丟失并提高數(shù)據(jù)的可用性的另ー種技術(shù),其中數(shù)據(jù)的時間點拷貝在ー個或多個遠程站點或節(jié)點上復(fù)制并存儲。當(dāng)出現(xiàn)站點遷移、儲存數(shù)據(jù)的ー個或多個物理磁盤發(fā)生故障、或者與這種磁盤相連的節(jié)點或主數(shù)據(jù)處理系統(tǒng)發(fā)生故障時,可以利用遠程復(fù)制的數(shù)據(jù)拷貝。對于連續(xù)復(fù)制和定期復(fù)制,除了災(zāi)難恢復(fù)以外,復(fù)制的數(shù)據(jù)具有很多其他用處,例如像數(shù)據(jù)挖掘、上報、測試和類似用處。以此方式,復(fù)制的數(shù)據(jù)拷貝確保數(shù)據(jù)完整性和可用性。另外,復(fù)制技術(shù)常常與其他高可用性技術(shù)(例如集群技木)相關(guān)聯(lián)以提供十分魯棒的數(shù)據(jù)存儲解決方案。應(yīng)用程序(例如文件系統(tǒng)和數(shù)據(jù)庫)所需的數(shù)據(jù)存儲通常從作為ー個“卷”來維護的一個或多個存儲裝置來分配?!熬怼笨梢猿洚?dāng)操作系統(tǒng)所使用的邏輯接ロ以便利用文件系統(tǒng)的ー個單ー實例來訪問在一個或多個存儲介質(zhì)上存儲的數(shù)據(jù)。因此,卷可以用作ー種抽象概念,這種概念本質(zhì)上“掩蓋”了應(yīng)用程序的存儲分配和(可選地)數(shù)據(jù)保護/冗余。應(yīng)用程序可以在多個卷上存儲它的數(shù)據(jù)。利用稱為塊的固定大小的數(shù)據(jù)單元來訪問卷的內(nèi)容。在非常大的分布式計算機系統(tǒng)中,數(shù)據(jù)分布在很多數(shù)據(jù)服務(wù)器中??蛻舳酥苯訉?shù)據(jù)寫到數(shù)據(jù)服務(wù)器上,該數(shù)據(jù)服務(wù)器具有與任意元數(shù)據(jù)服務(wù)器的最少交互點。數(shù)據(jù)服務(wù)器通常具有多個LUN (邏輯單元號),這些LUN具有它們自己的預(yù)留存儲空間。每個LUN可以具有很多分區(qū),在這些分區(qū)中包含ー些對象。分布式計算機系統(tǒng)文件系統(tǒng)的文件由數(shù)據(jù)服務(wù)器LUN分區(qū)的任意ー個的對象組成。來自不同數(shù)據(jù)服務(wù)器的對象進行組合而形成RAID組。在虛擬環(huán)境中,例如Hyper-V,虛擬磁盤的性能在使用固定VHD時是最佳的(相比于動態(tài)VHD)。當(dāng)創(chuàng)建VHD吋,固定VHD在文件系統(tǒng)中分配所有的塊。因此,例如24GB的固定VHD將創(chuàng)建大約24GB的文件。這與動態(tài)VHD不同之處是,例如動態(tài)VHD只分配足夠的存儲以存儲實際上寫入到VHD的數(shù)據(jù)。24GB的動態(tài)VHD在其創(chuàng)建時可以只占用少量MB。固定VHD性能優(yōu)良,但在優(yōu)化復(fù)制過程方面存在挑戰(zhàn),在該過程中文件系統(tǒng)信息用于減少有待在新的鏡像添加到卷中時拷貝的數(shù)據(jù)量。由于固定VHD預(yù)先分配所有的塊,優(yōu)化的復(fù)制過程的傳統(tǒng)實施方式不能跳過VHD使用的任意塊,即使VHD文件不使用所有的塊?!皟?yōu)化鏡像/克隆創(chuàng)建”的傳統(tǒng)實施方式只能跳過VHD文件本身之外未使用的和不在它們所托管的文件系統(tǒng)內(nèi)的空余空間。因此,僅僅利用卷上的文件系統(tǒng)信息,托管很多這種較大VHD文件的典型卷不能獲得任意性能好處。這個因素使得在傳統(tǒng)優(yōu)化方式中執(zhí)行的復(fù)制過程十分耗時并且資源過渡密集。發(fā)明綜沭本發(fā)明的實施例提供了一種解決方案,該解決方案使包括一個或多個虛擬機的分布式計算機系統(tǒng)能夠進行高效的、高可用性的、并且高可擴展的數(shù)據(jù)復(fù)制過程本發(fā)明的實施例實施了優(yōu)化的方案,該方案可以通過単獨的VHD文件所托管的文件系統(tǒng)查看它們以便真正地清除空余空間的拷貝。在一個實施例中,本發(fā)明實施為ー種復(fù)制虛擬機的虛擬文件系統(tǒng)的方法。該方法包括訪問ー個主機的ー個主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示該主文件系統(tǒng)的多個塊中的活動塊,并訪問ー個虛擬機的一個虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示該虛擬文件系統(tǒng)的多個塊中的活動塊。一個合并的使用圖由該主文件系統(tǒng)使用圖和該虛擬文件系統(tǒng)使用圖的信息產(chǎn)生,該合并的使用圖識別與該虛擬文件系統(tǒng)相關(guān)聯(lián)的主文件系統(tǒng)中的活動塊。然后根據(jù)該合并的使用圖,在一個復(fù)制目標(biāo)上復(fù)制該虛擬文件系統(tǒng)。在一個實施例中,該虛擬機由該主機安裝以訪問該主文件系統(tǒng)。在一個實施例中,該虛擬文件系統(tǒng)被實例化為ー個固定虛擬存儲裝置。在一個實施例中,該虛擬文件系統(tǒng)被實例化為ー個動態(tài)分配的虛擬存儲裝置。在一個實施例中,產(chǎn)生該虛擬文件系統(tǒng)的ー個快照以支持該虛擬文件系統(tǒng)的復(fù)制。在一個實施例中,該快照使得該虛擬文件系統(tǒng)能夠在該虛擬文件系統(tǒng)的復(fù)制過程中保持聯(lián)機。在一個實施例中,該復(fù)制目標(biāo)是實施RAID功能的ー個物理存儲裝置。在一個實施例中,該主文件系統(tǒng)使用圖包括ー個文件系統(tǒng)使用位圖。在一個實施例中,本發(fā)明被實施為一種計算機可讀存儲介質(zhì),在該介質(zhì)上存儲有計算機可讀指令,如果由計算機系統(tǒng)執(zhí)行,該指令使得該計算機系統(tǒng)執(zhí)行一種復(fù)制方法。該方法包括訪問ー個主機的ー個主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示該主文件系統(tǒng)的多個塊中的活動塊,并訪問ー個虛擬機的一個虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示該虛擬文件系統(tǒng)的多個塊中的活動塊。一個合并的使用圖由該主文件系統(tǒng)使用圖和該虛擬文件系統(tǒng)使用圖的信息而產(chǎn)生,該合并的使用圖識別與該虛擬文件系統(tǒng)相關(guān)聯(lián)的主文件系統(tǒng)的活動塊。然后根據(jù)該合并的使用圖,在一個復(fù)制目標(biāo)上復(fù)制該虛擬文件系統(tǒng)。在一個實施例中,本發(fā)明被實施為一個卷復(fù)制系統(tǒng)。該系統(tǒng)包括具有一個處理器的一種計算機系統(tǒng),該處理器連接至一個計算機可讀存儲介質(zhì)并執(zhí)行計算機可讀代碼,該計算機可讀代碼使得該計算機系統(tǒng)實施一個復(fù)制管理器模塊。該復(fù)制管理器模塊訪問ー個虛擬機的ー個主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示該主文件系統(tǒng)的多個塊中的活動塊,并且訪問ー個虛擬機的一個虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示該虛擬文件系統(tǒng)的多個塊中的活動塊。該復(fù)制管理器模塊從該主文件系統(tǒng)使用圖和該虛擬文件系統(tǒng)使用圖的信息產(chǎn)生ー個合并的使用圖,該合并的使用圖識別與該虛擬文件系統(tǒng)相關(guān)聯(lián)的主文件系統(tǒng)的活動塊。然后根據(jù)該合并的使用圖,該復(fù)制管理器模塊在ー個復(fù)制目標(biāo)上復(fù)制該虛擬文件系統(tǒng)。
前述內(nèi)容是ー個概述并因此必然包含細(xì)節(jié)的簡化、概括和省略;因此本領(lǐng)域的熟練技術(shù)人員將會認(rèn)識到此概述只是示例性的并且不用于任何形式的限制。僅由權(quán)利要求定義的本發(fā)明的其他方面、創(chuàng)新性特征以及優(yōu)點在以下的非限定性詳細(xì)描述中將變得顯而易見。附圖簡要說明本發(fā)明在附示中通過實例而并非通過限制進行說明,在附圖中相似的參考號指代相似的元素。
圖1展示了根據(jù)本發(fā)明一個實施例的在一個復(fù)制系統(tǒng)環(huán)境中的定期復(fù)制操作。圖2展示了根據(jù)本發(fā)明一個實施例的實施在虛擬機節(jié)點和冗余數(shù)據(jù)服務(wù)器節(jié)點之間的定期復(fù)制操作。圖3展示了根據(jù)本發(fā)明一個實施例的一個示例性虛擬機文件系統(tǒng)卷和復(fù)制卷302。圖4展示了根據(jù)本發(fā)明一個實施例的一個示例性虛擬環(huán)境的框圖。圖5展示了根據(jù)本發(fā)明一個實施例的包括各自使用圖的ー個示例性虛擬文件系統(tǒng)。圖6展示了根據(jù)本發(fā)明一個實施例的實例化在ー個物理裝置上的ー個復(fù)制目標(biāo)卷的圖示。圖7展示了根據(jù)本發(fā)明一個實施例的復(fù)制過程的多個步驟的流程圖。圖8展示了根據(jù)本發(fā)明一個實施例的實施該復(fù)制功能的某些方面的一個復(fù)制管理器的圖示。圖9展示了根據(jù)本發(fā)明一個實施例的在一個示例性復(fù)制系統(tǒng)環(huán)境中的快照復(fù)制操作。圖10描繪根據(jù)本發(fā)明ー個實施例的一種計算機系統(tǒng),該計算機系統(tǒng)適于執(zhí)行某種功能。圖11描繪了根據(jù)本發(fā)明一個實施例的適于執(zhí)行某種功能的第二計算機系統(tǒng)的框圖。發(fā)明詳沭盡管已經(jīng)結(jié)合一個實施例描述了本發(fā)明,但不希望將本發(fā)明限制于本文闡述的具體形式。相反的是,本發(fā)明意在涵蓋可以合理地包含在所附權(quán)利要求定義的本發(fā)明范圍內(nèi)的這些替代形式、修改形式以及等效形式。在以下的詳細(xì)描述中,已經(jīng)給出了很多具體細(xì)節(jié),例如特定的方法順序、結(jié)構(gòu)、元件以及連接體。然而應(yīng)當(dāng)理解的是,這些以及其他具體細(xì)節(jié)不一定用于實施本發(fā)明的實施例。在其他情況下,眾所周知的結(jié)構(gòu)、元件或連接體已經(jīng)省略,或并未更詳細(xì)地描述,目的是避免不必要地混淆本說明。說明書中對“ー個實施例”或“一種實施例”的引用意在表示結(jié)合該實施例所描述的具體特征、結(jié)構(gòu)或特性包含在本發(fā)明的至少ー個實施例中。說明書中不同位置上出現(xiàn)的短語“在一個實施例中”不一定都指代相同的實施例,也不是與其他實施例相互排斥的獨立或替代的實施例。另外,所描述的各種特征可能由一些實施例來展示,而其他實施例未展示。類似地,所描述的各種要求可能是ー些實施例的要求,而非其他實施例的要求。
隨后給出的部分詳細(xì)說明是針對在計算機內(nèi)存中的數(shù)據(jù)位上操作的程序、步驟、邏輯塊、處理以及其他符號表示而給出的。這些描述和表示是數(shù)據(jù)處理領(lǐng)域中熟練技術(shù)人員所使用的向本領(lǐng)域其他熟練技術(shù)人員最有效傳遞他們工作的本質(zhì)的方法。本文的過程、計算機執(zhí)行的步驟、邏輯塊、處理過程等通常被設(shè)想為是前后一致的步驟順序或產(chǎn)生所需結(jié)果的指令。這些步驟是那些需要對物理量進行物理操作的步驟。通常,盡管不是必要的,但這些量采取計算機可讀存儲介質(zhì)的電或磁信號的形式,并且能夠在計算機系統(tǒng)中進行存儲、傳輸、組合、比較以及在其他方面進行操作。已經(jīng)證明有時將這些信號稱為位、值、元素、符號、字符、術(shù)語、編號等是很方便的,主要是出于習(xí)慣用法的原因。然而應(yīng)記住,所有這些或類似術(shù)語與合適的物理量相關(guān)聯(lián)并且僅是應(yīng)用到這些量的方便的標(biāo)簽。除非另有說明,如從以下討論顯而易見的是,應(yīng)認(rèn)識到在整個本發(fā)明中,利用術(shù)語例如“處理”或“訪問”或“寫入”或“存儲”或“復(fù)制”等的討論是指計算機系統(tǒng)或相似電子計算裝置的動作和處理,這些裝置將計算機系統(tǒng)的寄存器和內(nèi)存以及其他計算機可讀介質(zhì)中表示為物理(電子)量的數(shù)據(jù)處理并轉(zhuǎn)換為計算機系統(tǒng)內(nèi)存或寄存器或其他這類信息存儲、傳輸或顯示裝置中的相似表示為物理量的其他數(shù)據(jù)。本發(fā)明的實施例旨在解決以下問題。如何高效地創(chuàng)建在虛擬化環(huán)境(例如,Hyper-V.VMWare等)中使用的數(shù)據(jù)卷的新拷貝、鏡像或克隆,以通過僅復(fù)制在主文件系統(tǒng)上和單獨虛擬文件系統(tǒng)內(nèi)使用的實際數(shù)據(jù)塊來托管屬于一個或多個虛擬機的一個或多個虛擬文件系統(tǒng)(例如,在固定類型的VHD、VMDK等上)。本發(fā)明的實施例提供了一種解決方案,該解決方案能夠進行包括一個或多個虛擬機的分布式計算機系統(tǒng)的數(shù)據(jù)的有效和高可擴展性復(fù)制過程。本發(fā)明的實施例可以最佳地復(fù)制數(shù)據(jù)卷。該卷可以具有屬于一個或多個虛擬機的一個或多個虛擬文件系統(tǒng)。本發(fā)明的實施例被優(yōu)化用于與具有幾百個虛擬節(jié)點和物理節(jié)點、或更多節(jié)點的高可擴展性分布式計算系統(tǒng)(例如,云計算系統(tǒng)等)一起發(fā)揮作用。在典型的使用場景中,應(yīng)用數(shù)據(jù)駐留在很多數(shù)據(jù)服務(wù)器節(jié)點上。這些數(shù)據(jù)服務(wù)節(jié)點可以是物理節(jié)點、虛擬節(jié)點、或這兩者的組合。通過直接將數(shù)據(jù)寫到這些虛擬/物理數(shù)據(jù)服務(wù)器節(jié)點中的一個或多個,客戶端與分布式計算機系統(tǒng)進行交互。物理節(jié)點(例如,數(shù)據(jù)服務(wù)器)典型地具有多個LUN (邏輯單元號),每個LUN具有其自己的預(yù)留存儲空間。典型的實施方式將LUN配置有多個分區(qū)一起。分布式計算機系統(tǒng)的文件由可以來自數(shù)據(jù)服務(wù)器節(jié)點的任意一個、LUN的任意一個和/或分區(qū)的任意一個的對象(例如,數(shù)據(jù)對象等)組成。本發(fā)明的實施例以可擴展的方式高效地處理分布式計算機系統(tǒng)的虛擬節(jié)點的復(fù)制并且提供高可用性。另外,本發(fā)明的實施例在無需使虛擬節(jié)點脫機的情況下實施它們的應(yīng)用過程。本發(fā)明的實施例實施一種用于復(fù)制虛擬機的虛擬文件系統(tǒng)的方法(例如,包括該虛擬文件系統(tǒng)的數(shù)據(jù)對象等)。為了保持該虛擬文件系統(tǒng)的聯(lián)機狀態(tài),本發(fā)明的實施例產(chǎn)生快照(例如,主數(shù)據(jù)卷的空間優(yōu)化快照),該快照能夠訪問包含虛擬文件系統(tǒng)的主文件系統(tǒng)(例如,主數(shù)據(jù)卷)的脫機拷貝。然后,該方法訪問主機的主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示主文件系統(tǒng)的多個塊中的活動塊,并訪問虛擬機的虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示虛擬文件系統(tǒng)的多個塊中的活動塊。合并的使用圖由主文件系統(tǒng)使用圖和虛擬文件系統(tǒng)使用圖的信息來產(chǎn)生。合并的使用圖識別與虛擬文件系統(tǒng)相關(guān)的主文件系統(tǒng)的活動塊。然后根據(jù)合并的使用圖,在復(fù)制目標(biāo)上復(fù)制包括虛擬文件系統(tǒng)的數(shù)據(jù)對象等。應(yīng)用目標(biāo)可用于實施很多不同RAID處理(例如,RAIDU RAID5等)的任意一個?,F(xiàn)在在以下圖1的討論中描述典型的計算機系統(tǒng)環(huán)境。圖1是根據(jù)本發(fā)明一個實施例的描繪網(wǎng)絡(luò)架構(gòu)100的框圖,其中客戶端110、120和130以及存儲服務(wù)器140A和140B連接至網(wǎng)絡(luò)150。存儲服務(wù)器140A和140B可用于實例化一個或多個虛擬機。存儲服務(wù)器140A進一步被描繪為具有直接附接的存儲裝置160A(1)-(N),并且存儲服務(wù)器140B被描繪為具有直接附接的存儲裝置160B(1)-(N)。盡管與存儲區(qū)域網(wǎng)絡(luò)的連接不需要本披露的操作,但存儲服務(wù)器140A和140B也可以連接至SAN結(jié)構(gòu)170。SAN結(jié)構(gòu)170支持由存儲服務(wù)器140A和140B以及同樣通過網(wǎng)絡(luò)150由客戶端系統(tǒng)110、120和130來訪問存儲裝置180 (I)-(N)。SAN結(jié)構(gòu)170還支持對存儲陣列190的訪問,該存儲陣列也示為一種具體存儲裝置。本發(fā)明的實施例的某些功能通過復(fù)制管理器195來實施,該所示管理器實例化在服務(wù)器140B上??蛻舳擞嬎銠C系統(tǒng)110、120和130通過網(wǎng)絡(luò)150通信地連接。客戶端系統(tǒng)110、120和130能夠利用例如網(wǎng)絡(luò)瀏覽器或其他客戶端軟件(未示出)訪問數(shù)據(jù)服務(wù)器140A或140B上的信息。這類客戶端允許客戶端系統(tǒng)110、120和130訪問由存儲服務(wù)器140A或140B或者存儲裝置160A⑴-(N)、160B⑴-(N)、180⑴-(N)之一或者存儲陣列190托管的數(shù)據(jù)。另夕卜,圖1描繪了用于交換數(shù)據(jù)的網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))的使用,但本披露不限于互聯(lián)網(wǎng)或任意具體的基于網(wǎng)絡(luò)的環(huán)境。應(yīng)當(dāng)注意的是,盡管示出了兩個數(shù)據(jù)服務(wù)器節(jié)點140A和140B,但本發(fā)明的實施例可以與具有幾百個節(jié)點、或更多節(jié)點的高可擴展分布式計算機系統(tǒng)(例如,云計算系統(tǒng)等)一起發(fā)揮作用?,F(xiàn)在在以下圖2的討論中描述典型的復(fù)制過程。圖2展示了根據(jù)本發(fā)明一個實施例的數(shù)據(jù)流圖200,該數(shù)據(jù)流圖描繪了示例性復(fù)制過程的操作。如圖2所描繪,一組虛擬機數(shù)據(jù)服務(wù)器210托管由大量客戶端計算機系統(tǒng)(例如,客戶端110-130)訪問的數(shù)據(jù)。由于I/O數(shù)據(jù)來自客戶端計算機系統(tǒng)(例如,I/O寫),I/O數(shù)據(jù)被轉(zhuǎn)發(fā)至復(fù)制管理器230,復(fù)制管理器對I/O數(shù)據(jù)進行處理并將它轉(zhuǎn)移至多個冗余數(shù)據(jù)服務(wù)器220。圖2的實施例展示了可擴展分布式計算機系統(tǒng)環(huán)境。在一個實施例中,分布式計算機系統(tǒng)環(huán)境通過將數(shù)據(jù)從復(fù)制管理器230轉(zhuǎn)發(fā)至多個冗余數(shù)據(jù)服務(wù)器220來實施很多不同RAID冗余方案中的任意一種。通過常規(guī)的操作過程,在虛擬機210上產(chǎn)生、或接收并存儲客戶端的I/O數(shù)據(jù),具體而言是它們的寫數(shù)據(jù)(例如,對一個或多個元數(shù)據(jù)服務(wù)器所寫入的元數(shù)據(jù)同樣有效)。然后虛擬機210將這些數(shù)據(jù)對象轉(zhuǎn)發(fā)至復(fù)制管理器230。復(fù)制管理器230接著根據(jù)復(fù)制策略(例如,像RAID策略)將這些數(shù)據(jù)對象轉(zhuǎn)發(fā)至目標(biāo)冗余數(shù)據(jù)服務(wù)器。例如,如果文件的RAID策略是RA1-1,那么它就必須拷貝數(shù)據(jù),而文件的RAID策略是RA1-5,那么它就必須分發(fā)數(shù)據(jù)、計算奇偶性、或者甚至不時地讀取舊數(shù)據(jù)并在計算奇偶性之前合并數(shù)據(jù)。圖3展示了根據(jù)本發(fā)明一個實施例的示例性虛擬文件系統(tǒng)卷和復(fù)制卷302。如圖3所描繪,文件系統(tǒng)卷既包括一定量的已用空間311,還包括剩余量的未用空間,未用空間描繪為空余空間312。因此,例如在虛擬環(huán)境(例如Hyper-V)中(其中使用具有例如24GB固定容量的固定VHD),相比于動態(tài)VHD,文件系統(tǒng)卷可以只使用包括24GB固定VHD的塊總數(shù)的子部分(例如,已用空間311)。為了獲得高I/O性能,本發(fā)明的實施例有利地能使用固定VHD,同時實施優(yōu)化的復(fù)制處理,其中文件系統(tǒng)信息用于減少有待在新的鏡像加入到卷中時拷貝的數(shù)據(jù)量。本發(fā)明的實施例在不使虛擬文件系統(tǒng)卷脫機的情況下實施優(yōu)化的復(fù)制過程。這方面極大地提高了虛擬文件系統(tǒng)卷所支持的應(yīng)用/數(shù)據(jù)的可用性。本發(fā)明的實施例通過只轉(zhuǎn)移已用空間311來最小化復(fù)制過程中的I/O流量以創(chuàng)建復(fù)制卷302。當(dāng)完成復(fù)制時,復(fù)制卷302將包括已用空間321和空余空間322并且將成為虛擬文件系統(tǒng)卷301的鏡像。圖4展示了根據(jù)本發(fā)明一個實施例的示例性虛擬環(huán)境的框圖。示例性虛擬環(huán)境400包括主文件系統(tǒng)405、管理程序404以及虛擬機408至412。示例性虛擬環(huán)境400的組件典型地執(zhí)行在一個分布式計算系統(tǒng)(例如,圖1的服務(wù)器140a和140b)的一部分上或者就是其一部分。管理程序404與硬件402 (例如,服務(wù)器140a_140b的硬件)相對接并向虛擬機408至412提供資源和服務(wù)。在一個實施例中,管理程序404是可信計算基礎(chǔ)(TCB)的一部分。管理程序404向虛擬機408至412提供硬件402中資源的模擬裝置。以此方式,虛擬硬盤驅(qū)動器414a-414c利用物理卷420通過管理程序404和主文件系統(tǒng)405進行模擬。物理卷420可以是例如服務(wù)器140A或140B上的一個或多個LUN,或存儲裝置160A(1)-(N)、160B(1)-(N)、180(1)-(N)之一或存儲陣列 190。圖5展示了根據(jù)本發(fā)明一個實施例的示例性虛擬文件系統(tǒng)501和虛擬文件系統(tǒng)502,它們包括各自的使用圖511和512。圖5還展示了具有它自己的使用圖521的主文件系統(tǒng)520。圖5的實施例展示了兩個不同虛擬機的虛擬文件系統(tǒng)501至502的各自的使用圖511至512。應(yīng)當(dāng)注意的是,盡管示出了兩個虛擬文件系統(tǒng)501至502,但主文件系統(tǒng)可以支持更多的文件系統(tǒng)(例如,10到12個,或更多)。本發(fā)明的實施例可以確定當(dāng)前有多少個虛擬機是活動的,方式是檢查其自己各自的主文件系統(tǒng)使用圖521。主文件系統(tǒng)使用圖521將識別哪個虛擬文件系統(tǒng)已經(jīng)是活動的(例如,更新了物理卷的哪個塊)。復(fù)制管理器530可以訪問主機的主文件系統(tǒng)使用圖521并發(fā)現(xiàn)主文件系統(tǒng)的多個塊中的那些活動塊。復(fù)制管理器530還可以訪問虛擬機的虛擬文件系統(tǒng)使用圖511和/或512。虛擬文件系統(tǒng)使用圖511和512指示虛擬文件系統(tǒng)的全部多個塊中的活動塊。利用這種信息,復(fù)制管理器產(chǎn)生合并的使用圖540。合并的使用圖540識別主文件系統(tǒng)(例如,位于物理卷上)的活動塊,這些活動后與虛擬文件系統(tǒng)相關(guān)聯(lián)。在一個實施例中,虛擬機需要通過主機進行安裝,以便復(fù)制管理器訪問虛擬文件系統(tǒng)使用圖。在這種實施例中,虛擬機和虛擬文件系統(tǒng)511需要通過管理程序和主文件系統(tǒng)520進行安裝,以便允許復(fù)制管理程序530訪問虛擬文件系統(tǒng)501的使用圖511。可替代地,在一個實施例中,虛擬機不需要通過主機進行安裝以訪問主文件系統(tǒng)。在這種實施例中,復(fù)制管理器530可以更直接地訪問虛擬文件系統(tǒng)501的使用圖511 (例如,通過API調(diào)用等)。圖6展示了根據(jù)本發(fā)明一個實施例的實例化在物理裝置上的復(fù)制目標(biāo)卷的圖示。如以所述,復(fù)制目標(biāo)卷可以實例化為例如服務(wù)器140A或140B上的一個或多個LUN或者存儲裝置160A (I) - (N), 160B (I) - (N), 180 (I) - (N)之一或者存儲陣列190。一旦產(chǎn)生合并的使用圖540,與虛擬文件系統(tǒng)相關(guān)聯(lián)的主文件系統(tǒng)的那些活動塊(例如,位于物理卷上)轉(zhuǎn)移至復(fù)制目標(biāo)并用于創(chuàng)建復(fù)制的文件系統(tǒng)601和602。復(fù)制的文件系統(tǒng)601和602是虛擬文件系統(tǒng)501和502的鏡像。如上所述,由于只轉(zhuǎn)移已用空間來創(chuàng)建復(fù)制的文件系統(tǒng)601和602,復(fù)制過程中的I/O流量得到最小化。在一個實施例中,合并的使用圖640還可以在復(fù)制目標(biāo)卷上進行復(fù)制。合并的使用圖640是合并的使用圖540的拷貝。圖7展示了根據(jù)本發(fā)明一個實施例的復(fù)制過程700的多個步驟的流程圖。如圖7所描繪,處理700展示了在實施虛擬機的虛擬文件系統(tǒng)的復(fù)制時所涉及的示例性操作步驟,并且你將會協(xié)助初稿。在一個實施例中,復(fù)制過程在包含多個虛擬文件系統(tǒng)的數(shù)據(jù)卷上執(zhí)行,其中該卷上所有虛擬文件系統(tǒng)都被復(fù)制。如上所述,本發(fā)明的實施例旨在最佳地復(fù)制數(shù)據(jù)卷。該卷可以具有主文件系統(tǒng)和/或?qū)儆谝粋€或多個虛擬機的一個或多個虛擬文件系統(tǒng)。過程700開始于步驟701,其中復(fù)制管理器產(chǎn)生主文件系統(tǒng)(例如主數(shù)據(jù)卷)的空間優(yōu)化快照。如上所述,虛擬文件系統(tǒng)由它的各個應(yīng)用使用。拍攝快照能夠訪問虛擬文件系統(tǒng)的拷貝,不會干擾目標(biāo)虛擬文件系統(tǒng)的聯(lián)機狀態(tài)。在此步驟中,我們首先創(chuàng)建目標(biāo)鏡像數(shù)據(jù)卷,這樣在復(fù)制過程正在分析空間優(yōu)化只讀拷貝時出現(xiàn)的任意新寫入將得到合理的解釋。應(yīng)當(dāng)注意的是,空間優(yōu)化快照使用比較少量的存儲空間以容納寫時拷貝,從而解釋主文件系統(tǒng)中的新寫入。還應(yīng)當(dāng)注意的是,拷貝用于訪問一個或多個虛擬文件系統(tǒng),不會干擾聯(lián)機的一個或多個虛擬機并且不會使用原始的虛擬文件系統(tǒng)。而且,目標(biāo)鏡像在此時創(chuàng)建,這樣在復(fù)制過程正在使用虛擬文件系統(tǒng)的快照拷貝時它就可以已經(jīng)開始接收被寫入到主/虛擬文件系統(tǒng)的新數(shù)據(jù)。在步驟702,復(fù)制管理器訪問主機的主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示主文件系統(tǒng)的多個塊中的活動塊。在一個實施例中,為了保持主卷上虛擬文件系統(tǒng)的可訪問性,創(chuàng)建時間點“快照”卷并且利用該快照卷進行復(fù)制。在步驟703,復(fù)制管理器使用空間優(yōu)化快照以訪問虛擬機的虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示虛擬文件系統(tǒng)的多個塊中的活動塊。如上所述,訪問虛擬文件系統(tǒng)使用卷可以由以下方式來實施:或者通過獨立的虛擬機在快照上安裝虛擬磁盤文件,或者通過使用理解虛擬文件格式(例如,VHD/VMDK等格式,或類似格式)的脫機工具或API。在步驟704,復(fù)制管理器從主文件系統(tǒng)使用圖和虛擬文件系統(tǒng)使用圖的信息產(chǎn)生合并的使用圖,該合并的使用圖識別與虛擬文件系統(tǒng)相關(guān)的主文件系統(tǒng)的活動塊。在卷上存在多個虛擬文件系統(tǒng)的情況下,這些虛擬文件系統(tǒng)的所有使用圖用于創(chuàng)建合并的使用圖。接著在步驟705,復(fù)制管理器根據(jù)合并的使用圖在復(fù)制目標(biāo)上復(fù)制虛擬文件系統(tǒng)。例如,在一個實施例中,復(fù)制管理器使用步驟704的合并圖將主文件系統(tǒng)(例如,源卷)的正在使用的塊復(fù)制到步驟701中產(chǎn)生的目標(biāo)鏡像上以完成復(fù)制(例如,鏡像/克隆創(chuàng)建)。圖8展示了根據(jù)本發(fā)明一個實施例的復(fù)制管理器800的圖示,該復(fù)制管理器實施了復(fù)制功能的某些方面。復(fù)制管理器800是軟件組件或模塊,當(dāng)實例化時該軟件組件或模塊實施本發(fā)明實施例的復(fù)制過程的功能。復(fù)制管理器800包括主文件系統(tǒng)訪問模塊801,該主文件系統(tǒng)訪問模塊通過訪問主文件系統(tǒng)該模塊用于讀取主文件系統(tǒng)的使用圖。虛擬文件系統(tǒng)訪問模塊802包括在內(nèi),并且該模塊通過訪問虛擬機的虛擬文件系統(tǒng)并讀取該虛擬文件系統(tǒng)的使用圖來發(fā)揮作用。合并的使用圖生成模塊也包括在內(nèi),并且該模塊用于將主文件系統(tǒng)使用圖的信息與虛擬文件系統(tǒng)使用圖的信息合并。還包括文件系統(tǒng)復(fù)制模塊,根據(jù)該合并的使用圖,該模塊用于復(fù)制包括虛擬文件系統(tǒng)的數(shù)據(jù)塊。圖9展示了根據(jù)本發(fā)明一個實施例的在示例性復(fù)制系統(tǒng)環(huán)境中的快照復(fù)制操作。為了保持主卷上虛擬文件系統(tǒng)的可訪問性,創(chuàng)建時間點“快照”卷(sv)并利用該快照卷執(zhí)行復(fù)制。在所示的實施例中,主卷(V)(在該主卷上主文件系統(tǒng)安裝在主節(jié)點900a中)的增量修改或變化的數(shù)據(jù)(例如,圖3的虛擬文件系統(tǒng)301的數(shù)據(jù))的拷貝轉(zhuǎn)移至復(fù)制的輔助卷(vr)上,在該輔助卷上輔助文件系統(tǒng)安裝在復(fù)制過程所需的輔助節(jié)點900b中。創(chuàng)建時間點“快照”卷(sv)并利用該快照卷執(zhí)行復(fù)制,以保持主卷的可訪問性。類似地,為了保持輔助卷的可訪問性,倉Il建時間點“快照”卷(rsv)并在輔助節(jié)點900b上使用以便從主節(jié)點900a接收增量變化并存儲所復(fù)制的輔助卷。以此方式,本發(fā)明的實施例保持虛擬機和虛擬文件系統(tǒng)在整個復(fù)制過程中的聯(lián)機性和可訪問性以及完整的功能性。在所示實施例的復(fù)制系統(tǒng)中,主節(jié)點900a通過網(wǎng)絡(luò)914 (例如,IP網(wǎng)絡(luò)、LAN、WAN或其他通信鏈路)連接至輔助節(jié)點900b。所示實施例的主節(jié)點900a和輔助節(jié)點900b各自分別如圖所示的包括應(yīng)用902、卷管理器906和定期復(fù)制管理器905。應(yīng)當(dāng)注意的是,盡管卷910a、910b、916和922示為駐留在主節(jié)點900a和輔助節(jié)點900b的包封之內(nèi)(例如,磁盤驅(qū)動器、固態(tài)磁盤等),但這些卷可以駐留在包封的外側(cè)并且可以經(jīng)由網(wǎng)絡(luò)和/或總線連接(例如,以太網(wǎng)、光纖信道等)來訪問。圖10展示了根據(jù)一個實施例的示例性計算機系統(tǒng)1000。計算機系統(tǒng)1000描繪了一個種基本計算系統(tǒng)的多個組件,該系統(tǒng)為上述實施例提供某些基于硬件的和基于軟件的功能的執(zhí)行環(huán)境。例如,計算機系統(tǒng)1000可以是復(fù)制管理器905a和圖9的一個或多個軟件棧在其上實例化的一種系統(tǒng)??梢詫⒂嬎銠C系統(tǒng)1000實施為例如服務(wù)器計算機系統(tǒng)、工作站計算機系統(tǒng)、桌面計算機系統(tǒng)、或膝上計算機系統(tǒng)。相似地,計算機系統(tǒng)1000可以實施為一種手持裝置。計算機系統(tǒng)1000典型地包括至少某種形式的計算機可讀介質(zhì)(例如,計算機可讀存儲介質(zhì)1001)。計算機可讀介質(zhì)可以是很多不同類型的可利用介質(zhì),該介質(zhì)可以由計算機系統(tǒng)1000進行存取并包括但不限于計算機存儲介質(zhì)。在其最基本的配置中,計算機系統(tǒng)1000典型地包括處理單元1003和計算機可讀存儲介質(zhì)1001。根據(jù)所使用的計算機系統(tǒng)1000的確切配置和類型,內(nèi)存1001可以是易失性的(例如,像DRAM等)、非易失性的(例如,像ROM、閃存等)或這兩者的一些組合。類似地,內(nèi)存1001可以包括其他裝置,例如固態(tài)裝置,例如像基于磁盤的介質(zhì)、光介質(zhì)等。另外,計算機系統(tǒng)1000可以包括其他大容量存儲系統(tǒng)(例如,可移除1005和/或不可移除1007),例如磁或光盤或磁帶。類似地,計算機系統(tǒng)1000可以包括輸入裝置1011和/或輸出裝置1009 (例如,像顯示器)。計算機系統(tǒng)1000可以進一步包括利用有線的或無線的介質(zhì)連接至其他裝置、計算機、網(wǎng)絡(luò)、服務(wù)器等的通信連接1013。由于所有這些裝置在本領(lǐng)域是眾所周知的,無需對其進行詳細(xì)討論。應(yīng)當(dāng)進一步注意的是,計算機系統(tǒng)1000可以具有由分布式計算機系所代替的功能的一些、大部分或全部,該分布式計算機系統(tǒng)具有大量的分布計算節(jié)點,這種情況是計算機系統(tǒng)1000的功能部分地或全部地利用一個云計算環(huán)境而執(zhí)行。圖11描繪了根據(jù)本發(fā)明一個實施例的適于執(zhí)行某種功能的計算機系統(tǒng)1110的框圖。計算機系統(tǒng)1110包括總線1112,該總線將計算機系統(tǒng)1110的主要子系統(tǒng)連接相互,如中央處理器1114、系統(tǒng)內(nèi)存1117 (通常是RAM,但是還可以包括ROM、閃存RAM等等)、輸入/輸出控制器1118、外部音頻裝置(如經(jīng)由音頻輸出接口 1122的揚聲器系統(tǒng)1120)、外部裝置(如經(jīng)由顯示適配器1126的顯示屏1124)、串行端口 1128和1130、鍵盤1132 (與鍵盤控制器1133連接)、存儲接口 1134、可操作用于接收軟盤1138的軟盤驅(qū)動器1137、可操作用于與光纖通道網(wǎng)絡(luò)1190相連接的主機總線適配器(HBA)接口卡1135A、可操作用于連接到SCSI總線1139上的主機總線適配器(HBA)接口卡1135B、以及可操作用于接收光盤1142的光盤驅(qū)動器1140。還包括鼠標(biāo)1146 (或其他點擊裝置,經(jīng)由串行端口 1128連接至總線1112)、調(diào)制解調(diào)器1147 (經(jīng)由串行端口 1130連接至總線1112)、以及網(wǎng)絡(luò)接口 1148 (直接連接至總線1112)。如前所述,總線1112允許中央處理器1114與系統(tǒng)內(nèi)存1117之間的數(shù)據(jù)通信,該系統(tǒng)內(nèi)存可以包括只讀存儲器(ROM)或閃存(均未示出)、以及隨機存取存儲器(RAM)(未示出)。RAM通常是加載操作系統(tǒng)和應(yīng)用程序的主存儲器。在圖11的實施例中,系統(tǒng)內(nèi)存1117實例化復(fù)制管理器模塊1150,該模塊執(zhí)行以上描述的連續(xù)復(fù)制功能。除其他代碼之外,ROM或閃存可以包含基本輸入輸出系統(tǒng)(BIOS),該系統(tǒng)控制基本的硬件操作,如與外圍部件的交互。與計算機系統(tǒng)1110共同駐留的多個應(yīng)用程序通常存儲在一種計算機可讀介質(zhì)上,如硬盤驅(qū)動器(例如,固定盤1144)、光盤驅(qū)動器(例如,光盤驅(qū)動器1140)、軟盤單元1137、或者其他存儲介質(zhì),并且可以通過該計算機可讀介質(zhì)來訪問這些應(yīng)用程序。此外,當(dāng)通過網(wǎng)絡(luò)調(diào)制解調(diào)器1147或接口 1148來訪問時,應(yīng)用程序可以是根據(jù)應(yīng)用程序和數(shù)據(jù)通信技術(shù)進行調(diào)制的電子信號的形式。如計算機系統(tǒng)1110的其他存儲接口一樣,存儲接口 1134可以連接至標(biāo)準(zhǔn)計算機可讀介質(zhì)用于信息的存儲和/或檢索,例如固定盤驅(qū)動器1144。固定盤驅(qū)動器1144可以是計算機系統(tǒng)1110的一部分或可以是分離的并且可以通過其他接口系統(tǒng)來訪問。調(diào)制解調(diào)器1147可以通過一個電話鏈路提供到遠程服務(wù)器上的直接連接、或者通過互聯(lián)網(wǎng)服務(wù)提供商(ISP)提供到互聯(lián)網(wǎng)的直接連接。網(wǎng)絡(luò)接口 1148可以通過一個直接網(wǎng)絡(luò)鏈路提供到一個遠程服務(wù)器的直接連接、或者通過一個POP (存在點)提供到互聯(lián)網(wǎng)的直接連接。網(wǎng)絡(luò)接口 1148還可以使用無線技術(shù)提供此類連接,包括數(shù)字蜂窩電話連接、蜂窩數(shù)字包數(shù)據(jù)(⑶ro)連接、數(shù)字衛(wèi)星數(shù)據(jù)連接或類似的連接。許多其他裝置或子系統(tǒng)(未示出)可以以類似的方式(例如,文檔掃描儀、數(shù)碼照相機等等)進行連接。相反,實施本披露并不要求圖11中示出的所有裝置都存在。裝置和子系統(tǒng)可以以圖11中所示的不同方式相互連接。圖11中所示的計算機系統(tǒng)的操作在本領(lǐng)域中是眾所周知的并且在本專利申請中不做詳細(xì)討論。實施本披露的代碼可以存儲在計算機可讀存儲介質(zhì)上,例如系統(tǒng)內(nèi)存1117、固定盤1144、光盤1142或軟盤1138中的一個或多個。計算機系統(tǒng)1110上提供的操作系統(tǒng)可以是MS-DOS 、M S-W丨N DOWS 、OS/2 、UNIX 、Linux 或另一種已知的操作系統(tǒng)。另外,就本文描述的信號而言,本領(lǐng)域普通技術(shù)人員將認(rèn)識到,信號可以從第一模塊直接傳遞到第二模塊,或可以在模塊之間修改(例如,放大、衰減、延遲、鎖存、緩沖、反轉(zhuǎn)、濾波或以其他方式進行修改)信號。盡管以上所述實施例的信號的特征為從一個模塊向下一個模塊傳輸,但只要信號的信息和/或功能方面在模塊之間進行傳輸,本披露的其他實施例就可以包括修改的信號以替代這種直接傳輸?shù)男盘?。在某種程度上,在第二模塊上輸入的信號可以概念化為來源于第一信號的第二信號,而該第一信號輸出自第一模塊,這是因為所涉及的電路的物理限制(例如,不可避免地存在一些衰減和延遲)。因此,如本文所用,源自第一信號的第二信號包括第一信號或第一信號的任意修改形式,是由于電路限制還是由于經(jīng)過其他電路元件并不會改變第一信號的信息和/或最終功能方面。為了解釋的目的,已經(jīng)參照具體實施例對前述說明作出了描述。但是,這些示意性的說明并不旨在窮舉或者將本發(fā)明限制在所披露的準(zhǔn)確形式。鑒于以上教導(dǎo),許多修改和變形都是可能的。為了最好地解釋本發(fā)明的原理及其實際應(yīng)用,選擇并說明了這些實施例,從而使得本領(lǐng)域的其他技術(shù)人員能夠最好地利用本發(fā)明,以及針對預(yù)期的具體用途而作了各種適當(dāng)修改的不同實施例。
權(quán)利要求
1.一種復(fù)制虛擬機的虛擬文件系統(tǒng)的方法,包括: 訪問ー個主機的ー個主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示該主文件系統(tǒng)的多個塊中的活動塊; 訪問ー個虛擬機的一個虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示該虛擬文件系統(tǒng)的多個塊中的活動塊; 從該主文件系統(tǒng)使用圖和該虛擬文件系統(tǒng)使用圖的信息中產(chǎn)生ー個合并的使用圖,該合并的使用圖識別與該虛擬文件系統(tǒng)相關(guān)聯(lián)的主文件系統(tǒng)的活動塊;以及根據(jù)該合并的使用圖,在一個復(fù)制目標(biāo)上復(fù)制該虛擬文件系統(tǒng)。
2.按權(quán)利要求1所述的方法,其中該虛擬機通過該主機進行安裝以訪問該主文件系統(tǒng)。
3.按權(quán)利要求1所述的方法,其中該虛擬文件系統(tǒng)實例化為ー個固定虛擬存儲裝置。
4.按權(quán)利要求1所述的方法,其中該虛擬文件系統(tǒng)實例化為ー個動態(tài)分配的虛擬存儲裝置。
5.按權(quán)利要求1所述的方法,其中產(chǎn)生該虛擬文件系統(tǒng)的ー個快照以支持該虛擬文件系統(tǒng)的復(fù)制。
6.按權(quán)利要求5所述的方法,其中該快照使該虛擬文件系統(tǒng)能夠在該虛擬文件系統(tǒng)的復(fù)制過程中保持聯(lián)機。
7.按權(quán)利要求1所述的方法,其中該復(fù)制目標(biāo)是實施RAID功能的ー個物理存儲裝置。
8.按權(quán)利要求1所述的方法,其中該主文件系統(tǒng)使用圖包括ー個文件系統(tǒng)使用位圖。
9.一種計算機可讀存儲介質(zhì),在其上存儲有計算機可讀指令,如果由計算機系統(tǒng)執(zhí)行,這些指令使得該計算機系統(tǒng)執(zhí)行ー種方法,該方法包括: 訪問ー個主機的ー個主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示該主文件系統(tǒng)的多個塊中的活動塊; 訪問ー個虛擬機的一個虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示該虛擬文件系統(tǒng)的多個塊中的活動塊; 從該主文件系統(tǒng)使用圖和該虛擬文件系統(tǒng)使用圖的信息中產(chǎn)生ー個合并的使用圖,該合并的使用圖識別與該虛擬文件系統(tǒng)相關(guān)聯(lián)的主文件系統(tǒng)的活動塊;并且根據(jù)該合并的使用圖,在一個復(fù)制目標(biāo)上復(fù)制該虛擬文件系統(tǒng)。
10.按權(quán)利要求9所述的計算機可讀存儲介質(zhì),其中該虛擬機通過該主機進行安裝以訪問該主文件系統(tǒng)。
11.按權(quán)利要求9所述的計算機可讀存儲介質(zhì),其中該虛擬文件系統(tǒng)實例化為ー個固定虛擬存儲裝置。
12.按權(quán)利要求9所述的計算機可讀存儲介質(zhì),其中該虛擬文件系統(tǒng)實例化為ー個動態(tài)分配的虛擬存儲裝置。
13.按權(quán)利要求9所述的計算機可讀存儲介質(zhì),其中產(chǎn)生該虛擬文件系統(tǒng)的ー個快照以支持該虛擬文件系統(tǒng)的復(fù)制。
14.按權(quán)利要求13所述的計算機可讀存儲介質(zhì),其中該快照使該虛擬文件系統(tǒng)能夠在該虛擬文件系統(tǒng)的復(fù)制過程中保持聯(lián)機。
15.按權(quán)利要求9所述的計算機可讀存儲介質(zhì),其中該復(fù)制目標(biāo)是實施RAID功能的一個物理存儲裝置。
16.按權(quán)利要求9所述的計算機可讀存儲介質(zhì),其中該主文件系統(tǒng)使用圖包括ー個文件系統(tǒng)使用位圖。
17.一種卷復(fù)制系統(tǒng),包括: 一個計算機系統(tǒng),該計算機系統(tǒng)具有一個處理器,該處理器連接至一個計算機可讀存儲介質(zhì)并執(zhí)行計算機可讀代碼,該計算機可讀代碼使該計算機系統(tǒng)實施一個復(fù)制管理器模塊,其中該復(fù)制管理器模塊: 訪問ー個主機的ー個主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示該主文件系統(tǒng)的多個塊中的活動塊; 訪問ー個虛擬機的一個虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示該虛擬文件系統(tǒng)的多個塊中的活動塊; 從該主文件系統(tǒng)使用圖和該虛擬文件系統(tǒng)使用圖的信息中產(chǎn)生ー個合并的使用圖,該合并的使用圖識別與該虛擬文件系統(tǒng)相關(guān)聯(lián)的主文件系統(tǒng)的活動塊;以及根據(jù)該合并的使用圖,在一個復(fù)制目標(biāo)上復(fù)制該虛擬文件系統(tǒng)。
18.按權(quán)利要求17所述的系統(tǒng),其中該虛擬機通過該主機進行安裝以訪問該主文件系統(tǒng)。
19.按權(quán)利要求17所述的系統(tǒng),其中產(chǎn)生該虛擬文件系統(tǒng)的ー個快照以支持該虛擬文件系統(tǒng)的復(fù)制。
20.按權(quán)利要求19所述的系統(tǒng), 其中該快照使該虛擬文件系統(tǒng)能夠在該虛擬文件系統(tǒng)的復(fù)制過程中保持聯(lián)機。
全文摘要
提供了一種復(fù)制虛擬機的虛擬文件系統(tǒng)的方法。該方法包括訪問一個主機的一個主文件系統(tǒng)使用圖,該主文件系統(tǒng)使用圖指示該主文件系統(tǒng)的多個塊中的活動塊,并且訪問一個虛擬機的一個虛擬文件系統(tǒng)使用圖,該虛擬文件系統(tǒng)使用圖指示該虛擬文件系統(tǒng)的多個塊中的活動塊。一個合并的使用圖由該主文件系統(tǒng)使用圖和該虛擬文件系統(tǒng)使用圖的信息產(chǎn)生,該合并的使用圖識別與該虛擬文件系統(tǒng)相關(guān)聯(lián)的主文件系統(tǒng)的活動塊。然后根據(jù)該合并的使用圖,在一個復(fù)制目標(biāo)上復(fù)制該虛擬文件系統(tǒng)。
文檔編號G06F11/20GK103098030SQ201180039364
公開日2013年5月8日 申請日期2011年6月2日 優(yōu)先權(quán)日2010年7月15日
發(fā)明者C·C-C·林, V·賈納吉拉曼 申請人:賽門鐵克公司