一種跟蹤扇區數據變化虛擬機備份方法
【專利摘要】本發明涉及一種跟蹤扇區數據變化虛擬機備份方法,通過文件系統位圖文件來獲取磁盤簇的使用信息,完全備份時,獲取磁盤中已經使用的簇對應的扇區使用信息,將該簇存儲地址的數據進行備份并做hash操作,將hash值保存到hashmap中;增量備份時,將已使用簇與之前備份的簇進行比較,若此簇不存在則直接備份此簇對應的扇區的數據,并將此扇區中的值做hash插入到之前的hashmap中,若找到此簇,則比較現在數據的hash值和之前的hash值是否相同,相同則跳過不需要備份,不同則備份此簇對應扇區的數據,并使用新的hash值替換之前的值存入hashmap中。本發明可在CBT失效時,也可以達到增量備份的目的。
【專利說明】一種跟蹤扇區數據變化虛擬機備份方法
【技術領域】
[0001] 本發明涉及屬于VMware磁盤備份和恢復領域,尤其是涉及一種跟蹤扇區數據變 化虛擬機備份方法。
【背景技術】
[0002] VDDK作為VMware虛擬機的文件系統,就目前的表現來看還是存在不少的問題,因 此各個商家的備份軟件在應對VDDK自身產生的一些問題上均沒有較好的避免方法,這也 引起了數據保護成本的提升,或者保護失效,給客戶帶來數據丟失的災難。
[0003] NTFS系統是以MFT(主文件表)為核心,將整個分區的系統文件和用戶文件有 機的組合在一起的文件系統。文件系統中每個對象都是一種文件,因此它也包含$MFT、 $MFTMirr、$Bitmap、$boot等16個系統文件。位圖文件($Bitmap)存在NTFS文件系統中, 且存在于元數據文件中,對硬盤簇使用情況進行記錄,在位圖文件的MTF表中記錄了位圖 文件的數據存儲地址。
[0004] MFT包含很多帶有文件信息的記錄,這些記錄將整個文件系統的內容全部標注起 來,所有的記錄都可以當成文件來處理。
[0005] VMware在ESX/ESXI 4. 0 以后更高的版本引入了 CBT (changed blocktracking)虛 擬機磁盤的修改塊跟蹤技術,而此項技術正常的運行需要虛擬機啟動CBT時,虛擬機包含 零個快照,如果有快照則需要清空快照且重啟虛擬機,這樣顯然不能符合用戶業務連續不 中斷的宗旨。也就是說大部分情況下虛擬機的CBT設置是失敗的。在通常的處理方式中對 于CBT失效的問題都是重新去備份其整個完全磁盤,來達到備份保護數據的目的,這樣的 方式已經越來越不能滿足當下虛擬機迅速增加、數據量急劇膨脹的情況,這樣不僅在備份 的時候需要消耗更多的時間,而且使儲存的利用率呈指數下降,最重要的是這樣的話就不 能靈活做到在最佳時機完成保護虛擬機數據的目的。針對此類問題要想繼續進行快跟蹤備 份目前沒有發現有任何來解決此問題的方法。
【發明內容】
[0006] 本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種跟蹤扇區數據 變化虛擬機備份方法,在使用CBT失效時,仍然可以進行增量數據的備份,而不必要在備份 整個磁盤全部數據。
[0007] 本發明的目的可以通過以下技術方案來實現:
[0008] 一種跟蹤扇區數據變化虛擬機備份方法,包括完全備份和增量備份,所述完全備 份包括:
[0009] Al)獲取位圖文件,讀取該位圖文件的數據區中記錄的磁盤簇使用情況信息;
[0010] A2)根據所述磁盤簇使用情況信息以簇為單元計算已使用簇的hash值,并存儲至 hashmap中,同時對相應已使用簇對應的扇區數據進行備份;
[0011] 所述增量備份包括:
[0012] BI)獲取位圖文件,讀取該的數據區中記錄的磁盤簇使用情況信息;
[0013] B2)根據所述磁盤簇使用情況信息以簇為單元計算已使用簇的hash值;
[0014] B3)判斷hashmap中是否存在步驟B2)所計算的已使用簇的hash值,若是,則執行 步驟B4),若否,則將步驟B2)計算得的hash值添加入hashmap中,同時對相應已使用簇對 應的扇區數據進行備份;
[0015] B4)將步驟B2)計算得的hash值與hashmap中保存的hash值進行比較,判斷兩個 值是否相同,若是,則備份結束,若否,則對相應已使用簇對應的扇區數據進行備份,同時用 步驟B2)計算得的hash值替換hashmap中保存的hash值。
[0016] 優選地,進行備份前,判斷當前執行任務為完全備份還是增量備份。
[0017] 優選地,所述步驟Al)與步驟BI)中,獲取位圖文件后,判斷已使用簇是否為壞簇, 若是,則跳過該簇,若否,則執行進一步操作。
[0018] 所述位圖文件的獲取方式為:通過run Data屬性來獲取整個文件系統的Bitmap 屬性。
[0019] 所述步驟A2)與步驟B2)中,計算已使用簇的hash值具體為:
[0020] (a)獲取簇對應的位圖信息;
[0021] (b)將簇對應的位圖信息轉換成扇區對應的位圖信息;
[0022] (c)將步驟(b)獲得的位圖信息按扇區設定的塊大小進行分組;
[0023] (d)對每一個組內的連續扇區的數據值進行hash操作,獲得hash值。
[0024] 所述位圖文件對應的數據中每一個字節的每一位表示在邏輯驅動器中每個磁盤 簇的使用情況,"〇"表示其對應的磁盤簇為未使用簇,"1"表示其對應的磁盤簇為已使用簇。
[0025] 與現有技術相比,本發明方法讓CBT失效的虛擬機同樣也可以達到被增量備份的 目的,同時由于本發明站在整個文件系統層面來進行描述和處理,故系統完整性高,處理速 度快,特別適用于要求處理速度優先的生產場景。
【專利附圖】
【附圖說明】
[0026] 圖1為虛擬機內部文件示意圖;
[0027] 圖2為本發明備份具體流程示意圖;
[0028] 圖3為本發明hash值值過程流程圖。
【具體實施方式】
[0029] 下面結合附圖和具體實施例對本發明進行詳細說明。本實施例以本發明技術方案 為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護范圍不限于 下述的實施例。
[0030] 本發明實施例提供一種跟蹤扇區數據變化虛擬機備份方法,通過文件系統位圖文 件($Bitmap)來獲取磁盤簇的使用信息,從而獲取磁盤中已經使用的簇對應的扇區使用信 息,接著將該簇存儲地址的數據進行備份并做hash操作,將hash值保存到hashmap中;增 量備份的時候,獲取到已分配的簇與之前備份的簇進行比較,若此簇不存在則直接備份此 簇對應的扇區的數據,并將此扇區中的值做hash插入到之前的hashmap中,若找到此簇,則 比較現在數據的hash值和之前的hash值是否相同,相同則跳過不需要備份,不同則備份此 簇對應扇區的數據,并使用新的hash值替換之前的值存入hashmap中。
[0031] 進行備份時,需要在客戶端安裝備份代理客戶端(當然可以將代理放入存儲柜 中,這里以安裝外部代理為例來介紹),客戶選擇好要備份的虛擬機后,通過控制臺給客戶 端發送需要備份虛擬機的一些信息,客戶端通過WSDL(-種網絡通信服務語言)獲取ESXI 平臺虛擬機信息,并將需要備份的信息返回給客戶端,客戶端再將此數據返回給控制臺,控 制臺便將此數據信息保存到柜子的存儲中完成整個備份過程。
[0032] 圖1所示為正常使用關機狀態下虛擬機包含的文件圖。具體文件的作用如表1所 不O
[0033] 表 1
[0034]
【權利要求】
1. 一種跟蹤扇區數據變化虛擬機備份方法,其特征在于,包括完全備份和增量備份,所 述完全備份包括: A1)獲取位圖文件,讀取該位圖文件的數據區中記錄的磁盤簇使用情況信息; A2)根據所述磁盤簇使用情況信息W簇為單元計算已使用簇的hash值,并存儲至 hashmap中,同時對相應已使用簇對應的扇區數據進行備份; 所述增量備份包括: B1)獲取位圖文件,讀取該位圖文件的數據區中記錄的磁盤簇使用情況信息; B2)根據所述磁盤簇使用情況信息W簇為單元計算已使用簇的hash值; B3)判斷hashmap中是否存在步驟B2)所計算的已使用簇的hash值,若是,則執行步 驟B4),若否,則將步驟B2)計算得的hash值添加入hashmap中,同時對相應已使用簇對應 的扇區數據進行備份; B4)將步驟B2)計算得的hash值與hashmap中保存的hash值進行比較,判斷兩個值是 否相同,若是,則備份結束,若否,則對相應已使用簇對應的扇區數據進行備份,同時用步驟 B2)計算得的hash值替換hashmap中保存的hash值。
2. 根據權利要求1所述的跟蹤扇區數據變化虛擬機備份方法,其特征在于,進行備份 前,判斷當前執行任務為完全備份還是增量備份。
3. 根據權利要求1所述的跟蹤扇區數據變化虛擬機備份方法,其特征在于,所述步驟 A1)與步驟B1)中,獲取位圖文件后,判斷已使用簇是否為壞簇,若是,則跳過該簇,若否,貝U 執行進一步操作。
4. 根據權利要求1所述的跟蹤扇區數據變化虛擬機備份方法,其特征在于,所述位圖 文件的獲取方式為;通過run化ta屬性來獲取整個文件系統的Bitmap屬性。
5. 根據權利要求1所述的跟蹤扇區數據變化虛擬機備份方法,其特征在于,所述步驟 A2)與步驟B2)中,計算已使用簇的hash值具體為: (a)獲取簇對應的位圖信息; 化)將簇對應的位圖信息轉換成扇區對應的位圖信息; (C)將步驟化)獲得的位圖信息按扇區設定的塊大小進行分組; (d)對每一個組內的連續扇區的數據值進行hash操作,獲得hash值。
6. 根據權利要求1所述的跟蹤扇區數據變化虛擬機備份方法,其特征在于,所述位圖 文件對應的數據中每一個字節的每一位表示在邏輯驅動器中每個磁盤簇的使用情況,"〇" 表示其對應的磁盤簇為未使用簇,"1"表示其對應的磁盤簇為已使用簇。
【文檔編號】G06F9/455GK104461783SQ201410756594
【公開日】2015年3月25日 申請日期:2014年12月10日 優先權日:2014年12月10日
【發明者】袁康健 申請人:上海愛數軟件有限公司