TWI438689B - 用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品 - Google Patents

用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品 Download PDF

Info

Publication number
TWI438689B
TWI438689B TW096107046A TW96107046A TWI438689B TW I438689 B TWI438689 B TW I438689B TW 096107046 A TW096107046 A TW 096107046A TW 96107046 A TW96107046 A TW 96107046A TW I438689 B TWI438689 B TW I438689B
Authority
TW
Taiwan
Prior art keywords
host
virtual machine
snapshot
virtual
level
Prior art date
Application number
TW096107046A
Other languages
English (en)
Other versions
TW200809626A (en
Inventor
Michael L Michael
William L Scheidel
Paul B Luber
P Adrian Oltean
Ran Kalach
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200809626A publication Critical patent/TW200809626A/zh
Application granted granted Critical
Publication of TWI438689B publication Critical patent/TWI438689B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Description

用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品
本發明大致係與建立一或更多虛擬機器之一致的主機層級備份的系統、方法和電腦程式產品相關。
隨著電腦化系統愈來愈受歡迎,將電子檔案及由使用者所創造的其它通訊和相關應用程式加以儲存與備份的需求也跟著增加。一般而言,電腦系統與相關的裝置因為種種原因建立檔案,例如在工作環境中建立文字處理檔案與為了更精進的資料庫目之用建立檔案的一般情形。此外,許多這些文件可能包括有價值的工作產品,或應該要被保護的敏感資訊。因此,我們可以理解為何一組織需要經常備份(backup)電子檔案,因此可在必要時忠實地還原其原始檔案。
隨著電腦化的系統持續地發展成為更複雜的軟體和硬體設定時,與備份這些設定有關的複雜度(complicaton)也增加了。以最簡單的形式備份一電腦僅涉及從一電腦磁碟(disk)或磁區(volume)拷貝資訊以及將該資訊傳遞給一備份位址。然而當需要備份網路上多個伺服器上的大量資料集(sets)時,僅從磁碟拷貝資料這個簡單的動作將變得更複雜,尤其是當備份的過程中,該資料集尚持續地改變時。例如,除了僅備份資料以外,大型組織公司的憂慮尚包括以快速、可靠和相當不受打擾的方式儲存資料的需求,使得該資料也可很快地被尋回。其餘的憂慮尚包括如何立即存取第一例子中各種伺服器資料,尤其當各伺服器具有不同功能時,其可使該伺服器或多或少較另一伺服器更易存取一給定的備份程式。
在備份伺服器資料時,這些類複雜情況在虛擬伺服環境中可能變得特別艱難。一般來說,一虛擬伺服器環境涉及到使用一主機伺服器,其上可安裝一或更多的「虛擬機器」。這些虛擬機器包括一作業系統的獨一無二的環境,其安裝在主機伺服磁碟空間和資源(如主機記憶體)的一已分配部分上。因此,各虛擬機器可能以單一的網路辨識符(identifier)來代表,其在網路上看起來像是單獨存在的並能與主機伺服器本身有所區別。此外,各虛擬機器也可能具有形成在分配給虛擬機器的主機空間上的額外分割出來的儲存部份。再者,儘管存在於一主機伺服器的實體磁碟上,除了從主機伺服器來看似乎為有區別的機器以外,該虛擬機器也可能看起來可容納多個磁碟機(drive)或磁區(volume)。因此,我們可以知道虛擬機器可以很多重要的方法來使用,以更有效地分配一組織中的硬體資源。
儘管有這些優點,僅拷貝安裝有虛擬機器之主機磁區上的資料並使那些資料儘可能有用(如一致與有效),卻不是一件簡單的事。如此困難的原因之一在於虛擬機器本身的性質,因其必定需具有與其它虛擬機器以及相應主機伺服器不同的獨特的身分(如,包括獨特的作業系統)。例如,該主機伺服器不能僅命令虛擬機器裡面的應用程式建立其一「應用程式一致」的資料快照(snapshot),因為這樣的應用程式通常處於虛擬機器的控制下。因此,當一主機在安裝有虛擬機器的磁區上建立一快照或是一備份拷貝時,虛擬機器內部的處理可能尚在持續執行,因此,虛擬機器的一拷貝在此情況下可能包括在不同時間點上均為有效的資料和檔案狀態。亦即,該虛擬機器的拷貝大概不會是「應用程式一致(application-consistent)」。如果你將要還原這樣的一虛擬機器,它可能根本不會正常的運作。
一般來說,一「應用程式一致」備份意指應用程式參與備份準備過程,並且基於實體磁碟上所有的資料以及記憶體中所有的資料,而產生要被備份的應用程式檔案。因此,這些要被備份起來的檔案或快照是與該應用程式目前的狀態相符合的,並且可在任一較晚的時間點上由該應用程式所恢復。相較之下,「毀壞一致(crash-consistent)」資料指的是一般不涉及到在第一例子中用於建立資料的應用程式的好處而備份的資料。因此,在毀壞一致備份期間的主要產物為一組與備份程序期間和實體磁碟上資料相同的資料,而不需考慮記憶體中資料為何,亦不需考慮應用程式當時的狀態。這與在全面性系統毀壞期間(如在失去電力或重開機時),檔案資料存在的方式相類似,因此不能保證該些資料為應用程式一致的。尤其,對某些複雜的作業系統環境來說,特別是對那些在備份後很重要的是必須儘可能確保轉換無縫的情況下,較佳是採用一一致(亦即,應用程式和/或檔案系統)-一致的備份方法。
有很多種用於建立磁區資料的一致備份的方法。不幸地,嘗試建立虛擬機器(和因而所管理之對應磁區)的應用程式一致的傳統系統,一般要先暫停或關閉該虛擬機器才能夠有效地建立一應用程式一致備份。這通常導致一些不想要的停工期(downtime),在某些具有某種「任務-關鍵性(mission-critical)」情況中,停工期可能給管理者帶來很特殊的困難。關於此之一原因真的為有興趣的磁區可當該磁區沒有額外的寫入時被拷貝,使得經由該應用程式所產生的資料在所有時間均為一致的。當然,在一個快速的、連續的、和有效的資料存取都很重要的環境中,暫停或關閉一虛擬機器以實行備份拷貝是較不希望發生的情況,且可能使組織資源流失。
一組織可能嘗試建立一虛擬機器的應用程式一致備份的其它方法係藉由在每一給定的虛擬機器實例中安裝一特定的備份代理軟體(agent)。一般來說,一備份代理軟體將被設定成可與該作業系統中的應用程式寫作者(writer)互動來建立一應用程式一致備份,一如一般在主機層級為該主機伺服器之主要磁區進行的操作一樣。不幸地,僅安裝各虛擬機器的新備份代理軟體並不是件簡單的事情。例如,一組織通常將需要購買各虛擬機器的一新的個別的備份代理程式(或授權)。可以想像,此將對大型組織(可能高達數十、數百、或甚至上千台的虛擬機器)的成本和資源支出上,造成相當大的困難。
因此,有許多與所處理的備份虛擬機器有關的困難尚待解決。
本發明之實作可提供經設定以建立一或更多虛擬機器之一致的主機層級備份的系統、方法和電腦程式產品。特定言之,本發明之實作可以一致的方式使用現存的備份請求者和寫入者,藉以提供可備份一主機伺服器和相對應的一或更多虛擬機器的能力,其不必然會明顯中斷一或更多虛擬機器之操作。在一實施中,例如,一主機伺服寫入者(如,一虛擬伺服VSS寫入者)命令各虛擬機器建立它自己本身的虛擬機器層級磁區資料的一或更多應用程式一致的快照。在該主機伺服器上的備份應用程式也會建立該主機層級(其上安裝有一或更多虛擬機器,例如一虛擬硬碟檔案)磁區的快照。之後,該主機伺服器可以從該主機層級快照裡面取回先前所建立的虛擬機器層級快照,並且完成備份的處理。
例如,一種由一主機伺服器觀點來建立虛擬機器磁區資料之一致備份的方法,其不必然需要停止或重新開啟該一或更多虛擬機器,該方法涉及辨識至少一具有一或更多元件的虛擬機器,可供與寫入者相關的備份程序使用。此外,該方法可涉及將一指令傳送至該一或更多虛擬機器之各者以準備一虛擬機器層級、應用程式一致快照。該方法也可涉及辨識在該至少一虛擬機器上快照操作是否已經完成。更者,該方法可能涉及建立其上安裝有所辨識之一或更多虛擬機器的一或更多主機磁區的一或更多主機層級的快照。該方法仍然可能進一步涉及取回由該至少一虛擬機器所製作的虛擬機器磁區的應用程式一致快照。此外,該方法涉及將指令傳送至該虛擬機器上的一或更多應用程式寫入者,以準備相對應的一或更多用於備份的虛擬機器應用程式。更者,該方法可能牽扯將一訊號傳送至在該虛擬機器裡面主持的一或或更多磁區的各者的快照準備已經完成的該主機寫入者。
相反的,一種由一虛擬機器的觀點來建立一或更多虛擬機器磁區的一致快照以回應來自該主機伺服器的一主機寫入者的方法,可能涉及從一主機寫入者接收一請求以辨識可取得的軟體元件。該方法也可能涉及從該主機寫入者接收一請求以拍下一或更多由具有可取得軟體元件至少之一的虛擬機器所主持的磁區的快照。
在此所提供的本發明說明內容係以簡化的形式介紹所選取的觀念,其將在以下的實施方式中進一步說明。此發明說明並無意辨識所主張標的之關鍵特徵或基礎特徵,也無意用作判定所主張的標的的範圍的輔助之用。
本發明額外的特徵與優點將會在以下的說明詳細解說,其部分係從本說明書即能明瞭,或可藉由實行本發明而得到。本發明的特徵與優點可由所附申請專利範圍所指出的指導或組合瞭解與獲得。本發明這些以及其它的特徵從以下的說明即更能明瞭,或可藉由以下對實行本發明的說明而得到。
本發明的實施也延伸涵蓋經設定用以建立一或更多虛擬機器之一致的主機層級備份的系統、方法和電腦程式產品。特定言之,本發明的實施係以一致的方式使用現存的備份請求者和寫入者來提供備份一主機伺服器和相對應的一或更多虛擬機器的能力,其不必然會明顯中斷一或更多虛擬機器的操作。在一實施中,例如,一主機伺服寫入者(如一虛擬伺服VSS寫入者)可命令各虛擬機器建立它自己本身的虛擬機器層級磁區資料的一或更多的應用程式一致的快照。在該主機伺服器上的備份應用程式也會建立該主機層級(其上安裝有一或更多虛擬機器,例如一虛擬硬碟檔案)磁區的快照。之後,該主機伺服器可從該主機層級快照裡面取回先前所建立的虛擬機器層級快照,並且完成備份的處理。
在閱讀本說明書以及申請專利範圍後,我們便能瞭解:即使虛擬主機的一致備份不能夠馬上被辨識出係經設定而用於一致(如應用程式和/或檔案系統)-一致備份程序,一主機伺服器(如透過一虛擬寫入者)也能仍然夠建立虛擬機器的一致備份。例如,該虛擬機器可能被關掉或沒有執行,或者該虛擬機器可能未安裝適當的軟體或硬體元件。然而,該主機伺服器可能使用不同的元件以保存狀態的方式拷貝主機磁區和相對應的虛擬機器,並且至少短暫的暫停或停止該虛擬機器。該主機伺服器寫入者之後可以允許該虛擬機器在主機磁區的快照已經完成後繼續。
在閱讀本說明書以及申請專利範圍後,我們便能瞭解:本發明的實施可以最少的停工期的方式,且不需要購買和安裝新的備份代理軟體的方式提供虛擬機器的一致備份。因此,實施虛擬機器解決方案的組織以使一組織的資源花費減至最少的方式提供網路系統中更好的主機伺服器、虛擬機器以及資料的取得性。
因此,第1A圖說明一作為範例之用的主機伺服器100,其經設定以管理磁區100和115。安裝在磁區110和115上面的分別是虛擬機器120和130。透過解釋,雖然各虛擬機器120、130可被視為在一層級上個別的電腦化系統,但是當從主機100的層級來看時,各虛擬機器120、130也可被視為「一些檔案」的集合(如,虛擬機器設定(Virtual Machine Configuration,VMC)檔案,和一或更多的虛擬硬碟(VHD)檔案)。無論如何,雖然第1A圖只繪示出每一磁區上的一虛擬機器,但這不是必要的,在給定的主機伺服器100磁區上還可以安裝有很多的虛擬機器。類似的,每一虛擬機器也可涵跨一或多主機伺服器上的多個磁區。
再者,各虛擬機器可以管理額外的磁碟機,其係該所給定的虛擬機器所安裝於上的磁區分配裡面的有效地額外的磁區分配。例如,第1A圖顯示虛擬機器120也管理一或更多虛擬實體磁碟(然而也是主機磁區100的一部份)。一般來說,各虛擬實體磁碟可以一檔案(如虛擬硬碟檔案(亦即VHD 123、127等)來表示。特定言之,VHD檔案在虛擬機器裡面視為(expose)一實體磁碟,其更進一步包括包含於其內之額外的一或更多磁區(沒有顯示),其中各磁區具有自己的全球獨特辨識符(Global Unique Identifier,GUID)。因此,當VHD 127(在此情況時僅包括一磁區)可能具有一在該網路上顯示成「n:\」等等的一磁區時,VHD檔案123(在本說明簡化後只包含一磁區)可能因此具有顯示為磁碟機「m:\」或適合於一給定作業系統的某其它獨特辨識符的磁區。
此外,第1A圖顯示主機100包括備份應用程式105(可被稱為「主機請求者」或「主機層級請求者」。一般來說,備份應用程式105包括一連串的電腦可執行指令,其經設定後用以指示主機100上的備份事件。在一實施中(例如在微軟的作業環境中),備份應用程式105包括一磁區陰影拷貝服務(Volume Shadow Copy Service,VSS)請求者。第1A圖也顯示該備份應用程式105依序地被設定,用以經由主機寫入者125(可以被稱為「主機寫入者」、「主機層級寫入者」、或「主機層級虛擬伺服器VSS寫入者」)指示它的備份指令。
一般來說,主機寫入者125包括一連串的電腦可執行的指令,其經設定用以實行從備份應用程式105所接收的備份指令。在一實施方式中,例如在微軟環境下,主機寫入者125包括一VSS寫入者,例如可與微軟虛擬伺服器(MICROSOFT VIRTUAL SERVER)一起使用的VSS寫入者。經由解釋,此處所參考的微軟元件僅作為範例之用。特定言之,在閱讀本說明書以及申請專利範圍後我們可以瞭解此處所說明的元件、模組、系統和函數可以廣泛地適用至其它作業環境中所用之各種元件、模組和函數。
為了要執行虛擬機器的一致備份,主機100一般將需要判定所主持的虛擬機器的哪一個可以報導經設定以使一致備份首先成為可能的適當元件。這裡接下來要說明「應用程式一致」備份或快照處理以作為引文(preliminary matter)。然而,根據本發明的實施,我們將知道應用程式一致備份的處理僅係「一致」備份操作的一範例而已。一致備份程序的其它範例包括檔案系統和/或毀壞一致備份程序。在任何情況下,且參照應用程式一致之備份,例如,一些虛擬機器可能可以和適當的寫入者和請求者(用於製造應用程式一致備份的)一起被安裝,至於其它的虛擬機器則可能在不須要適當的寫入者和請求者的情況下被安裝。對於那些沒有適當元件下運行的虛擬機器來說,主機100仍然可以備份那些虛擬機器,但可能不需要和那些具有適當元件的虛擬主機進行一樣的操作。特定言之,主機100可以經設定用以備份這些報導沒有停工期或中斷(或虛擬上沒有)的適當元件的虛擬機器,或經設定用以備份那些不報導(亦即遺失或不在操作中)具有至少一些停工期或中斷的適當元件的虛擬機器。因此,第1A圖顯示備份應用程式105(亦即「主機請求者」)藉由將請求103傳送到主機寫入者125而開始至少一部分的備份服務。在此情況中,請求103指示主機寫入者125辨識哪一個虛擬機器可以在不須有「停工期」的情況下被備份。例如,請求103指示主機寫入者125查明虛擬機器120、130等等中的哪一個包括適當的客人寫入者和/或請求者,用以執行一內部應用程式一致的備份。例如,在微軟環境中的一實施方式中,這樣的元件可以包括那些與「VM增加的部分」相容的元件,其用在微軟虛擬伺服器架構中。這些以及其它以相似方式設定的虛擬機器元件係經設定後用以與一虛擬機器中,例如,一主機層級虛擬伺服器VSS寫入者互動(且回應來自該主機層級虛擬伺服器VSS寫入者的指令)。第1A圖也說明:一旦接收到請求103,主機寫入者125可經由訊息111(例如可以為一私有的應用程式介面(private Application Program Interface,private API)而與虛擬機器120通信,且辨識出虛擬機器120並回報「版本x」的元件。例如,第1A圖說明虛擬機器120包括「客人請求者140」。第1A圖也說明:主機寫入者125更可與虛擬機器130通信(例如,透過訊息111),且主機寫入者125可辨識出虛擬機器130並回報「版本y」的元件。在此特別的情況中,「版本y」表示虛擬機器130不具有用於一致備份程序的適當元件。為了回應與該虛擬機器(如元件120、130等)與的通信,主機寫入者125可以將一或更多其所所收集之回應的訊息傳送回給備份應用程式105。例如,寫入者傳送訊息113,其指示虛擬機器120的版本是「x」,以及回報適當的元件,且更進一步指示虛擬機器130的版本是「y」,但不會回報適當的元件。當接受到時,第1A圖說明備份應用程式105可以取得訊息113,且自已判定應備份哪一個虛擬機器,以及不要備份哪一個虛擬機器。例如,第1A圖顯示判定模組107分析訊息113的資訊,且將虛擬機器120歸屬在「不需停工期即可備份的虛擬機器」的類別中,並將虛擬機器130歸屬在「需要某段停工期之虛擬機器)(或是不需要備份的虛擬機器)類別中。在可替代的實施中,主機寫入者125僅自行做出關於哪些應該或不應該備份(或帶有某個停工期來作備份)的判定,然後將這些類別回報給應用程式105。在任何情況下,所示的類別就其本身而言不必然代表虛擬機器130將不會被備份起來。在大部份情況下,此僅代表虛擬機器120不能夠以一適當的一致方式被備份,且虛擬機器130可能僅經設定被以帶有某個停工期的一致方式加以備份。在將各虛擬機器加以歸類後,備份應用程式105即開始實施備份程序。例如第1B圖所示,備份應用程式105將指令117a傳送至主機寫入者125。指令117a依序告訴主機寫入者25開始至少關於虛擬主機120的應用程式一致備份程序。之後,主機寫入者125準備它自己的通訊117b,該通訊117b告訴一虛擬機器開始「涉及寫入者(write-involved)」的備份程序。主機寫入者125然後將訊息117b傳送至由備份應用程式105所指示的各虛擬機器(如元件120),且各所指示的虛擬機器將依序經由其所對應的當客人的請求者接收訊息117b。例如,第1B圖說明虛擬機器120的客人請求者140接收訊息117b。在一實施中,雖然在所有的實施中並不是必須的,主機寫入者125可經由一或更多的私有API、經由遠端程序呼叫(Remote Procedure Calls,PRCs)或此類與客人請求者140通信。在其它實施方式中,例如當主機寫入者125和客人請求者140係位於不同的網路位址(甚至不同域)時,主機寫入者可與其它適當的通訊介面和/或元件通信。特定言之,將可理解即使當需要從一廣域網路上遠端位址的一虛擬機器來進行備份時,也可實施本發明。在任何情況下,一旦被觸發,客人請求者140可因而根據備份應用程式105的初始指令,來開始其磁區的備份程序。如第1B圖所示,客人請求者140將一虛擬機器內部訊息117c傳送至由虛擬機器120所管理的任何磁區上所安裝的應用程式。訊息117c可以包括用於各應用程式寫入者(如,一VSS寫入者(沒有顯示出來))的指令,用以準備包含在它的實體磁碟(亦即由VHD檔案123、127所表示)中的磁區中所管理的各磁區的應用程式一致備份程序。一般來說,各應用程式寫入者可包括電腦可執行的指令,其可包含在虛擬機器裡面的應用程式和服務中,該應用程式和服務幫忙提供應用程式資料的應用程式一致備份。對於當接收請求117c時正在執行的應用程式來說,應用程式寫入者可能藉由以下方式回應,例如準備它的資料儲存,以及確保在建立快照時磁區上面不會產生寫入。為了要使磁碟上的資料有一致性,應用程式寫入者可能把它的緩衝沖至磁碟或把在記憶體中的資料全部寫入至磁碟。此外,應用程式寫入者可能提供有關將欲包括或排除之應用程式名稱、圖示、檔案資訊,和還原檔案的策略。對於當接收請求117c時沒有正在執行中的應用程式來說,相對應的應用程式寫入者可能不回應訊息117c,故客人請求者140可能因此假設:由應用程式寫入者所處理的所有資料為有一致性的、資料庫是關閉的、不需要額外的努力以執行該備份。
一般來說,根據本發明的一或更多實施方式的一應用程式寫入者可能與一或更多的元件有關。各元件依序可包括一群檔案(例如一資料庫和一組工作記錄檔案),其將以整體的方式被拷貝。因此,各應用程式寫入者將會需要把各元件的資料以及該元件各相對應的檔案提供給一適當的備份服務(如虛擬機器請求者-如客人請求者140)。各應用程式寫入者更可以提供有關以一元件對元件(以及因此元件-檔案對元件-檔案)的基礎來恢復資料的資訊。在一實施中,例如,主機寫入者125可以提供檔案的清單,其被使用以保持被管理的虛擬機器(如元件120、130等等)的持續資訊。主機寫入者125可能例如為各虛擬機器報導一特別的虛擬機器設定檔的路徑、一虛擬硬碟檔的任何路徑..等等。
在任何情況下,以及為回應指令117c,第1B圖說明磁區123和127裡面的相對應的應用程式寫入者可產生其中之磁區資料的一應用程式一致的狀態。由用於相對應實體磁碟檔案(如VHD 123、127)裡面的磁區的恰當的應用程式所報導的磁區資料係以磁區快照的方式來完成(emcompass)。例如,第1B圖說明在VHD 123裡面的磁區資料145經拷貝成為「資料的乾淨拷貝」155,以及在VHD 127裡面的磁區資料150經拷貝成為「資料的乾淨拷貝」160。一般來說,這些資料155、160的「乾淨(clean)」拷貝是客人磁區快照裡面資料的一致拷貝(如磁區陰影拷貝),且通常來說,從這些快照本身不構成個別的拷貝。特定言之,「乾淨拷貝」155、160基本上係個別地包含在虛擬硬碟檔案(VHD)123和127(第1A圖)中的快照裡面的磁區資料的應用程式一致的拷貝。
一旦各適當地經設定的虛擬機器(如120)已經完成其內部、其實體磁碟磁區(如資料145的拷貝155)的應用程式一致(或「乾淨」)拷貝,主機寫入者125可允許備份應用程式105繼續進行製作主機磁區(如110)(其上安裝著適當地經設定的虛擬機器(如120)的)的快照。然而,這些主機層級快照內部的虛擬機器磁區資料不必然為應用程式一致的(亦即「骯髒」或「毀壞一致」)。
一般來說,「骯髒」的拷貝係指對於虛擬機器磁區資料(至少一部份)來說,不能夠保證具有應用程式一致性,因為它們沒有涉及虛擬機器裡面的應用程式寫入者-涉及的快照程序。例如,主機100可以使用主機層級的應用程式寫入者(如主機寫入者125)以寫入者-涉及的程序備份磁區110的資料,但是,如前所述,這些主機層級的應用程式寫入者當它們由主機觀點來檢視時,僅會拷貝整個虛擬機器檔案。因此,即使使用主機層級的應用程式寫入者建立主機層級磁區資料的應用程式一致的拷貝,當產生磁區100的主機層級備份時,各下面的虛擬機器可能正在經歷各種資料的改變。
例如,第1C圖說明主機寫入者125將訊息157發送至備份應用程式105,其中訊息157指示虛擬機器(如120)的備份是否完成。因此,備份應用程式105可以繼續進行製作主機磁區110(和適當時,磁區115等)的主機層級快照。為了回應,第1C圖在本範例說明備份應用程式105起始(如訊號135)在磁區110、115等的備份程序。例如,在一實施中,主機請求者104起始寫入者-涉及的備份程序,且經由一主機層級VSS元件(沒有顯示出來)產生在主機層級磁區110、115(亦即,除了虛擬機器檔案以外的應用程式一致者)。
例如,第1C圖說明主機100建立主機磁區110、115的快照167、173。快照167、173也包括虛擬機器VHD檔裡面的拷貝(亦即磁區110裡面的VHD檔案123等等)。因為在主機層級快照過程中虛擬機器120、130不具有在快照程序中所涉及的相對應的寫入者,較新者,主機層級的快照包括不是應用程式一致的虛擬機器層級磁區的VHD磁區資料(如元件156、161)。然而,因為適當的虛擬機器已經製作其磁區的一應用程式一致的拷貝,在主機層級快照167裡面的VHD資料156包括先前已經建立的(亦即,由虛擬機器建立的)應用程式一致快照155。相同地,主機層級快照167裡面的VHD資料161包括先前已經建立的(亦即,由虛擬機器建立的)應用程式一致快照160。前面提過,VHD檔案123、127的主機層級快照167(173也是)裡面的VHD資料156、161整體來看時一般是毀壞一致。
在建立主機層級磁區的主機層級快照167、173時,主機100將需要從該主機層級磁區快照167、173裡面檢索虛擬機器層級快照。在一實施中,這涉及將主機層級VHD快照資料156、161轉換回相對應的虛擬機器層級快照資料1556、160。為了這樣做,主機寫入者125可使用任何適當數量的元件,先將這些主機層級和虛擬機器層級的快照,架設在該檔案系統中,以暴露出其底下的資料。例如,備份應用程式105可以設定主機寫入者125以使主機快照167、173等等(和底下的VHD檔案快照)為可寫入的(不是唯讀而已)。更者,主機寫入者125可得到該主機層級快照的裝置ID,且使用這些ID以辨識對應於被封裝的VHD檔案(如元件123、127)的不同的「裝置ID」。
在從可寫入的主機層級快照167、173裡面暴露虛擬機器VHD檔案時,之後,主機伺服器100可架設相應於一VHD檔案的各裝置ID,使得各VHD檔案在主機層級下看起來是一實體磁碟。特定而言,主機寫入者125可與一影像架設元件一起使用主機快照裡面的VHD檔案123和127的裝置ID,來辨識VHD檔案123和127裡面的各磁區。例如,第1C圖顯示該主機伺服器(例如經由主機寫入者125)發送指令175以架設裝置的ID(包括例如VHD檔案123和VHD檔案127的裝置ID等參數)。例如,在一特別關於微軟作業環境的實施中,主機100可以使用一「VHD影像架設者(VHDImageMounter)」元件來接收和執行架設指令175。
該主機快照167內部架設中的VHD檔案123、127依序可露出位在那些VHD檔案裡面的作業系統,其依序允許虛擬主機層級的快照155、160被暴露在主機伺服器100上。特定言之,在此情況下,從磁區100的主機快照167內部架設VHD檔案123、127可暴露主機快照167內不同VHD資料156、161裡面的虛擬機器層級快照155、160。因此,第1C圖也說明主機100架設在主機快照167裡面的VHD檔案123,作為磁碟機「x:\」,其暴露VHD資料156,且進一步暴露其中稍早所建立的虛擬機器層級快照資料155;且更進一步從主機快照167裡面架設VHD檔案127作為磁碟機「y:\」,其中主機快照167也包括VHD資料161,其具有暴露在其中之稍早所建立的虛擬機器層級快照資料160。
既然備份應用程式105已從該主機快照167內部架設VHD檔案123、127,應用程式105現在可以將主機層級快照167的VHD資料156、161恢復回虛擬機器層級磁區快照的VHD資料155、160。如第1D圖所示,例如,備份應用程式105使用元件介面185(例如一VSS元件介面)以恢復磁碟機「x」和「y」裡面的骯髒的和乾淨的快照資料。在一實施中,備份應用程式105使用介面185以便僅刪除或覆寫VHD資料156、161,並且以相對應的乾淨VHD資料155、160取代。
一旦做出此取代動作,備份應用程式105不僅已經更正或校正(亦即恢復、取代)VHD檔案123、127的快照資料,並且改變全部的主機層級快照167,使得其下的虛擬機器層級磁區資料現在為充分一致。亦即,主機層級快照裡面的所有的虛擬機器資料現在也被視為是應用程式一致的。進一步言之,對虛擬機器層級的快照155、160的控制已經放入對主機100的控制的備份程序中。因此,當主機100產生它的磁區快照的它自己的應用程式一致備份,此主機層級備份現在可以包括各適當經設定的虛擬機器的應用程式一致的備份。
以上所辨識的元件和程序主要是說明被辨識的虛擬機器(例如120)提供回應的情況,該回應以用於建立一致的備份的適當軟體元件指示設定組態。明確地說,這種的虛擬機器(例如120)可用很少的或不用停工期被備份。然而,如先前所提到,可能有可供替代的例子,其中一給定的虛擬機器不提供回應,因為它不正在執行中,或提供一指示它沒有被設定以產生一致備份的回應。例如,虛擬機器130可能正在執行一不包括某所需的軟體元件(如適當的應用程式寫入者(例如陰影拷貝服務的正確版版)、一適當的客人請求者(例如140)或此類)的作業系統。在這種可供替代的例子中,本發明的實施仍然可以提供至少一虛擬機器(例如130)的毀壞一致備份,其如果稍後需要確保資料是一致的時,可能會或可能不會需要至少某一隨後的停工期。
例如,主機寫入者125可呼叫一通信介面(沒有顯示)以及命令該介面存下所有虛擬機器130(和/或其它同樣有限的虛擬機器)的狀態。在一特別關於微軟作業系統的實施中,例如,主機寫入者125可呼叫一虛擬伺服器通信介面(Virtual Server Communication interface,vS COM API,沒有顯示)。當該通信介面已經完成存下虛擬機器130的狀態時,該通信介面接著便向主機寫入者125回報。特別言之,該通信介面可以將此回報給主機寫入者125,其依序允許備份應用程式105建立虛擬機器130所在相對應主機磁區(例如磁區115)上面的一快照。
除了儲存虛擬機器130的狀態,該通信介面也可使用任何適當的虛擬和/或私有的API,短暫地暫停或停止虛擬機器的運作。如果該通信介面辨識,例如,任何對虛擬機器130的狀態的改變,該通信介面可回報此資訊。這樣的一回報可依序地使該備份程序失敗,且導致在一更適當的時間重新開始。特別是,該備份應用程式105可以繼續重複這些步驟直到備份應用程式105已經完成以所想要的一致性的狀態建立磁區115的快照為止。
一旦備份運作完成,主機100因此已經建立磁區110以及它相對應虛擬機器(例如130)的一應用程式一致(亦即,至少是毀壞一致)的拷貝。我們可以瞭解此磁區115的拷貝不止可為毀壞一致,也可為關於該VHD檔案的狀態的「VHD一致」。特別地是,存下虛擬機器的狀態可提供一在稍後所需的時間點上可以成功地被恢復之有效的和一致的VHD檔案。
仍然在另一實施中,根據本發明的元件更進一步可包括一硬體提供者的使用,以提供許多先前所述的一致快照功能。當使用硬體提供者時,例如一「VSS硬體提供者」(例如一plex/mirror提供者),磁區110、115儲存體可以常駐一正在被鏡射(mirrored)的磁碟陣列上的個別位置處。當到了建立該主機層級快照(亦即虛擬機器的非應用程式一致)的時間時,該硬體提供者可僅「切斷」該磁區與其相對應鏡射之間的鏡射。此可暴露該主機層級的快照,成為一個別的、獨立的磁碟裝置。備份應用程式105接著呼叫任一數量的虛擬磁碟服務(Virtual Disk Service,VDS)和/或磁碟陰影拷貝服務(VSS)API以使該磁區的鏡射為可寫入的、處理該磁區的鏡射,以及接著暴露和展出其下乾淨(亦即應用程式一致)的快照資料155、160。此種硬體的解決辦法也可以遠端連接的儲存磁碟方式使用(例如一儲存區域網路(Storage Area Network,SAN)環境中以建立分散在數個儲存媒體上的虛擬機器的應用程式一致的備份。
本發明的實施更可以包括使用例如客人請求者140建立一特別虛擬機器(如120)裡面一硬體可傳輸的、應用程式一致的的快照。一例如在虛擬機器120裡面的一經設定用於SAN磁區的快照的元件(例如一適當地經設定的VSS元件)可以建立附屬於該客人(例如虛擬機器120、130)的一遠端磁區的一涉及寫入者的快照(未顯示),其中沒有主機伺服器100的VHD檔案。客人請求者140接著可匯入該快照,並且使該快照顯現(surface)成為在該主機伺服器上的一個別的邏輯單元數字(Logical Unit Number,LUN)。主機寫入者125接著可以要求備份應用程式105(亦即一主機請求者)備份該LUN,成為正在備份中的虛擬機器120的一部份。備份應用程式105接著可以備份整個LUN(亦即該客人或虛擬機器層級的快照),使得以例如虛擬機器的主機層級快照的恢復(reversion)是不需要的。
因此,第1A至1D圖和相對應的上下文提供一些用於以一致方法提供有效的虛擬機器的主機層級備份的系統、元件和介面。除了上述之外,本發明的實施可依據包括一或更多用於完成一特殊結果的動作的方法來描述。例如,第2圖從主機100和虛擬機器120的觀點說明用於建立虛擬機器的主機層次、應用程式一致的備份的流程圖。係以第1A至1D圖的系統和元件說明以下第2圖的方法和對應的動作。
例如,第2圖顯示一種從主機100的觀點,不必然需要停止或暫停一或更多虛擬機器,建立一或更多虛擬機器各者的一應用程式一致的備份的的方法,包括一用以辨識主機上一或更多虛擬機器的動作210。動作210包括辨識至少一具有一或更多涉及寫入者備份程序的元件的虛擬機器。例如,備份應用程式105(亦即「主機請求者」105(經由訊息103)詢問主機寫入者125在主機100上呈現哪些虛換機器,這些虛擬機器的哪一個可以以應用程式一致的方法(亦即只需要一點點或不需要停工期)被備份起來。
主機寫入者125,例如一VSS寫入者,將相對應版本的請求11傳送至各虛擬機器(例如120、130),並且辨識那個軟體元件用於協助備份程序(例如客人請求者140),例如用於建立應用程式一致的備份的元件。主機寫入者125接者將相對應的回應113傳送給備份應用程式105。備份應用程式105接著(例如透過判定模組107)使用應用程式一致方法(亦即「用以備份的VM」,其包括適當的元件),判定所辨識的虛擬機器的哪一個可以被備份,以及使用不包括適當的元件或被關掉的其它的方法(亦即,以某一停工期來備份的VM)要被備份起來的那些虛擬機器。
因此,第2圖更進一步說明一種從虛擬機器120的觀點建立一或更多虛擬機器磁區的一致備份的方法,包括一接收一請求以辨識元件的動作210。動作210包括從一主機寫入者接收一請求以辨識可獲得的軟體元件。例如,虛擬機器210(如經由客人請求者140)接收版本請求110,其包括一請求以辨識虛擬機器120是否包括一客人請求者以及一或更多應用程式寫入者(和/或其上適當的版本),因為這些將是適合用於建立一應用程式一致的備份的元件。虛擬機器120接著回傳一相對應的回應,其由主機寫入者125格式化後成為一訊息113且傳送至備份應用程式105。
此外,第2圖說明該種由主機100的觀點的方法包括一將備份請求傳送至該組虛擬機器的動作。動作220包括將一指令傳送至該一或更多虛擬機器的各者以準備一或更多虛擬機器磁區的一或更多機器層級的快照。如第1B圖所示,例如,備份應用程式105將備份虛擬機器的指令117a傳送至主機寫入者125,其中虛擬機器120為一組虛擬機器的一部份,該虛擬機器具有用於以很少或無停工期的方式建立應用程式一致的快照的適當元件。主機寫入者125依序將起始涉及寫入者備份準備的指令117b傳送給在虛擬機器上的客人請求者140。
因此,第2圖說明該從虛擬機器120的觀點實施的方法,其包括一從一主機寫入者接收一快照請求的動作230。動作230包括從該主機寫入者接收一請求以建立該虛擬機器以至少一可獲得的軟體元件所主持的一或更磁區的快照。例如,客人請求者140從主機寫入者125接收訊息117b,其中訊息117b包括用以開始涉及寫入者的快照程序的請求。因此,虛擬機器將開始準備由各VHD檔案(例如123、127等等)所管理的它的磁區的快照。
此外,第2圖說明該從虛擬機器的觀點實施的方法,其包括一將備份指令傳送至一或更多應用程式寫入者的動作240。動作240包括將指令傳送至在該虛擬機器上的一或更多應用程式,以準備用於一快照的一或更多虛擬機器應用程式。例如,第1B圖說明客人請求者140將訊息117c傳送至VHD檔案123、127裡面的磁區上的應用程式寫入者(未顯示)。在一實施中,這將涉及將請求傳送至對應於如資料庫、電子郵件或其它相似的應用程式的應用程式,以準備該恰當的磁區的快照。
更進一步而言,第2圖說明該從虛擬機器120的觀點實施的方法,其包括一將一指示該虛擬機器快照完成的訊號的動作250。動作250包括將一訊號傳送至該主機寫入者,該訊號表示用於一或更多被主持在虛擬機器裡面的磁區各者的快照操作已經完成。例如,在虛擬機器快照動作完成時,客人請求者立即將一完成訊號(未顯示)發送給主機寫入者125。為了回應這個訊號主機寫入者125接著可將訊息157傳送至備份應用程式105,該訊息告訴備份應用程式105結束主機層級快照操作。
因此,第2圖也說明該從主機100的觀點實施的方法,其包括一辨識該虛擬機器快照的完成的動作260。動作260包括辨識在該至少一虛擬機器的快照操作是否已經完成。例如,如先前所述,主機寫入者125發送指示虛擬機器層級的快照已經完成的訊息157。
此外,第2圖說明該從主機100的觀點實施的方法,其包括一建立一或更多主機層級快照的動作270。動作270包括建立一或更多主機磁區(其上被安裝至少一虛擬機器)的一或更多主機層級的快照。例如,備份應用程式105傳送指令(例如135)以進行在主機磁區110、115的備份程序。如第1B圖所示,這可導致一包括非應用程式一致的VHD檔案123、127以及資料156、161。如此處所討論者,該主機層級的快照167的不同的VHD資料(雖然對於VHD檔案123、127來說,其不必然是應用程式一致的),然而其包括先前所建立的應用程式一致的VHD快照資料155、160。特定言之,磁區110的主機層級快照167可能在所有的方面都是應用程式一致的,除了VHD檔案123、127以外等。
在另一實施中,例如以硬體提供者的方式,在被鏡射主機層級磁區的情況,主機層級快照可以由破壞其上安裝虛擬機器的主機磁區與相對應的鏡射磁區間的鏡射產生主機層級的快照。該鏡射磁區因此包括該主機磁區的一快照。此快照也包括它的一或更多磁區的先前被拍下的虛擬層級快照,其中該虛擬機器層級快照是應用程式一致的。因此可由該主機的鏡射磁區取回該虛擬機器層級快照。
更進一步來說,第2圖說明該從主機100的觀點實施的方法,其包括一取回封裝在該主機快照的VHD檔案裡面的虛擬機器層級快照的動作280。動作280包括從該一或更多主機磁區的一或更多主機層級快照取回該一或更多虛擬機器磁區的一或更多虛擬機器層級快照。例如,如第1D圖所示,主機100能以虛擬機器層級的VHD快照資料155(例如透過一VSS元件)取代VHD 123裡面的主機層級VHD快照資料156。相同地,主機100能以虛擬機器層級的VHD快照資料160(例如透過一VSS元件)取代VHD 127裡面的主機層級VHD快照資料161。或者,在一硬體提供者的情況下(亦即破壞一主機磁區與一鏡射磁區間的鏡射),可以從已架設的鏡射磁區露出和取回該虛擬機器層級快照,先前已經說明過這個情形。在任一情況中,該主機層級備份資料(例如195)因此可以至少一部份是基於虛擬機器層級快照資料。
因此,第1A至2圖以及其相對應的上下文字,提供多個被用於適當地建立一或更多主機磁區上虛擬機器的一致備份拷貝的系統、元件、機制。如這裡所述,根據本發明的元件可被用於建立不需要虛擬機器的停工期,也不需要購買需要個別安裝與管理的額外備份代理軟體。進一步地說,此處所說明的元件可以利用傳統的陰影拷貝服務以產生一虛擬機器的一致性快照。
本發明的實施例可包括一特別的目的或包括各種電腦硬體的一般目的電腦,將在以下作詳細說明在本發明範圍內的實施例也包括用於其上攜帶或具有的電腦可執行指令或資料結構的電腦可讀取的媒體這種的電腦可讀取的媒體可為任何被一般目的或特殊目的電腦所存取的媒體。
經由範例,但不是限制,這種電腦可讀取的媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光學碟儲存體、磁碟儲存體或其它磁性儲存裝置,或任何可被用來以電腦可執行指令或是資料結構的方法攜帶或儲存所想要的程式碼方碼以及可被一般性或特殊目的電腦所存取的其它媒體當透過網路或另一通信連線(固線式(hardwired)、無線之一或固線式或無線之組合)的方法提供資訊給一電腦,該電腦所當然地將該連線視為一電腦可讀取的媒體。因此,任何這種的連線理所當然地被稱為一電腦可讀取的媒體。以上的組合也應該落入電腦可讀的媒體的範疇內。
電腦可執行的指令包括例如導致一般性目的電腦、特殊目的的電腦或特殊目的處理裝置,以執行某一功能或某一類功能。雖然標的以經以結構特徵和/或方法動作(methodologic acts)所獨有的語言來說明,要瞭解的是在所附申請專利範圍中所定義之本標的並不必然限制於以上所說明之具體的特徵或動作。反之,以上所說明之該具體特徵和方法被揭露成為實施該申請專利範圍的範例。
本發明得以其它特定的形式來實現,而不會違背其精神或基本的特徵。所說明的實施例將要以所有方面來考慮,其僅係作為例示之用,而非限制之用。因此,本發明的範圍係以所附的申請專利範圍來指示,而非由前述的說明來指示。所有落入本專利範圍均等意義與範圍的改變,將是包含於它們的範圍內。
100...主機伺服器
103...請求
105...備份應用程式
107...判定模組
110...磁區
111...訊息
115...磁區
117a...指令
117b...通信
117c...虛擬機器內部訊息
120...虛擬機器
123...VHD檔案
125...主機寫入者
127...VHD檔案
130...虛擬機器
133...VHD檔案
135...訊號
137...VHD檔案
140...客人請求者
145...磁區資料
150...資料
155...應用程式一致的拷貝
156...應用程式一致的拷貝
157...訊息
160...快照資料
161...快照資料
165...資料
167...快照
170...資料
173...快照
175...指令
180...主機磁碟
185...元件介面
190...通信
195...主機層級備份資料
200...以適當的元件辨識一或更多虛擬機器
210...接收一辨識元件的請求
220...將一指令傳送至該虛擬機器以建立快照
230...從一主機寫入者接收一備份請求
240...將備份指令傳送至一或更多應用程式寫入者
250...傳送醫指示虛擬機器快照已完成的訊號
260...辨識虛擬機器快照是否完成
270...建立一或更多主機層級快照
280...取回虛擬機器層級快照
為了要說明獲得以上所述者以及本發明的其它優點和特徵的方法,對上面簡短所述之本發明的更詳細的說明藉由參考附圖中所說明的特定實施例來產生。要瞭解這些圖示僅描述本發明典型的實施例,並不因此被視為限縮了它的範圍,將會透過使用所負的圖示以額外的具體性和細節描述和解釋本發明,其中:第1A圖係根據本發明的一實施說明一整體的概圖,其中一主機層級備份應用程式辨識一或更多虛擬機器哪一個可以一致的方法作備份。
第1B圖係根據本發明的一實施說明第1A圖的元件,其中該主機伺服器與一虛擬機器中的一虛擬機器層級客人請求者一起起動備份程序。
第1C圖說明第1A至1B圖的元件,其中該主機伺服請求者建立一或更多虛擬機器在上面安裝的主機磁區的快照,使得該主機層級快照也包含該虛擬機器磁區資料,其依序包含稍早由該虛擬機器所執行的虛擬機器層級快照。
第1D圖根據本發明的一實施說明一整體的概圖,其中在第1A至1C圖所說明的備份應用程式取回其中具有虛擬機器層級快照資料的主機層級快照資料。
第2圖從透視用以提供安裝在一或更多主機伺服磁區上的虛擬機器的應用程式一致備份的一主機伺服器和一虛擬機器說明根據本發明的一實施包括一系列動作的方法的流程圖。
100...主機伺服器
103...請求
105...備份應用程式
107...判定模組
110...磁區
111...訊息
120...虛擬機器
123...VHD檔案
125...主機寫入者
127...VHD檔案
130...虛擬機器
133...VHD檔案
137...VHD檔案

Claims (20)

  1. 一種在一電腦化環境中之一主機伺服器處建立虛擬機器磁區資料的一應用程式一致(application-consistent)備份的方法,而不必然需要停止或重新開啟一或更多虛擬機器,該主機伺服器具有安裝在一或更多主機磁區上的該一或更多虛擬機器,該等虛擬機器係經設定以管理該一或更多主機磁區上的一或更多虛擬機器磁區,該方法包括以下動作:辨識至少一個虛擬機器,該至少一虛擬機器具有用於涉及寫入者備份程序的一或更多元件;將一指令傳送給該至少一個虛擬機器,以準備相對應的一或更多虛擬機器磁區的一或更多虛擬機器層級快照;辨識在該至少一個虛擬機器上的快照操作是否已經完成;建立一或更多主機磁區的一或更多主機層級快照,該一或更多主機磁區上安裝該至少一個虛擬機器;從該一或更多主機磁區的該一或更多主機層級快照取回該一或更多虛擬機器磁區的該一或更多虛擬機器層級快照。
  2. 如申請專利範圍第1項所述之方法,其中該一或更多虛擬機器磁區的該等虛擬機器層級快照係為應用程式一致。
  3. 如申請專利範圍第2項所述之方法,其中該主機層級快照包括該一或更多虛擬主機磁區的一或更多不同快照,該方法更包括以下動作:以該一或更多虛擬機器磁區的一或更多虛擬機器層級快照的資料來取代該一或更多主機層級快照裡面的該一或更多不同快照的資料。
  4. 如申請專利範圍第1項所述之方法,更包括以下動作:將該一或更多主機層級快照從唯讀資料轉換成可寫入資料。
  5. 如申請專利範圍第1項所述之方法,其中一主機請求者將一備份指令經由一主機寫入者傳遞至該一或更多虛擬機器各者中的一客人請求者。
  6. 如申請專利範圍第1項所述之方法,其中該一或更多虛擬機器層級磁區是在一或更多虛擬磁碟檔案中進行管理,使得各個不同快照包括一虛擬磁碟檔案的一快照,該虛擬磁碟檔案中具有一虛擬機器層級快照。
  7. 如申請專利範圍第6項所述之方法,更包括以下動作:架設對應於該一或更多不同快照各者的一裝置識別符,其中該至少一虛擬機器的各虛擬硬碟檔案係作為該主 機上的一實體磁碟。
  8. 如申請專利範圍第1項所述之方法,更包括以下動作:辨識其中用於涉及寫入者備份程序的該一或更多元件無法辨識的一或更多不同虛擬機器。
  9. 如申請專利範圍第8項所述之方法,更包括以下動作:辨識該一或更多不同虛擬機器是否已經成為已儲存或已關閉之一者。
  10. 如申請專利範圍第8項所述之方法,其中辨識其中該一或更多元件無法辨識的一或更多不同虛擬機器的該動作更包括以下動作:辨識不包括經適當設定的一客人請求者和經適當設定的一虛擬機器層級應用程式寫入者中之至少一者的該一或更多不同虛擬機器。
  11. 如申請專利範圍第8項所述之方法,更包括以下動作:儲存該一或更多不同虛擬機器的各者之狀態。
  12. 如申請專利範圍第11項所述之方法,更包括以下動作:至少暫時地暫停該一或更多不同虛擬機器的操作。
  13. 如申請專利範圍第12項所述之方法,更包括以下 動作:當辨識出該狀態已經儲存時,便為各主機磁區建立一快照,各主機磁區上安裝該一或更多不同虛擬機器。
  14. 如申請專利範圍第13項所述之方法,更包括以下動作:命令該一或更多不同虛擬機器各者繼續(resume)操作。
  15. 如申請專利範圍第1項所述之方法,其中該一或更多主機磁區係被實作在由一或更多外部儲存單元所主控的一或更多磁碟中,該一或更多主機磁區上安裝該至少一個虛擬機器,該一或更多外部儲存元件係使用下列至少之一而經設定以建立該一或更多外部磁碟的一或更多快照:(i)以硬體為基礎而建立快照的一方法;(ii)由一或更多儲存陣列作用之一建立快照方法。
  16. 如申請專利範圍第15項所述之方法,其中建立一或更多主機磁區的一或更多主機層級快照的該動作允許該一或更多主機層級快照可在該主機伺服器上獨立地被管理,其中該一或更多主機層級快照可轉換為個別的讀寫磁區,且其中該一或更多虛擬機器層級快照可以從該一或更多主機層級快照中取回。
  17. 一種在一電腦化環境之一虛擬機器上為回應來自 該主機伺服器的一主機寫入者的指令而建立一或更多虛擬機器磁區之一應用程式一致備份的方法,其中該虛擬機器安裝在一主機伺服器磁區上,該方法包括以下動作:從一主機寫入者接收一請求,以辨識可利用的軟體元件;從該主機寫入者接收一請求,以藉由該等可利用的軟體元件之至少一者來建立由該虛擬機器所主控的一或更多磁區的一快照;將指令傳送至該虛擬機器上的一或更多應用程式寫入者,以準備該快照相對應的一或更多虛擬機器應用程式;及將一信號至該主機寫入者,該信號係指示由該虛擬機器所主控的一或更多磁區之各者的快照操作已完成。
  18. 如申請專利範圍第17項所述之方法,其中該至少一個可利用的軟體元件是以該虛擬機器所安裝的一客人請求者,其中該客人請求者從該主機寫入者接收該請求,並且將該等指令傳送至該一或更多應用程式寫入者。
  19. 如申請專利範圍第17項所述之方法,其中該一或更多虛擬機器磁區中的至少一者係常駐在一網路儲存媒體,該方法更包括以下動作:透過一網路將該至少一個磁區的一快照從該網路儲存 媒體匯入至該主機伺服器;及將在該主機伺服器的該快照顯現(surface)為一邏輯單元號碼,其中該主機伺服器可將對應於該邏輯單元號碼的該快照備份為一致的資料。
  20. 一種在一電腦化環境之一主機伺服器上之電腦程式產品,該主機伺服器上具有一或更多虛擬機器安裝於其上,該電腦程式產品具有電腦可執行指令儲存於其上,當該等指令被執行時,使該主機伺服器之一或更多處理器實施在不必然需要停止或重開啟該一或更多虛擬機器的情況下,建立該一或更多虛擬機器各者的一應用程式一致備份的一方法,該方法包括以下動作:辨識至少一個虛擬機器,該至少一個虛擬機器具有用於涉及寫入者備份程序的一或更多元件;將一指令傳送給該至少一個虛擬機器,以準備相對應的一或更多虛擬機器磁區的一或更多虛擬機器層級快照;辨識在該至少一個虛擬機器上的快照操作是否已經完成;建立一或更多主機磁區的一或更多主機層級快照,該一或更多主機磁區上安裝該至少一個虛擬機器;從該一或更多主機磁區的該一或更多主機層級快照中取回該一或更多虛擬機器磁區的該一或更多虛擬機器層級快照。
TW096107046A 2006-04-17 2007-03-01 用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品 TWI438689B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/405,236 US8321377B2 (en) 2006-04-17 2006-04-17 Creating host-level application-consistent backups of virtual machines

Publications (2)

Publication Number Publication Date
TW200809626A TW200809626A (en) 2008-02-16
TWI438689B true TWI438689B (zh) 2014-05-21

Family

ID=38606087

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096107046A TWI438689B (zh) 2006-04-17 2007-03-01 用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品

Country Status (14)

Country Link
US (3) US8321377B2 (zh)
EP (1) EP2016501B1 (zh)
JP (1) JP5021721B2 (zh)
KR (2) KR101330495B1 (zh)
CN (1) CN101421715B (zh)
AU (1) AU2007248869B2 (zh)
BR (1) BRPI0710003B1 (zh)
CA (1) CA2645969C (zh)
ES (1) ES2639417T3 (zh)
MX (1) MX2008013132A (zh)
MY (1) MY154949A (zh)
RU (1) RU2433458C2 (zh)
TW (1) TWI438689B (zh)
WO (1) WO2007130192A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI584131B (zh) * 2015-12-14 2017-05-21 財團法人工業技術研究院 伺服器備份方法及其備份系統

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676502B2 (en) * 2006-05-22 2010-03-09 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US7698401B2 (en) 2004-06-01 2010-04-13 Inmage Systems, Inc Secondary data storage and recovery system
US9209989B2 (en) * 2004-06-01 2015-12-08 Inmage Systems, Inc. Causation of a data read operation against a first storage system by a server associated with a second storage system according to a host generated instruction
US7979656B2 (en) 2004-06-01 2011-07-12 Inmage Systems, Inc. Minimizing configuration changes in a fabric-based data protection solution
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US8868858B2 (en) * 2006-05-19 2014-10-21 Inmage Systems, Inc. Method and apparatus of continuous data backup and access using virtual machines
US8055745B2 (en) * 2004-06-01 2011-11-08 Inmage Systems, Inc. Methods and apparatus for accessing data from a primary data storage system for secondary storage
US8224786B2 (en) * 2004-06-01 2012-07-17 Inmage Systems, Inc. Acquisition and write validation of data of a networked host node to perform secondary storage
US8601225B2 (en) * 2005-09-16 2013-12-03 Inmage Systems, Inc. Time ordered view of backup data on behalf of a host
US8683144B2 (en) * 2005-09-16 2014-03-25 Inmage Systems, Inc. Causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery
US8321377B2 (en) * 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US8554727B2 (en) * 2006-05-19 2013-10-08 Inmage Systems, Inc. Method and system of tiered quiescing
US8527470B2 (en) 2006-05-22 2013-09-03 Rajeev Atluri Recovery point data view formation with generation of a recovery view and a coalesce policy
US8838528B2 (en) * 2006-05-22 2014-09-16 Inmage Systems, Inc. Coalescing and capturing data between events prior to and after a temporal window
US8527721B2 (en) * 2008-12-26 2013-09-03 Rajeev Atluri Generating a recovery snapshot and creating a virtual view of the recovery snapshot
JP4681505B2 (ja) * 2006-05-23 2011-05-11 株式会社日立製作所 計算機システム、管理計算機及びプログラム配布方法
US7634507B2 (en) * 2006-08-30 2009-12-15 Inmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems
US7689859B2 (en) 2006-12-20 2010-03-30 Symantec Operating Corporation Backup system and method
JP4982249B2 (ja) * 2006-12-22 2012-07-25 株式会社日立製作所 運用整合性維持方法、システム及びプログラム
US8554734B1 (en) * 2007-07-19 2013-10-08 American Megatrends, Inc. Continuous data protection journaling in data storage systems
US8458419B2 (en) * 2008-02-27 2013-06-04 International Business Machines Corporation Method for application backup in the VMware consolidated backup framework
US9356805B2 (en) * 2008-06-06 2016-05-31 International Business Machines Corporation Implementing a plurality of interface definitions
US8522135B2 (en) * 2008-06-06 2013-08-27 International Business Machines Corporation Generating a transformation description document for transforming messages
EP2304568B1 (en) 2008-06-06 2013-08-14 Pivot3 Method and system for distributed raid implementation
US8219750B2 (en) * 2008-06-30 2012-07-10 Pivot3 Method and system for execution of applications in conjunction with distributed RAID
US8060476B1 (en) 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US8046550B2 (en) * 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8135930B1 (en) 2008-07-14 2012-03-13 Vizioncore, Inc. Replication systems and methods for a virtual computing environment
US8028194B2 (en) * 2008-07-25 2011-09-27 Inmage Systems, Inc Sequencing technique to account for a clock error in a backup system
US20100031079A1 (en) * 2008-07-29 2010-02-04 Novell, Inc. Restoration of a remotely located server
US7966290B2 (en) * 2008-07-29 2011-06-21 Novell, Inc. Backup without overhead of installed backup agent
US20100058106A1 (en) * 2008-08-27 2010-03-04 Novell, Inc. Virtual machine file system and incremental snapshot using image deltas
US8429649B1 (en) 2008-09-25 2013-04-23 Quest Software, Inc. Systems and methods for data management in a virtual computing environment
US8499297B2 (en) 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
US8707299B1 (en) * 2008-11-14 2014-04-22 Symantec Corporation Method and apparatus for preserving virtual desktops for e-discovery through an agent-less solution
US8069227B2 (en) * 2008-12-26 2011-11-29 Inmage Systems, Inc. Configuring hosts of a secondary data storage and recovery system
US8205050B2 (en) * 2009-04-14 2012-06-19 Novell, Inc. Data backup for virtual machines
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
JP5227887B2 (ja) * 2009-05-21 2013-07-03 株式会社日立製作所 バックアップ管理方法
US8219990B2 (en) * 2009-05-28 2012-07-10 Novell, Inc. Techniques for managing virtual machine (VM) states
US9778946B2 (en) 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
US8438349B2 (en) * 2009-08-21 2013-05-07 Symantec Corporation Proxy backup of virtual disk image files on NAS devices
CN102025758B (zh) * 2009-09-18 2014-06-04 华为数字技术(成都)有限公司 分布式系统中数据副本的恢复方法、装置和系统
US8856080B2 (en) * 2009-10-30 2014-10-07 Microsoft Corporation Backup using metadata virtual hard drive and differential virtual hard drive
US8726275B2 (en) * 2009-12-18 2014-05-13 International Business Machines Corporation Selective partial cloning of virtual machines in a virtual computing environment
JP5440273B2 (ja) * 2010-03-09 2014-03-12 富士通株式会社 スナップショット管理方法、スナップショット管理装置、及びプログラム
US8255508B2 (en) 2010-03-24 2012-08-28 International Business Machines Corporation Administration of virtual machine affinity in a data center
US9367362B2 (en) 2010-04-01 2016-06-14 International Business Machines Corporation Administration of virtual machine affinity in a cloud computing environment
US8572612B2 (en) 2010-04-14 2013-10-29 International Business Machines Corporation Autonomic scaling of virtual machines in a cloud computing environment
US8326803B1 (en) * 2010-05-06 2012-12-04 Symantec Corporation Change tracking of individual virtual disk files
TWI486759B (zh) * 2010-05-14 2015-06-01 Alibaba Group Holding Ltd Subversion configuration library backup method and device
CN102255741B (zh) * 2010-05-21 2015-09-16 中兴通讯股份有限公司 用户业务信息备份方法和装置
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US20120005672A1 (en) * 2010-07-02 2012-01-05 International Business Machines Corporation Image management for virtual machine instances and associated virtual storage
US8434081B2 (en) 2010-07-02 2013-04-30 International Business Machines Corporation Storage manager for virtual machines with virtual storage
WO2012020482A1 (ja) 2010-08-11 2012-02-16 富士通株式会社 バックアップ方法、情報処理装置及びプログラム
US8898114B1 (en) 2010-08-27 2014-11-25 Dell Software Inc. Multitier deduplication systems and methods
US8677004B2 (en) * 2010-09-10 2014-03-18 International Business Machines Corporation Migration of logical partitions between two devices
US9037547B1 (en) * 2010-09-15 2015-05-19 Symantec Corporation Backup time deduplication of common virtual disks from virtual machine backup images
US20120072685A1 (en) * 2010-09-16 2012-03-22 Hitachi, Ltd. Method and apparatus for backup of virtual machine data
KR101731422B1 (ko) 2010-10-04 2017-04-28 삼성전자주식회사 가상화 환경에서의 장애 복구 장치 및 방법
US8417672B2 (en) * 2010-10-11 2013-04-09 Microsoft Corporation Item level recovery
US9141368B2 (en) 2011-03-10 2015-09-22 Microsoft Technology Licensing, Llc Managing boot loaders for virtual hard disks
US8892707B2 (en) * 2011-04-13 2014-11-18 Netapp, Inc. Identification of virtual applications for backup in a cloud computing system
US8725782B2 (en) * 2011-04-25 2014-05-13 Microsoft Corporation Virtual disk storage techniques
US9519496B2 (en) 2011-04-26 2016-12-13 Microsoft Technology Licensing, Llc Detecting and preventing virtual disk storage linkage faults
US9021475B2 (en) * 2011-05-04 2015-04-28 Citrix Systems, Inc. Systems and methods for SR-IOV pass-thru via an intermediary device
US8868882B2 (en) 2011-06-08 2014-10-21 Microsoft Corporation Storage architecture for backup application
US9286182B2 (en) 2011-06-17 2016-03-15 Microsoft Technology Licensing, Llc Virtual machine snapshotting and analysis
US9785523B2 (en) * 2011-06-20 2017-10-10 Microsoft Technology Licensing, Llc Managing replicated virtual storage at recovery sites
EP2674866A4 (en) * 2011-06-23 2015-03-18 Hitachi Ltd STORAGE ADMINISTRATION SYSTEM AND STORAGE DELIVERY METHOD
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US8549518B1 (en) 2011-08-10 2013-10-01 Nutanix, Inc. Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment
US8850130B1 (en) 2011-08-10 2014-09-30 Nutanix, Inc. Metadata for managing I/O and storage for a virtualization
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9652265B1 (en) * 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US8863124B1 (en) 2011-08-10 2014-10-14 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
GB2507226B (en) 2011-08-30 2020-04-22 Hewlett Packard Development Co Virtual high privilege mode for a system management request
JP5134149B1 (ja) * 2011-09-26 2013-01-30 株式会社北洋銀行 ネットワークシステム及びその制御方法
CN102346697A (zh) * 2011-09-27 2012-02-08 宇龙计算机通信科技(深圳)有限公司 一种安卓安装包的备份与恢复的方法、系统及移动终端
CN103107905B (zh) * 2011-11-14 2017-08-04 华为技术有限公司 异常处理方法、装置和客户端
CN102521071B (zh) * 2011-11-24 2013-12-11 广州杰赛科技股份有限公司 一种基于私有云的虚拟机维护方法
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US9773006B1 (en) * 2012-02-15 2017-09-26 Veritas Technologies Llc Techniques for managing non-snappable volumes
JP5966466B2 (ja) * 2012-03-14 2016-08-10 富士通株式会社 バックアップ制御方法、および情報処理装置
CN103797461B (zh) * 2012-03-29 2016-03-16 株式会社北洋银行 网络系统
US8719286B1 (en) 2012-03-30 2014-05-06 Emc Corporation System and method for block-based subtree virtual machine backup
US8751515B1 (en) 2012-03-30 2014-06-10 Emc Corporation System and method for file-based virtual machine incremental backup
US9110604B2 (en) 2012-09-28 2015-08-18 Emc Corporation System and method for full virtual machine backup using storage system functionality
US9104331B2 (en) * 2012-09-28 2015-08-11 Emc Corporation System and method for incremental virtual machine backup using storage system functionality
WO2013157124A1 (ja) * 2012-04-19 2013-10-24 株式会社日立製作所 ライセンス管理システム、管理サーバ及び管理方法
US10353619B1 (en) * 2012-06-11 2019-07-16 Veritas Technologies Llc Systems and methods for applying storage lifecycle policies to backups
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
CN103593256B (zh) * 2012-08-15 2017-05-24 阿里巴巴集团控股有限公司 一种基于多层排重的虚机快照备份方法和系统
US9778860B2 (en) 2012-09-12 2017-10-03 Microsoft Technology Licensing, Llc Re-TRIM of free space within VHDX
CN104662522B (zh) * 2012-09-28 2018-11-02 Emc 公司 使用存储系统功能性的全虚拟机备份的系统和方法
US9262212B2 (en) 2012-11-02 2016-02-16 The Boeing Company Systems and methods for migrating virtual machines
US9069708B2 (en) * 2012-12-27 2015-06-30 Nutanix, Inc. Method and system for implementing consistency groups with virtual machines
CN103902351A (zh) * 2012-12-28 2014-07-02 鸿富锦精密工业(深圳)有限公司 虚拟机运算系统及方法
CN104216793B (zh) * 2013-05-31 2017-10-17 国际商业机器公司 应用程序备份、恢复的方法及设备
JP6115331B2 (ja) 2013-06-06 2017-04-19 富士通株式会社 トランザクション再開プログラム、情報処理装置及びトランザクション再開方法
US9665386B2 (en) * 2013-06-14 2017-05-30 Nutanix, Inc. Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment
US9740514B1 (en) 2013-06-26 2017-08-22 Nutanix, Inc. Method and system to share data with snapshots in a virtualization environment
US9262448B2 (en) * 2013-08-12 2016-02-16 International Business Machines Corporation Data backup across physical and virtualized storage volumes
US9858154B1 (en) * 2013-08-23 2018-01-02 Acronis International Gmbh Agentless file backup of a virtual machine
US9652178B2 (en) 2013-09-10 2017-05-16 Veritas Technologies Systems and methods for protecting virtual machine data
CN103501290B (zh) * 2013-09-18 2017-10-24 万达信息股份有限公司 一种基于动态备份虚拟机的高可靠服务系统构建方法
CN103593226A (zh) * 2013-11-04 2014-02-19 国云科技股份有限公司 一种提高虚拟机磁盘io性能的方法
CN104809020B (zh) * 2013-11-20 2018-05-11 华为技术有限公司 一种生成快照的方法、系统和装置
EP2955637B1 (en) * 2013-11-20 2017-08-16 Huawei Technologies Co., Ltd. Method, system and apparatus for generating snapshot
CN104793982A (zh) * 2014-01-20 2015-07-22 联想(北京)有限公司 一种创建虚拟机的方法和设备
TWI506418B (zh) * 2014-03-03 2015-11-01 Synology Inc 備份裝置及運作方法
US11243707B2 (en) 2014-03-12 2022-02-08 Nutanix, Inc. Method and system for implementing virtual machine images
US9092376B1 (en) * 2014-08-29 2015-07-28 Nimble Storage, Inc. Methods and systems for ordering virtual machine snapshots
US9778990B2 (en) 2014-10-08 2017-10-03 Hewlett Packard Enterprise Development Lp Methods and systems for concurrently taking snapshots of a plurality of virtual machines
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US9727252B2 (en) 2014-11-13 2017-08-08 Hewlett Packard Enterprise Development Lp Methods and systems for optimal snapshot distribution within a protection schedule
US9817686B2 (en) 2014-12-09 2017-11-14 The Boeing Company Systems and methods for securing virtual machines
US10289495B1 (en) * 2014-12-19 2019-05-14 EMC IP Holding Company LLC Method and system for performing an item level restore from a backup
US10606704B1 (en) * 2014-12-31 2020-03-31 Acronis International Gmbh Creation of consistent copies of application data
JP6069395B2 (ja) * 2015-04-02 2017-02-01 株式会社日立製作所 管理計算機
US10846195B2 (en) * 2015-10-05 2020-11-24 Unisys Corporation Configuring logging in non-emulated environment using commands and configuration in emulated environment
US10180886B2 (en) 2015-11-16 2019-01-15 Red Hat, Inc. Recreating a computing environment using tags and snapshots
US10114702B2 (en) * 2016-01-06 2018-10-30 International Business Machines Corporation Method and system to discover and manage distributed applications in virtualization environments
US10467103B1 (en) 2016-03-25 2019-11-05 Nutanix, Inc. Efficient change block training
JP6810163B2 (ja) * 2016-05-02 2021-01-06 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 仮想ネットワーク環境におけるスナップショット生成
US10613947B2 (en) 2016-06-09 2020-04-07 Nutanix, Inc. Saving and restoring storage devices using application-consistent snapshots
US10146471B1 (en) * 2016-06-27 2018-12-04 Emc Corporation Offloaded data protection based on virtual machine snapshots
US10241713B2 (en) 2016-09-01 2019-03-26 Red Hat Israel, Ltd. Snapshot management with an external storage service
US10379750B2 (en) * 2017-05-22 2019-08-13 Sap Se Processing large requests in data storage systems with limited/constant buffer sizes
US10417096B2 (en) * 2017-07-20 2019-09-17 Vmware, Inc. Multi-virtual machine time consistent snapshots
US10824522B2 (en) 2017-11-27 2020-11-03 Nutanix, Inc. Method, apparatus, and computer program product for generating consistent snapshots without quiescing applications
CN107995319B (zh) * 2018-01-08 2021-05-18 迈普通信技术股份有限公司 虚拟设备配置方法及网络设备
CN110058962B (zh) * 2018-01-18 2023-05-23 伊姆西Ip控股有限责任公司 确定虚拟机快照的一致性级别的方法、设备和计算机程序产品
US11232001B2 (en) * 2018-01-29 2022-01-25 Rubrik, Inc. Creation of virtual machine packages using incremental state updates
US10838823B2 (en) * 2018-02-01 2020-11-17 EMC IP Holding Company LLC Systems and method to make application consistent virtual machine backup work in private network
US11455215B2 (en) 2018-04-30 2022-09-27 Nutanix Inc. Context-based disaster recovery
US11093333B1 (en) * 2019-04-05 2021-08-17 EMC IP Holding Company LLC Efficient recovery of multiple virtual machines
US11321185B2 (en) * 2019-04-30 2022-05-03 EMC IP Holding Company LLC Method to detect and exclude orphaned virtual machines from backup
US11461121B2 (en) 2019-07-26 2022-10-04 Red Hat, Inc. Guest-driven virtual machine snapshots
US10969989B2 (en) * 2019-07-30 2021-04-06 EMC IP Holding Company LLC Techniques for capturing virtual machine snapshots using data storage system snapshots
CA3151014A1 (en) * 2019-09-12 2021-03-18 Jesse Paul CHARFAUROS Virtual recovery and replication of unstructured data
US11816000B2 (en) 2019-09-12 2023-11-14 restor Vault, LLC Virtual recovery of unstructured data
CN111104367B (zh) * 2019-12-13 2023-08-18 浪潮云信息技术股份公司 一种基于openstack卷启动虚拟机创建私有镜像的方法
CN112130959B (zh) * 2020-09-29 2021-12-07 上海英方软件股份有限公司 一种虚拟机的保护系统及方法
US11663086B2 (en) * 2020-10-15 2023-05-30 EMC IP Holding Company LLC File system slicing in network attached storage for data protection
US11467738B2 (en) * 2021-01-28 2022-10-11 EMC IP Holding Company LLC Failsafe mechanism to import snapshots
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US20230229641A1 (en) * 2022-01-16 2023-07-20 Bytebase (HongKong) Limited Novel database schema change, recording and version control method and platform
US20230409445A1 (en) * 2022-06-16 2023-12-21 Dell Products L.P. Memory simulation of agent service for secured restore
US11836350B1 (en) 2022-07-25 2023-12-05 Dell Products L.P. Method and system for grouping data slices based on data file quantities for data slice backup generation

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827754B2 (ja) * 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US5475834A (en) * 1992-10-26 1995-12-12 International Business Machines Corporation Integration of migration level two and backup tape processing using multiple inventory entries
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6247141B1 (en) * 1998-09-24 2001-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Protocol for providing replicated servers in a client-server system
EP1145519B1 (en) * 1999-06-10 2005-08-31 Alcatel Internetworking, Inc. System and method for policy-based network management of virtual private networks
US6714980B1 (en) * 2000-02-11 2004-03-30 Terraspring, Inc. Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device
US6711699B1 (en) * 2000-05-04 2004-03-23 International Business Machines Corporation Real time backup system for information based on a user's actions and gestures for computer users
US6993761B1 (en) * 2000-09-28 2006-01-31 Sun Microsystems, Inc. Method and apparatus to verify type safety of an application snapshot
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6735601B1 (en) * 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US6728736B2 (en) * 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
GB0112781D0 (en) 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US6948038B2 (en) * 2001-07-24 2005-09-20 Microsoft Corporation System and method for backing up and restoring data
US7251625B2 (en) * 2001-10-02 2007-07-31 Best Buy Enterprise Services, Inc. Customer identification system and method
US6751715B2 (en) 2001-12-13 2004-06-15 Lsi Logic Corporation System and method for disabling and recreating a snapshot volume
US20070094466A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
JP2003309564A (ja) 2002-04-17 2003-10-31 Mitsubishi Electric Corp マイクロコンピュータシステムおよびそれに使用されるトランシーバ
JP2003316522A (ja) 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
US7313793B2 (en) 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
FI119407B (fi) 2002-08-28 2008-10-31 Sap Ag Korkean palvelutason ohjelmistopohjainen yhteyspalvelin
US7089377B1 (en) * 2002-09-06 2006-08-08 Vmware, Inc. Virtualization system for computers with a region-based memory architecture
KR100439675B1 (ko) * 2002-10-24 2004-07-14 한국전자통신연구원 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
CN1331063C (zh) * 2003-06-10 2007-08-08 联想(北京)有限公司 基于数据卷快照的在线数据备份方法
US7047380B2 (en) * 2003-07-22 2006-05-16 Acronis Inc. System and method for using file system snapshots for online data backup
JP4466001B2 (ja) 2003-08-06 2010-05-26 株式会社日立製作所 スナップショット高速化方法
US7953819B2 (en) * 2003-08-22 2011-05-31 Emc Corporation Multi-protocol sharable virtual storage objects
TWI223756B (en) 2003-10-09 2004-11-11 Univ Nat Sun Yat Sen Automatic register backup/restore system and method
US7373451B2 (en) * 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
US7139887B2 (en) * 2003-12-31 2006-11-21 Veritas Operating Corporation Coordinated storage management operations in replication environment
US7490103B2 (en) * 2004-02-04 2009-02-10 Netapp, Inc. Method and system for backing up data
US8359491B1 (en) * 2004-03-30 2013-01-22 Symantec Operating Corporation Disaster recovery rehearsal using copy on write
US7096392B2 (en) * 2004-05-07 2006-08-22 Asempra Technologies, Inc. Method and system for automated, no downtime, real-time, continuous data protection
US20050267920A1 (en) * 2004-05-13 2005-12-01 Fabrice Helliker System and method for archiving data in a clustered environment
JP4050249B2 (ja) 2004-05-20 2008-02-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理システム
US7299326B2 (en) 2004-06-09 2007-11-20 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for providing backup service continuity using a virtual backup service path
US7580826B2 (en) 2004-06-30 2009-08-25 Microsoft Corporation Systems and methods for development of emulated devices in a virtual machine environment
US20060047926A1 (en) * 2004-08-25 2006-03-02 Zheng Calvin G Managing multiple snapshot copies of data
US20060080521A1 (en) 2004-09-23 2006-04-13 Eric Barr System and method for offline archiving of data
JP4550541B2 (ja) * 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
US7840963B2 (en) * 2004-10-15 2010-11-23 Microsoft Corporation Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption
US20060085784A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Systems and methods for authoring and accessing computer-based materials using virtual machines
GB2419701A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructure with dynamic control of mapping
US20060123210A1 (en) * 2004-12-06 2006-06-08 St. Bernard Software, Inc. Method for logically consistent backup of open computer files
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US7899788B2 (en) * 2005-04-01 2011-03-01 Microsoft Corporation Using a data protection server to backup and restore data on virtual servers
US7669020B1 (en) * 2005-05-02 2010-02-23 Symantec Operating Corporation Host-based backup for virtual machines
AU2006262045B2 (en) * 2005-06-24 2011-11-03 Catalogic Software, Inc. System and method for high performance enterprise data protection
US8024292B2 (en) * 2005-06-29 2011-09-20 Emc Corporation Creation of a single snapshot using a server job request
US20070094659A1 (en) * 2005-07-18 2007-04-26 Dell Products L.P. System and method for recovering from a failure of a virtual machine
US7404056B1 (en) * 2005-12-07 2008-07-22 Nvidia Corporation Virtual copying scheme for creating multiple versions of state information
US7694101B2 (en) * 2005-12-30 2010-04-06 Vmware, Inc. Implementing virtual disk reservations on a storage media for multiple distributed applications
US8001342B2 (en) * 2006-03-29 2011-08-16 International Business Machines Corporation Method for storing and restoring persistent memory content and virtual machine state information
US7606868B1 (en) * 2006-03-30 2009-10-20 Wmware, Inc. Universal file access architecture for a heterogeneous computing environment
US7774391B1 (en) * 2006-03-30 2010-08-10 Vmware, Inc. Method of universal file access for a heterogeneous computing environment
US8056076B1 (en) * 2006-03-31 2011-11-08 Vmware, Inc. Method and system for acquiring a quiesceing set of information associated with a virtual machine
US8151263B1 (en) * 2006-03-31 2012-04-03 Vmware, Inc. Real time cloning of a virtual machine
US8296759B1 (en) * 2006-03-31 2012-10-23 Vmware, Inc. Offloading operations to a replicate virtual machine
US8321377B2 (en) * 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US7653794B2 (en) * 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
US7707185B1 (en) * 2006-10-19 2010-04-27 Vmware, Inc. Accessing virtual data storage units to offload operations from a computer system hosting a virtual machine to an offload server
US8032351B2 (en) * 2006-11-30 2011-10-04 Symantec Corporation Running a virtual machine directly from a physical machine using snapshots
US7689859B2 (en) * 2006-12-20 2010-03-30 Symantec Operating Corporation Backup system and method
US8677352B2 (en) * 2007-10-31 2014-03-18 Vmware, Inc. Interchangeable guest and host execution environments
US8046550B2 (en) * 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8060476B1 (en) * 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US8135930B1 (en) * 2008-07-14 2012-03-13 Vizioncore, Inc. Replication systems and methods for a virtual computing environment
US8117410B2 (en) * 2008-08-25 2012-02-14 Vmware, Inc. Tracking block-level changes using snapshots
US8234469B2 (en) * 2009-07-09 2012-07-31 Microsoft Corporation Backup of virtual machines using cloned virtual machines

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI584131B (zh) * 2015-12-14 2017-05-21 財團法人工業技術研究院 伺服器備份方法及其備份系統
US9778997B2 (en) 2015-12-14 2017-10-03 Industrial Technology Research Institute Server backup method and backup system using the method

Also Published As

Publication number Publication date
CN101421715B (zh) 2012-01-04
WO2007130192A1 (en) 2007-11-15
EP2016501A1 (en) 2009-01-21
US20170075912A1 (en) 2017-03-16
BRPI0710003B1 (pt) 2018-11-13
KR20090005330A (ko) 2009-01-13
JP2009533777A (ja) 2009-09-17
ES2639417T3 (es) 2017-10-26
MY154949A (en) 2015-08-28
BRPI0710003A2 (pt) 2011-08-02
BRPI0710003A8 (pt) 2017-01-17
CA2645969A1 (en) 2007-11-15
AU2007248869B2 (en) 2011-09-08
EP2016501B1 (en) 2017-06-07
CN101421715A (zh) 2009-04-29
EP2016501A4 (en) 2009-11-11
RU2008141158A (ru) 2010-04-27
US9529807B2 (en) 2016-12-27
US20070244938A1 (en) 2007-10-18
RU2433458C2 (ru) 2011-11-10
KR101330495B1 (ko) 2013-11-15
US8321377B2 (en) 2012-11-27
KR101432463B1 (ko) 2014-08-21
CA2645969C (en) 2015-02-03
TW200809626A (en) 2008-02-16
MX2008013132A (es) 2008-10-21
AU2007248869A1 (en) 2007-11-15
US20130085994A1 (en) 2013-04-04
KR20130115391A (ko) 2013-10-21
JP5021721B2 (ja) 2012-09-12

Similar Documents

Publication Publication Date Title
TWI438689B (zh) 用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品
US10067835B2 (en) System reset
US5497483A (en) Method and system for track transfer control during concurrent copy operations in a data processing storage subsystem
US7024581B1 (en) Data processing recovery system and method spanning multiple operating system
JP4405509B2 (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
JP5705309B2 (ja) バックアップ・プロセスを処理する方法、システム、及びコンピュータ・プログラム
US7689859B2 (en) Backup system and method
US7694169B2 (en) Restoring a client device
JP2006221628A (ja) メタデータの複製および復元のための方法、システム、および製品
US20200192693A1 (en) Container provision support system and container provision support method
WO2016067725A1 (ja) ディスク配信システム
US20060112303A1 (en) Local backup device with remote management capability and method for remote backup management
Wesselius et al. Backup and Restore
JP2009251764A (ja) ジョブ管理システム、ジョブ制御方法、及びジョブ制御プログラム
Randall et al. Deploying the Tivoli Storage Manager Client in a Windows 2000 Environment

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees