TWI557575B - Virtual machine snapshot backup method and system based on multi - level row weight - Google Patents
Virtual machine snapshot backup method and system based on multi - level row weight Download PDFInfo
- Publication number
- TWI557575B TWI557575B TW101146911A TW101146911A TWI557575B TW I557575 B TWI557575 B TW I557575B TW 101146911 A TW101146911 A TW 101146911A TW 101146911 A TW101146911 A TW 101146911A TW I557575 B TWI557575 B TW I557575B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- sub
- snapshot
- virtual machine
- block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1466—Management of the backup or restore process to make the backup process non-disruptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Description
本發明涉及電腦領域,尤其涉及一種基於多層排重的虛擬機器快照備份方法和系統。
目前,一般的虛擬機器系統都為用戶提供系統快照服務,即對虛擬機器磁片鏡像進行全量快照備份。虛擬機器快照備份系統是虛擬機器系統的子系統,它管理著PB級別的虛擬機器用戶的全部歷史資料。因此,提高快照備份系統的儲存效率,對於降低用戶的虛擬機器使用成本,提高集群的儲存使用效率,有著非常重要的影響。為了能夠即時、大規模地處理用戶的備份資料請求,同時又能夠高效地排除掉冗餘的資料,虛擬機器快照備份系統需至少滿足三個條件:很高的資料處理速度,例如可以在每天夜間的三小時內處理完上萬個虛擬機器的備份;很好的排重效果,可以消除絕大多數的冗餘資料(例如消除70%以上的冗餘資料);較低的資源佔用,虛擬機器快照備份系統作為整個虛擬機器系統的子系統,不能與用戶的虛擬機器系統中的其他重要模組爭搶過多資源,否則會影響到用戶對虛擬機器的使用體驗。
對虛擬機器快照備份進行排重的技術方案例如有如下:一種技術方案是亞馬遜(Amazon)的雲端計算平臺中的EBS快照儲存方案,詳見(http://aws.amazon.com/ebs/)。
該方案將每塊虛擬機器磁片劃分成4MB大小的定長分塊,並追蹤用戶使用中對每個分塊的改動資訊。如果一個分塊在備份時被認定為自上次備份快照以來未作改動,則不備份這塊資料;另一種技術方案是專業儲存技術提供商如EMC的備份排重儲存伺服器,可以將備份資料按照內容特徵切割成變長大小的資料分塊,並根據雜湊校驗比對來偵測出重複的資料。
亞馬遜的技術方案完全針對單個虛擬機器的資料修改記錄來判斷哪些資料需要備份,其弱點在於:首先,即使分塊中的資料只被修改了一個位元組,整塊資料也要被備份一次。其次,對於不同用戶備份相同資料的情況,例如作業系統和各種常用軟體,由於用戶行為的不同導致其資料所在的磁片位置不可能統一,該方法完全無法偵測到這一類的重複資料。
EMC的技術方案雖然可以根據資料內容特徵來在全局範圍排除重複的備份資料,但是其專用儲存伺服器的價格極其昂貴,且無法應對虛擬機器集群這樣PB級別的備份需求。這類方案跟以廉價和大量資料為特徵的雲端計算平臺是無法相容的。
本發明的主要目的在於提供一種基於多層排重的虛擬機器快照備份方法,包括:將虛擬機器快照劃分為多個子資料塊,將每個子資料塊劃分為多個資料片段;對所述虛
擬機器快照進行多層排重,以排除所述虛擬機器快照中會導致重複備份的資料;以及儲存經多層排重處理後剩餘的虛擬機器快照資料。
根據本發明的實施例,在該方法中,對所述虛擬機器快照進行多層排重包括:對所述虛擬機器快照進行子資料塊排重、資料片段排重和公用資料集排重,其中,所述公用資料集中儲存備份儲存檔案系統中重複率高於預定閾值的資料片段。
根據本發明的實施例,在該方法中,所述子資料塊排重包括:判斷所述多個子資料塊自上次備份以來是否改變;排除被確定為未改變的子資料塊;保留被確定為已改變的子資料塊。
根據本發明的實施例,在該方法中,所述資料片段排重包括:判斷經所述子資料塊排重後剩餘的所述已改變的子資料塊中的多個資料片段自上次備份以來是否改變;排除被確定為未改變的資料片段;保留被確定為已改變的資料片段。
根據本發明的實施例,在該方法中,所述公用資料集排重包括:將經所述資料片段排重後剩餘的所述已改變的資料片段的資料特徵與所述公用資料集中資料的資料特徵進行比較,判斷所述已改變的資料片段是否存在於所述公用資料集中,排除被確定存在於所述公用資料集中的資料片段。
根據本發明的實施例,將每個子資料塊劃分為多個資
料片段的步驟包括:基於資料內容特徵,將每個子資料塊切割成多個變長的資料片段。
根據本發明的實施例,所述虛擬機器快照包括子資料塊的資料指紋、大小和資料指標;所述子資料塊包括資料片段的資料指紋、大小和資料指標。
根據本發明的實施例,該方法還可以包括:對備份儲存檔案系統進行定期掃描,根據資料儲存中的資料重複特徵,抽取重複率高於特定閾值的資料並將其存入所述公用資料集。
根據本發明的實施例,該方法還可以包括:對於經由所述多層排重所排除的資料,在虛擬機器快照備份中直接引用虛擬機器前一快照中的對應資料的索引。
根據本發明的實施例,該方法還可以包括:執行快照復原,其包括:從備份儲存檔案系統中按照虛擬機器待復原的快照的索引讀出子資料塊的索引,按照子資料塊的索引讀出資料片段,將讀出的資料片段組裝成子資料塊,將組裝成的子資料塊組裝成待復原的快照,其中,透過結合當前虛擬機器鏡像檔案的修改資訊和待復原快照的索引資訊,確定當前虛擬機器鏡像檔案和待復原快照中的共有資料,所述共有資料不用從備份儲存檔案系統中讀取。
根據本發明的實施例,該方法還可以包括:執行快照刪除,其包括:將虛擬機器待刪除的快照索引的刪除資訊寫入日誌,當日誌中的刪除資訊量超過預定閾值時,掃描虛擬機器的備份資料以找出一定時間內沒有被引用的子資
料塊和資料片段並將它們刪除
在本發明的另一態樣中,提供一種基於多層排重的虛擬機器快照備份系統,包括:快照劃分模組,用於將虛擬機器快照劃分為多個子資料塊,將每個子資料塊劃分為多個資料片段;快照多層排重模組,用於對所述虛擬機器快照進行多層排重以排除所述虛擬機器快照中會導致重複備份的資料;以及快照備份儲存模組,用於儲存經多層排重處理後剩餘的快照資料。
根據本發明的實施例,在所述系統中,所述快照多層排重模組還包括:子資料塊排重模組,資料片段排重模組和公用資料集排重模組,其中,所述公用資料集中儲存著備份儲存檔案系統中重複率高於預定閾值的資料片段。
根據本發明的實施例,該系統還可以包括:掃描模組、快照復原模組和快照刪除模組。
與現有技術相比,根據本發明的技術方案,利用多層排重技術,可以針對大規模資料儲存中資料片段的重複次數所具有的分佈特徵,來快速、有效地排除某些資料的重複備份,以達到用最少的資源來最大化排重的效果。
本發明的主要思想在於,將虛擬機器快照劃分為多個子資料塊,將每個子資料塊劃分為多個資料片段;對所述虛擬機器快照進行多層排重,所述多層排重操作包括:對所述虛擬機器快照依次進行子資料塊排重、資料片段排重
和公用資料集排重,以排除所述虛擬機器快照中會導致重複備份的資料,其中,所述公用資料集中儲存著備份儲存檔案系統中重複率高於預定閾值的資料片段;以及儲存經多層排重處理後剩餘的虛擬機器快照資料。
為使本發明的目的、技術方案和優點更加清楚,以下結合圖式及實施例,對本發明作進一步地詳細說明。
根據本發明的實施例,提供了一種基於多層排重的虛擬機器快照備份方法和系統。
下面透過圖式和實施例,對本發明的技術方案做進一步的詳細描述。
圖1是根據本發明實施例的虛擬機器快照備份的方法的多層排重示意圖。
如圖所示,根據本發明實施例的虛擬機器快照備份的方法,首先將虛擬機器快照分成多個子資料塊,準備進行多層排重。在操作層面上,多層排重分成三個層次,在每一個層次利用特定的資訊來排除掉絕大部分該層的冗餘資料,來大大減少下一層排重處理的負擔。在邏輯層面上,前兩個層次針對單個虛擬機器的備份資料,主要負責排除自上次備份以後未被修改過的資料。第三個層次則在全局整體的層面排除掉重複率最高的那一部分資料。下面參照圖1簡單描述該方法的操作過程。
首先執行子資料塊排重(a)->(b),這個層面主要利用虛擬磁片驅動所記錄的訪問資訊,來確定哪些虛擬磁片的區域自上次備份以來未作改動。對未作改動的,在新的快
照索引中直接引用上次快照的子資料塊內容。而那些被標記為“已修改”的子資料塊則進入下一層排重處理。
然後,針對完成子資料排重後的資料,執行資料片段排重(b)->(c),這一層主要針對被標記為“已修改”的子資料塊中的未修改資料。可以利用諸如基於資料內容特徵的變長切割演算法,將子資料塊切分為數百個資料片段,並根據前一個快照中與之位置相對應的子資料塊的索引,比較兩個資料片段的資料指紋,從而判斷哪些資料片段是屬於被修改過的內容。對於那些能夠在前一快照中找出的資料片段,新子資料塊的索引中可以直接引用它們。
最後,將完成上述兩層排重後的資料,執行公用資料集排重(c)->(d),這一層負責處理在前一層被判斷為“已修改”的資料片段。所有進入這一層的資料片段,其內容的雜湊值會被發送到分散式公用資料集快取進行查詢。如果發現該資料片段屬於公用資料集,則無需另存一份。否則,該資料片段將被作為新資料交給快照儲存模組。最後將經過上述多層排重後剩餘的虛擬機器快照資料儲存到快照備份儲存中。
根據本發明的實施例,快照可以包括子資料塊的資料指紋、大小和資料指標;子資料塊可以包括資料片段的資料指紋、大小和資料指標。對於每個虛擬機器自己的快照和快照之間,如果子資料塊或者資料片段被檢測為內容相同,則當前快照將引用前一快照的資料而不必重複儲存。除非特別指出,否則本文中快照、虛擬機器快照以及虛擬
機器快照資料具有類似含義。資料指標可以指示資料在物理儲存中的位置。例如,資料指標可以用<檔案名,啟始偏移>來表示,從而指示儲存位置。備選地,還可以用KV(key-value鍵-值)服務的key(鍵)作為資料指標來指示儲存位置。
為了更詳細地瞭解本發明,下面參照圖2的流程圖對根據本發明實施例的基於多層排重的虛擬機器快照備份方法進行詳細描述。
在步驟201處,將虛擬機器快照劃分為多個子資料塊,將每個子資料塊劃分為多個資料片段。較佳地,所述子資料塊可以是定長的,所述資料片段可以是變長的。備選地,可以基於資料內容特徵,將每個子資料塊切割成多個變長的資料片段。例如,每一個快照可以被劃分為若干個MB級大小的子資料塊。備選地,快照可以被劃分為定長的若干MB大小的子資料塊。並且,每個子資料塊又可以根據基於資料內容特徵的切割演算法被劃分為不定長的若干個KB級大小的資料片段。所述虛擬機器快照可以包括子資料塊的資料指紋、大小和資料指標;所述子資料塊可以包括資料片段的資料指紋、大小和資料指標。
在步驟202處,對所述虛擬機器快照進行多層排重,以排除所述虛擬機器快照中會導致重複備份的資料。在該步驟中,例如可以進行三層排重:子資料塊排重、資料片段排重和公用資料集排重。其中,所述公用資料集中儲存備份儲存檔案系統中重複率高於預定閾值的資料片段。
例如,首先,執行第一層排重,也即是執行子資料塊排重。判斷所述多個子資料塊自上次備份以來是否改變;排除被確定為未改變的子資料塊;保留被確定為已改變的子資料塊。所述已改變子資料塊可以用於資料片段排重。
換言之,在第一層排重操作中,例如可以根據記錄的對虛擬機器磁片鏡像的訪問資訊,以子資料塊為單位而將當前虛擬快照的子資料塊跟前一虛擬快照的子資料塊進行比較,並且將內容相同的子資料塊確定為要被排除的未改變的子資料塊。從而在第一層排重操作後排除未改變的子資料塊。
其次,執行第二層排重,也即是執行資料片段排重。該方法判斷經所述子資料塊排重後剩餘的子資料塊中的多個資料片段自上次備份以來是否改變;排除被確定為未改變的資料片段;保留被確定為已改變的資料片段。所述已改變資料片段可以用於公用資料集排重。
換言之,在第二層排重操作中,例如可以根據虛擬機器前一快照中與經所述子資料塊排重後剩餘的子資料塊位置相對應的子資料塊的索引,以子資料塊中的資料片段為單位,將經過第一層排重後的當前虛擬快照和前一虛擬快照的資料片段進行比較,並且將內容相同的資料片段確定為要被排除的未改變的資料片段。從而在第二層排重操作後排除未改變的資料片段。
最後,執行第三層排重,也即是執行公用資料集排重。該方法將經所述資料片段排重後剩餘的所述已改變的
資料片段的資料特徵與所述公用資料集中資料的資料特徵進行比較,判斷所述已改變的資料片段是否存在於所述公用資料集中,排除被確定存在於所述公用資料集中的資料片段。並且,保留被確定為未存在於所述公用資料集中的資料片段。最後對經過多層排重操作後剩餘的所述資料片段進行備份。
換言之,在第三層排重操作中,將經過上述兩層排重操作後的當前快照的剩餘所有資料片段例如透過SHA1(安全雜湊演算法)雜湊演算法計算資料指紋,並將其雜湊值發送到分散式公用資料集快取進行查詢,並且將存在於公用資料集的資料片段確定為要被排除的未改變的資料片段。從而在第三層排重操作後排除所述未改變的資料片段。因此,最後對經過多層排重操作後剩餘的所述資料片段進行備份。
在步驟203處,儲存經多層排重處理後剩餘的虛擬機器快照資料。
根據本發明的一個實施例,該方法還可以包括對於經由所述多層排重所排除的資料,在虛擬機器快照備份中直接引用虛擬機器前一快照中的對應資料的索引。
根據本發明的一個實施例,該方法還可以包括執行快照復原,其包括:從備份儲存檔案系統中按照虛擬機器待復原的快照的索引讀出子資料塊的索引,按照子資料塊的索引讀出資料片段,將讀出的資料片段組裝成子資料塊,將組裝成的子資料塊組裝成待復原的快照,其中,透過結
合當前虛擬機器鏡像檔案的修改資訊和待復原快照的索引資訊,確定當前虛擬機器鏡像檔案和待復原快照中的共有資料,所述共有資料不用從備份儲存檔案系統中讀取。
根據本發明的一個實施例,該方法還可以包括執行快照刪除,其包括:將虛擬機器待刪除的快照索引的刪除資訊寫入日誌,當日誌中的刪除資訊量超過預定閾值時,掃描虛擬機器的備份資料以找出一定時間內沒有被引用的子資料塊和資料片段並將它們刪除。具體而言,例如可以在日誌中的刪除資訊量超過總快照數目(資訊量)的50%時,則掃描虛擬機器的備份資料以找出例如14天或者30天沒有被引用的子資料塊和資料片段,並將它們刪除。
圖3是根據本發明實施例的基於多層排重的虛擬機器快照備份系統300的方塊圖。
系統300可以包括:快照劃分模組301,用於將虛擬機器快照劃分為多個子資料塊,將每個子資料塊劃分為多個資料片段;快照多層排重模組302,用於對所述虛擬機器快照進行多層排重以排除所述虛擬機器快照中會導致重複備份的資料;以及快照備份儲存模組303,用於儲存經多層排重處理後剩餘的快照資料。
根據本發明的實施例,快照多層排重模組302是一個多層排重的機制,其可以包含兩個以上的排重子模組。例如,快照多層排重模組302可以包括:子資料塊排重模組401,資料片段排重模組402和公用資料集排重模組403,其中,所述公用資料集中儲存著備份儲存檔案系統中重複
率高於預定閾值的資料片段。
根據本發明的實施例,所述子資料塊排重模組401可以被配置用於判斷所述多個子資料塊自上次備份以來是否改變,排除被確定為未改變的子資料塊,保留被確定為已改變的子資料塊。
根據本發明的實施例,所述資料片段排重模組402可以被配置用於判斷經所述子資料塊排重後剩餘的子資料塊中的多個資料片段自上次備份以來是否改變,排除被確定為未改變的資料片段,保留被確定為已改變的資料片段。
根據本發明的實施例,所述公用資料集排重模組403可以被配置用於將經所述資料片段排重後剩餘的所述已改變的資料片段的資料特徵與所述公用資料集中資料的資料特徵進行比較,判斷經所述已改變的資料片段是否存在於所述公用資料集中,排除被確定存在於所述公用資料集中的資料片段。
根據本發明的,該系統還可以包括掃描模組、快照復原模組和快照刪除模組(均未示出)。
進一步地,掃描模組可以用於對備份儲存檔案系統進行定期掃描,根據資料儲存中的資料重複特徵,抽取重複率高於特定閾值的資料片段並將其存入所述公用資料集。例如,掃描模組可以對資料進行掃描,針對大規模資料儲存中資料重複特徵具有的Zipf分佈的特點,抽取出重複率最高的一批資料,將其放入公用資料集。
進一步地,快照復原模組可以用於從備份儲存檔案系
統中按照虛擬機器待復原的快照的索引讀出子資料塊的索引,按照子資料塊的索引讀出資料片段,將讀出的資料片段組裝成子資料塊,將組裝成的子資料塊組裝成待復原的快照,其中,透過結合當前虛擬機器鏡像檔案的修改資訊和待復原快照的索引資訊,確定當前虛擬機器鏡像檔案和待復原快照中的共有資料,所述共有資料不用從備份儲存檔案系統中讀取。
進一步地,快照刪除模組可以用於將虛擬機器待刪除的快照索引的刪除資訊寫入日誌,當日誌中的刪除資訊量超過預定閾值時,掃描虛擬機器的備份資料以找出一定時間內沒有被引用的子資料塊和資料片段並將它們刪除。
本發明的系統300所包括的各個模組的實施與本發明的方法中的步驟的實施可以是相對應的,為了不模糊本發明,在此省略對各個模組的具體細節描述。
本發明針對大規模資料儲存中,資料片段的重複次數具有的Zipf分佈特徵,來消除最熱門資料的重複備份,以達到用最少的資源來最大化排重效果。虛擬機器備份儲存系統透過定期運行全局的資料片段掃描任務,來統計每個子資料塊的出現頻率,並根據實際系統的資源限制要求,將排行靠前的資料片段導入到公用資料集。公用資料集中的資料片段,其內容的雜湊值將被放入分散式公用資料集快取,以作為第三層排重查詢的索引。
專業人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及演算法步驟,能夠以電
子硬體、電腦軟體或者二者的結合來實現,為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的範圍。
應當注意,本發明的實施例可以透過硬體、軟體或者軟體和硬體的結合來實現。硬體部分可以利用專用邏輯來實現;軟體部分可以儲存在記憶體中,由適當的指令執行系統,例如微處理器或者專用設計硬體來執行。本領域的普通技術人員可以理解上述的設備和方法可以使用電腦可執行指令和/或包含在處理器控制代碼中來實現,例如在諸如磁片、CD或DVD-ROM的載體介質、諸如唯讀記憶體(韌體)的可編程的記憶體或者諸如光學或電子信號載體的資料載體上提供了這樣的代碼。本發明的設備及其模組可以由諸如超大型積體電路或閘陣列、諸如邏輯晶片、電晶體等的半導體、或者諸如現場可編程閘陣列、可編程邏輯設備等的可編程硬體設備的硬體電路實現,也可以用由各種類型的處理器執行的軟體實現,也可以由上述硬體電路和軟體的結合例如韌體來實現。
應當注意,儘管在上文詳細描述中提及了設備的若干模組或子模組,但是這種劃分僅僅並非強制性的。實際上,根據本發明的實施例,上文描述的兩個或更多模組的
特徵和功能可以在一個模組中具體化。反之,上文描述的一個模組的特徵和功能可以進一步劃分為由多個模組來具體化。
此外,儘管在圖式中以特定順序描述了本發明方法的操作,但是,這並非要求或者暗示必須按照該特定順序來執行這些操作,或是必須執行全部所示的操作才能實現期望的結果。相反,流程圖中描繪的步驟可以改變執行順序。附加地或備選地,可以省略某些步驟,將多個步驟合併為一個步驟執行,和/或將一個步驟分解為多個步驟執行。
以上所述僅為本發明的實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的申請專利範圍之內。
201~203‧‧‧步驟
300‧‧‧基於多層排重的虛擬機器快照備份系統
301‧‧‧快照劃分模組
302‧‧‧快照多層排重模組
303‧‧‧快照備份儲存模組
401‧‧‧子資料塊排重模組
402‧‧‧資料片段排重模組
403‧‧‧公用資料集排重模組
此處所說明的圖式用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在圖式中:圖1是根據本發明實施例的虛擬機器快照備份的方法的多層排重操作示意圖。
圖2是根據本發明實施例的基於多層排重的虛擬機器
快照備份方法的流程圖。
圖3是根據本發明實施例的基於多層排重的虛擬機器快照備份系統的方塊圖。
圖4是根據本發明實施例的圖3的系統中快照多層排重模組的方塊圖。
Claims (17)
- 一種基於多層排重的虛擬機器快照備份方法,包括:將虛擬機器快照劃分為多個子資料塊,將每個子資料塊劃分為多個資料片段;對該虛擬機器快照進行多層排重,以排除該虛擬機器快照中會導致重複備份的資料;以及儲存經多層排重處理後剩餘的虛擬機器快照資料,其中,對該虛擬機器快照進行多層排重包括:對該虛擬機器快照進行子資料塊排重、資料片段排重和公用資料集排重,其中,該公用資料集中儲存備份儲存檔案系統中重複率高於預定閾值的資料片段。
- 根據申請專利範圍第1項所述的方法,其中,該子資料塊排重包括:判斷該多個子資料塊自上次備份以來是否改變;排除被確定為未改變的子資料塊;保留被確定為已改變的子資料塊。
- 根據申請專利範圍第1項所述的方法,其中,該資料片段排重包括:判斷經該子資料塊排重後剩餘的該已改變的子資料塊中的多個資料片段自上次備份以來是否改變;排除被確定為未改變的資料片段;保留被確定為已改變的資料片段。
- 根據申請專利範圍第1項所述的方法,其中,該公用資料集排重包括: 將經該資料片段排重後剩餘的該已改變的資料片段的資料特徵與該公用資料集中資料的資料特徵進行比較,判斷該已改變的資料片段是否存在於該公用資料集中,排除被確定存在於該公用資料集中的資料片段。
- 根據申請專利範圍第1-4項中任一項所述的方法,其中,將每個子資料塊劃分為多個資料片段的步驟包括:基於資料內容特徵,將每個子資料塊切割成多個變長的資料片段。
- 根據申請專利範圍第1-4項中任一項所述的方法,其中,該虛擬機器快照包括子資料塊的資料指紋、大小和資料指標;該子資料塊包括資料片段的資料指紋、大小和資料指標。
- 根據申請專利範圍第1-4項中任一項所述的方法,還包括:對備份儲存檔案系統進行定期掃描,根據資料儲存中的資料重複特徵,抽取重複率高於特定閾值的資料並將其存入該公用資料集。
- 根據申請專利範圍第1-4項中任一項所述的方法,還包括:對於經由該多層排重所排除的資料,在虛擬機器快照備份中直接引用虛擬機器前一快照中的對應資料的索引。
- 根據申請專利範圍第1-4項中任一項所述的方法,還包括:執行快照復原,其包括:從備份儲存檔案系統中按照 虛擬機器待復原的快照的索引讀出子資料塊的索引,按照子資料塊的索引讀出資料片段,將讀出的資料片段組裝成子資料塊,將組裝成的子資料塊組裝成待復原的快照,其中,透過結合當前虛擬機器鏡像檔案的修改資訊和待復原快照的索引資訊,確定當前虛擬機器鏡像檔案和待復原快照中的共有資料,該共有資料不用從備份儲存檔案系統中讀取。
- 根據申請專利範圍第1-4項中任一項所述的方法,還包括:執行快照刪除,其包括:將虛擬機器待刪除的快照索引的刪除資訊寫入日誌,當日誌中的刪除資訊量超過預定閾值時,掃描虛擬機器的備份資料以找出一定時間內沒有被引用的子資料塊和資料片段並將它們刪除。
- 一種基於多層排重的虛擬機器快照備份系統,包括:快照劃分模組,用於將虛擬機器快照劃分為多個子資料塊,將每個子資料塊劃分為多個資料片段;快照多層排重模組,用於對該虛擬機器快照進行多層排重以排除該虛擬機器快照中會導致重複備份的資料;以及快照備份儲存模組,用於儲存經多層排重處理後剩餘的快照資料,其中,該快照多層排重模組還包括:子資料塊排重模組,資料片段排重模組和公用資料集排重模組,其中,該 公用資料集中儲存著備份儲存檔案系統中重複率高於預定閾值的資料片段。
- 根據申請專利範圍第11項所述的系統,其中,該子資料塊排重模組被配置判斷該多個子資料塊自上次備份以來是否改變,排除被確定為未改變的子資料塊,保留被確定為已改變的子資料塊。
- 根據申請專利範圍第11項所述的系統,其中,該資料片段排重模組被配置用於判斷經該子資料塊排重後剩餘的子資料塊中的多個資料片段自上次備份以來是否改變,排除被確定為未改變的資料片段,保留被確定為已改變的資料片段。
- 根據申請專利範圍第11項所述的系統,其中,該公用資料集排重模組被配置用於將經該資料片段排重後剩餘的該已改變的資料片段的資料特徵與該公用資料集中資料的資料特徵進行比較,判斷經該已改變的資料片段是否存在於該公用資料集中,排除被確定存在於該公用資料集中的資料片段。
- 根據申請專利範圍第11-14項中任一項所述的系統,還包括:掃描模組,用於對備份儲存檔案系統進行定期掃描,根據資料儲存中的資料重複特徵,抽取重複率高於特定閾值的資料片段並將其存入該公用資料集。
- 根據申請專利範圍第11-14項中任一項所述的系統,還包括: 快照復原模組,用於從備份儲存檔案系統中按照虛擬機器待復原的快照的索引讀出子資料塊的索引,按照子資料塊的索引讀出資料片段,將讀出的資料片段組裝成子資料塊,將組裝成的子資料塊組裝成待復原的快照,其中,透過結合當前虛擬機器鏡像檔案的修改資訊和待復原快照的索引資訊,確定當前虛擬機器鏡像檔案和待復原快照中的共有資料,該共有資料不用從備份儲存檔案系統中讀取。
- 根據申請專利範圍第11-14項中任一項所述的系統,還包括:快照刪除模組,用於將虛擬機器待刪除的快照索引的刪除資訊寫入日誌,當日誌中的刪除資訊量超過預定閾值時,掃描虛擬機器的備份資料以找出一定時間內沒有被引用的子資料塊和資料片段並將它們刪除。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210291388.6A CN103593256B (zh) | 2012-08-15 | 2012-08-15 | 一种基于多层排重的虚机快照备份方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201407375A TW201407375A (zh) | 2014-02-16 |
TWI557575B true TWI557575B (zh) | 2016-11-11 |
Family
ID=50083411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101146911A TWI557575B (zh) | 2012-08-15 | 2012-12-12 | Virtual machine snapshot backup method and system based on multi - level row weight |
Country Status (3)
Country | Link |
---|---|
US (2) | US9460098B2 (zh) |
CN (1) | CN103593256B (zh) |
TW (1) | TWI557575B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635128B1 (en) * | 2012-10-29 | 2020-04-28 | Veritas Technologies Llc | Storing backup data using snapshots |
US9742873B2 (en) | 2012-11-29 | 2017-08-22 | International Business Machines Corporation | Adjustment to managed-infrastructure-as-a-service cloud standard |
US9092837B2 (en) * | 2012-11-29 | 2015-07-28 | International Business Machines Corporation | Use of snapshots to reduce risk in migration to a standard virtualized environment |
US9632812B1 (en) * | 2014-05-12 | 2017-04-25 | Trintri Inc. | Collecting data associated with virtual machines from various data sources |
US9645888B1 (en) | 2014-06-02 | 2017-05-09 | EMC IP Holding Company LLC | Caching of backup chunks |
TWI509426B (zh) * | 2014-09-17 | 2015-11-21 | Prophetstor Data Services Inc | 用於達成無干擾性資料重建的系統 |
JP5904514B1 (ja) | 2014-10-28 | 2016-04-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム |
CN104615504B (zh) * | 2015-02-06 | 2017-11-10 | 浪潮(北京)电子信息产业有限公司 | 一种实现数据保护的方法及装置 |
CN105022680A (zh) * | 2015-08-05 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种数据备份方法及装置 |
CN111240902A (zh) | 2015-09-25 | 2020-06-05 | 华为技术有限公司 | 数据备份的方法和数据处理系统 |
US11132260B2 (en) | 2015-09-25 | 2021-09-28 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
CN105871987A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 数据写入的高可用系统及方法 |
CN106919472B (zh) * | 2015-12-28 | 2020-05-12 | 中国移动通信集团公司 | 数据的快照备份方法及装置 |
US10489518B1 (en) * | 2016-03-03 | 2019-11-26 | Nutanix, Inc. | Virtual machine object version control |
US10496497B1 (en) * | 2016-12-13 | 2019-12-03 | EMC IP Holding Company LLC | Live object level inter process communication in federated backup environment |
US11526404B2 (en) | 2017-03-29 | 2022-12-13 | International Business Machines Corporation | Exploiting object tags to produce a work order across backup engines for a backup job |
US20190129806A1 (en) * | 2017-10-27 | 2019-05-02 | Synology Inc. | Methods and computer program products for a file backup and apparatuses using the same |
CN107885619A (zh) * | 2017-11-16 | 2018-04-06 | 郑州云海信息技术有限公司 | 一种数据精简去重和镜像异地备份保护的方法及系统 |
US10936442B2 (en) * | 2018-07-06 | 2021-03-02 | EMC IP Holding Company LLC | Simultaneous file level recovery from multiple backups using a proxy virtual machine |
US10909071B2 (en) * | 2018-07-13 | 2021-02-02 | Vmware, Inc. | Batch-based deletion of snapshots archived in cloud/object storage |
US10853312B2 (en) | 2018-07-13 | 2020-12-01 | Vmware, Inc. | Archiving data in cloud/object storage using local metadata staging |
US11042504B2 (en) | 2018-07-13 | 2021-06-22 | Vmware, Inc. | Managing overwrites when archiving data in cloud/object storage |
US10534759B1 (en) | 2018-08-23 | 2020-01-14 | Cohesity, Inc. | Incremental virtual machine metadata extraction |
US10649676B1 (en) * | 2018-12-28 | 2020-05-12 | Microsoft Technology Licensing, Llc | Memory compression for immutable data structures |
US10810035B2 (en) | 2019-02-27 | 2020-10-20 | Cohesity, Inc. | Deploying a cloud instance of a user virtual machine |
US11573861B2 (en) | 2019-05-10 | 2023-02-07 | Cohesity, Inc. | Continuous data protection using a write filter |
US11397649B2 (en) | 2019-10-22 | 2022-07-26 | Cohesity, Inc. | Generating standby cloud versions of a virtual machine |
US11250136B2 (en) | 2019-10-22 | 2022-02-15 | Cohesity, Inc. | Scanning a backup for vulnerabilities |
US11487549B2 (en) | 2019-12-11 | 2022-11-01 | Cohesity, Inc. | Virtual machine boot data prediction |
US11914480B2 (en) | 2020-12-08 | 2024-02-27 | Cohesity, Inc. | Standbys for continuous data protection-enabled objects |
US11614954B2 (en) | 2020-12-08 | 2023-03-28 | Cohesity, Inc. | Graphical user interface to specify an intent-based data management plan |
US11768745B2 (en) | 2020-12-08 | 2023-09-26 | Cohesity, Inc. | Automatically implementing a specification of a data protection intent |
CN112612576B (zh) * | 2020-12-23 | 2022-08-30 | 新华三大数据技术有限公司 | 虚拟机备份方法、装置、电子设备及存储介质 |
US11481287B2 (en) | 2021-02-22 | 2022-10-25 | Cohesity, Inc. | Using a stream of source system storage changes to update a continuous data protection-enabled hot standby |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200809626A (en) * | 2006-04-17 | 2008-02-16 | Microsoft Corp | Creating host-level application-consistent backups of virtual machines |
TW200821819A (en) * | 2006-03-29 | 2008-05-16 | Ibm | System, method and computer program product for storing multiple types of information |
TWI311256B (en) * | 2005-02-11 | 2009-06-21 | Dell Products Lp | System and method for collective software management in virtual machines and associated virtual machine |
US20090249006A1 (en) * | 2008-03-31 | 2009-10-01 | Boldt Michael W | System and Method for Setting an Activation State for a Device Used in a Backup Operation |
CN101916171A (zh) * | 2010-07-16 | 2010-12-15 | 中国科学院计算技术研究所 | 一种并发层次式的重复数据消除方法和系统 |
TW201101296A (en) * | 2009-06-16 | 2011-01-01 | Inventec Corp | Method for scanning snapshot |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7933936B2 (en) * | 2005-06-10 | 2011-04-26 | Network Appliance, Inc. | Method and system for automatic management of storage space |
US8190835B1 (en) | 2007-12-31 | 2012-05-29 | Emc Corporation | Global de-duplication in shared architectures |
US8315985B1 (en) | 2008-12-18 | 2012-11-20 | Symantec Corporation | Optimizing the de-duplication rate for a backup stream |
US8055937B2 (en) | 2008-12-22 | 2011-11-08 | QuorumLabs, Inc. | High availability and disaster recovery using virtualization |
US8566362B2 (en) | 2009-01-23 | 2013-10-22 | Nasuni Corporation | Method and system for versioned file system using structured data representations |
US8650162B1 (en) * | 2009-03-31 | 2014-02-11 | Symantec Corporation | Method and apparatus for integrating data duplication with block level incremental data backup |
WO2010127365A1 (en) | 2009-05-01 | 2010-11-04 | Citrix Systems, Inc. | Systems and methods for establishing a cloud bridge between virtual storage resources |
EP2488946B1 (en) | 2009-10-12 | 2018-11-28 | Veeam Software Ag | Item-level restoration and verification of image level backups |
US8417938B1 (en) | 2009-10-16 | 2013-04-09 | Verizon Patent And Licensing Inc. | Environment preserving cloud migration and management |
US8452932B2 (en) * | 2010-01-06 | 2013-05-28 | Storsimple, Inc. | System and method for efficiently creating off-site data volume back-ups |
US8566640B2 (en) | 2010-07-19 | 2013-10-22 | Veeam Software Ag | Systems, methods, and computer program products for instant recovery of image level backups |
US8898114B1 (en) * | 2010-08-27 | 2014-11-25 | Dell Software Inc. | Multitier deduplication systems and methods |
CN103098035B (zh) * | 2010-08-31 | 2016-04-27 | 日本电气株式会社 | 存储系统 |
US9053339B2 (en) | 2010-10-27 | 2015-06-09 | Hytrust, Inc. | System and method for secure storage of virtual machines |
US8396841B1 (en) * | 2010-11-30 | 2013-03-12 | Symantec Corporation | Method and system of multi-level and multi-mode cloud-based deduplication |
US8239584B1 (en) | 2010-12-16 | 2012-08-07 | Emc Corporation | Techniques for automated storage management |
US8364716B2 (en) | 2010-12-17 | 2013-01-29 | Netapp, Inc. | Methods and apparatus for incrementally computing similarity of data sources |
US8898402B1 (en) | 2011-03-31 | 2014-11-25 | Emc Corporation | Assigning storage resources in a virtualization environment |
US8918378B1 (en) | 2011-08-31 | 2014-12-23 | Netapp, Inc. | Cloning using an extent-based architecture |
US8543609B1 (en) | 2011-09-29 | 2013-09-24 | Emc Corporation | Snapshots in deduplication |
US8914595B1 (en) | 2011-09-29 | 2014-12-16 | Emc Corporation | Snapshots in deduplication |
US8769224B1 (en) * | 2011-09-30 | 2014-07-01 | Emc Corporation | Discovering new physical machines for physical to virtual conversion |
US9483358B1 (en) * | 2011-09-30 | 2016-11-01 | EMC IP Holding Company LLC | Synthetic block based backup |
US8712962B1 (en) | 2011-12-01 | 2014-04-29 | Emc Corporation | Snapshots in de-duplication |
US9063938B2 (en) | 2012-03-30 | 2015-06-23 | Commvault Systems, Inc. | Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files |
US8751515B1 (en) | 2012-03-30 | 2014-06-10 | Emc Corporation | System and method for file-based virtual machine incremental backup |
US8719286B1 (en) | 2012-03-30 | 2014-05-06 | Emc Corporation | System and method for block-based subtree virtual machine backup |
US9104331B2 (en) | 2012-09-28 | 2015-08-11 | Emc Corporation | System and method for incremental virtual machine backup using storage system functionality |
US9110604B2 (en) | 2012-09-28 | 2015-08-18 | Emc Corporation | System and method for full virtual machine backup using storage system functionality |
US9218374B2 (en) * | 2012-06-13 | 2015-12-22 | Commvault Systems, Inc. | Collaborative restore in a networked storage system |
JP5944536B2 (ja) | 2012-07-18 | 2016-07-05 | 株式会社日立製作所 | ストレージ装置及び記憶制御方法 |
US8996460B1 (en) | 2013-03-14 | 2015-03-31 | Emc Corporation | Accessing an image in a continuous data protection using deduplication-based storage |
US9274824B2 (en) | 2013-06-27 | 2016-03-01 | Verizon Patent And Licensing Inc. | Network technology standard operating environment |
-
2012
- 2012-08-15 CN CN201210291388.6A patent/CN103593256B/zh active Active
- 2012-12-12 TW TW101146911A patent/TWI557575B/zh not_active IP Right Cessation
-
2013
- 2013-08-15 US US13/967,939 patent/US9460098B2/en active Active
-
2016
- 2016-09-06 US US15/257,194 patent/US10565063B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI311256B (en) * | 2005-02-11 | 2009-06-21 | Dell Products Lp | System and method for collective software management in virtual machines and associated virtual machine |
TW200821819A (en) * | 2006-03-29 | 2008-05-16 | Ibm | System, method and computer program product for storing multiple types of information |
TW200809626A (en) * | 2006-04-17 | 2008-02-16 | Microsoft Corp | Creating host-level application-consistent backups of virtual machines |
US20090249006A1 (en) * | 2008-03-31 | 2009-10-01 | Boldt Michael W | System and Method for Setting an Activation State for a Device Used in a Backup Operation |
TW201101296A (en) * | 2009-06-16 | 2011-01-01 | Inventec Corp | Method for scanning snapshot |
CN101916171A (zh) * | 2010-07-16 | 2010-12-15 | 中国科学院计算技术研究所 | 一种并发层次式的重复数据消除方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160378613A1 (en) | 2016-12-29 |
CN103593256A (zh) | 2014-02-19 |
US20140052692A1 (en) | 2014-02-20 |
US9460098B2 (en) | 2016-10-04 |
TW201407375A (zh) | 2014-02-16 |
US10565063B2 (en) | 2020-02-18 |
CN103593256B (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI557575B (zh) | Virtual machine snapshot backup method and system based on multi - level row weight | |
US11650976B2 (en) | Pattern matching using hash tables in storage system | |
US9710317B2 (en) | Methods to identify, handle and recover from suspect SSDS in a clustered flash array | |
US8930307B2 (en) | Method for removing duplicate data from a storage array | |
US8799238B2 (en) | Data deduplication | |
US8224874B2 (en) | Systems and methods for removing unreferenced data segments from deduplicated data systems | |
US20130346720A1 (en) | Garbage collection in a storage system | |
CN103098035A (zh) | 存储系统 | |
US8621143B2 (en) | Elastic data techniques for managing cache storage using RAM and flash-based memory | |
CN110196818B (zh) | 缓存数据的方法、缓存设备和存储系统 | |
JP2017079053A (ja) | ストレージジャーナリングを改善する方法およびシステム | |
Zhang et al. | Multi-level selective deduplication for vm snapshots in cloud storage | |
CN107422989B (zh) | 一种Server SAN系统多副本读取方法及存储系统 | |
US9892014B1 (en) | Automated identification of the source of RAID performance degradation | |
Park et al. | A lookahead read cache: improving read performance for deduplication backup storage | |
Zhang et al. | {Low-Cost} Data Deduplication for Virtual Machine Backup in Cloud Storage | |
Kim et al. | Exploiting compression-induced internal fragmentation for power-off recovery in SSD | |
JP2018106545A (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
Zhang et al. | Parity-only caching for robust straggler tolerance | |
US20120272008A1 (en) | Storage system and its data processing method | |
WO2018071370A2 (en) | Method and apparatus for storing information using an intelligent block storage controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |