SeSparse資料恢復方案研究及恢復方法演示
關於虛擬機器快照檔案被刪除的恢復方式跳躍性較強,且沒有名詞解釋,導致產生歧義。為了驗證方案可行性,工程師特別對此類案例進行了案例還原,來分步演示虛擬化平臺SeSparse資料恢復方法,具體資料恢復演示過程如下。
1、搭建環境 在虛擬化平臺建立虛擬機器(父盤VMDK大於2T),為了後期匯出進行觀察,建立模式為精簡。
2、在新建的虛擬機器內寫入檔案,便於觀察快照索引與父盤資料之間的聯絡。
3、建立快照檔案,再寫入部分資料,以備驗證修改後快照內資料儲存方式與索引之間的聯絡。
4、虛擬機器部分操作完畢,關機準備對原VMDK檔案和快照檔案進行分析。(因為資料儲存內有虛擬機器,無法解除安裝資料儲存,進行了強制斷電)
5、使用恢復軟體開啟硬碟,準備匯出VMDK檔案和快照檔案。結果發現原VMDK匯出後變為0KB,快照檔案則順利匯出,實驗步驟中斷。
6、根據現象進行猜想,可能是資料量太小,沒有及時寫入VMDK。使用快照檔案進行了恢復,原意是要對VMDK檔案進行寫入,擴大資料量。結果發現恢復後新增一個VMDK檔案,且新寫入的資料都儲存於此檔案中。(結論:根據快照進行恢復後,新增資料並未寫入原VMDK檔案,而是以快照斷點為起始,做了一個新的快照檔案,之前的快照檔案被刪除)
7、進行了刪除快照操作(透過虛擬化平臺正常刪除而不是直接刪除快照檔案),發現快照和原VMDK進行了合併,資料區內容被寫入VMDK盤內。
8、重複1~4發現,在關機狀態下建立快照,只是簡單生成了1M大小檔案。在開機後,快照檔案變為23M,說明建立快照檔案索引應該是在虛擬機器開啟狀態下才會進行。
9、使用恢復軟體提取VMDK檔案發現仍然無法提取成功(提示Unable to open file),改用北亞虛擬化軟體by_vmfs提取程式提出VMDK檔案。
10、開始分析:
(1)根據頭部資訊,分別提取 high_idx 和 low_idx 、全域性點陣圖區、全域性索引區、資料區
(2)快照檔案預分配除資料區之外的所有區域
(3)低地址區域索引最大隻能索引相當於原VMDK檔案大小的資料區。
11、根據文件中給出的索引規則和實際情況,證明了快照檔案恢復無法依賴父盤資料,最多能遍歷父盤資料塊和索引得知哪些塊發生了變化。原因如下:
高位區跳轉低位區必須依賴父盤塊號;
低位區指標跳回高位區亦不可行(單向指標);
根據高位區域指標跳轉父盤塊號不可行,父盤塊號標明瞭高位區域的指標位置(單向指標)
12、如圖,根據文件中的資料推導演算法,第一步必須知道父盤塊號,才能找到它在快照檔案中的塊對應位置。快照檔案被刪除後,唯一能直接找到的只有快照頭。
根據父盤塊號和高位區域的索引,可以得到低位區域的所有編號(也就是低位索引的相對位置)。根據特徵,可以透過掃描的方式找到全域性點陣圖區、低位索引區、全域性索引區。由於1G塊數較少,可以遍歷拼接(多種內部相對位置關係)。但是資料區無法找到,無法確定父盤中的某一塊在更新後寫入了什麼檔案,無法根據檔案特徵進行資料塊排序。根據實驗結果來看,寫入的資料在檔案內是連續的(單程式寫入),不過對拼接基本無作用。
虛擬化資料恢復結論:快照檔案刪除後,依據現有演算法無法恢復快照檔案內的資料區部分(文件內也只有恢復索引的方案,不過索引恢復可以直接根據其特徵進行搜尋排序,與地址轉換無關)。小於2T快照恢復方案在處理資料區這部分也是一筆帶過的,是塊號、檔案內偏移還是其他方式不得而知。下步方案只能參考VMFSSparse快照恢復程式中關於二級索引跳轉資料區時,如何判斷哪些資料塊是屬於本檔案/資料區1G塊排序方式了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2724138/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫恢復方案資料庫
- 恢復資料,資料塊恢復
- EMC 儲存資料恢復案例詳解【資料恢復方案】資料恢復
- 【北亞資料恢復】什麼是Ceph?Ceph資料恢復研究資料恢復
- 資料恢復:AMDU資料抽取恢復資料恢復
- 資料底層損壞的恢復方法—拼碎片恢復資料
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 處理恢復資料方法
- (轉)sqlserver 資料恢復方法SQLServer資料恢復
- 【伺服器資料恢復】xen server常見故障的資料恢復方案伺服器資料恢復Server
- 分散式資料恢復-hbase+hive分散式儲存資料恢復方案分散式資料恢復Hive
- 伺服器磁碟陣列資料恢復,raid資料恢復方法伺服器陣列資料恢復AI
- 使用恢復建議恢復資料庫資料庫
- 【備份恢復】資料恢復指導資料恢復
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 恢復目錄資料庫(Recovery Catalog)作用及演示例項資料庫
- 【Vsan資料恢復】Vsan資料恢復案例資料恢復
- Vsan資料恢復—Vsan資料恢復案例資料恢復
- NAS陣列恢復資料資料恢復開盤陣列資料恢復
- Oracle資料庫的備份及恢復策略研究(轉)Oracle資料庫
- Sybase ASE資料庫恢復,Sybase資料恢復,資料誤刪除恢復工具READSYBDEVICE資料庫資料恢復dev
- 硬碟資料丟失原因和解決方案/資料恢復方法硬碟資料恢復
- 案例講解伺服器硬碟離線資料恢復方法-資料恢復伺服器硬碟資料恢復
- 伺服器資料恢復過程(伺服器資料恢復通用方法)伺服器資料恢復
- rman恢復方案和oracle異機恢復Oracle
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- rman不使用恢復目錄恢復資料庫示例及問題資料庫
- 資料庫修復資料恢復資料庫資料恢復
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 伺服器資料恢復-RAID5常見故障的資料恢復方案伺服器資料恢復AI
- 伺服器資料恢復-ESX SERVER資料恢復案例伺服器資料恢復Server
- 【伺服器資料恢復】Vsan資料恢復案例伺服器資料恢復
- 【伺服器資料恢復】SUN SOLARIS資料恢復案例伺服器資料恢復
- raid5常見故障資料恢復方法/伺服器資料恢復常用方法AI資料恢復伺服器
- U盤資料夾為空恢復方法,恢復U盤的空白資料夾
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- TRUNCATE資料恢復資料恢復
- ORACLE資料恢復Oracle資料恢復