EMC 儲存資料恢復案例詳解【資料恢復方案】

star2588發表於2018-05-10
【科普Isilon的儲存結構】
Isilon內部使用的是分散式檔案系統OneFS。在Isilon儲存叢集裡面每個節點均為單一OneFS檔案系統,所以Isilon在支援橫向擴充套件的同時並不會影響資料正常使用。在儲存叢集工作時,所有節點提供相同的功能,節點與節點之前沒有主備之分。當使用者往儲存叢集中儲存檔案時,OneFS層會將檔案分成128K的片段分別存到不同的節點中,而在節點層又會將128K的片段分成8K的小片段分別存到該節點的不同硬碟中。而使用者檔案的Indoe資訊、目錄項及資料MAP則會分別儲存在所有節點中,這樣可以確保使用者不管從那個節點都可以訪問到所有資料。Isilon在初始化時會讓使用者選擇相應的儲存冗餘模式,不同的冗餘模式所提供的資料安全級別也不一樣(預設3個節點採用N+2:1模式)。

【儲存資料恢復故障描述】
某公司管理員由於誤操作將伺服器中包括MSSQL資料庫,以及大量的MP4、ASF和TS型別的影片檔案等重要資料刪除。需要進行資料恢復的這臺伺服器整體儲存架構採用EMC高階網路NAS(Isilon S200),節點數量為3個,每個節點配置12塊3T STAT硬碟,無SSD。需要進行資料恢復的資料包括vmware虛擬機器(WEB伺服器)和影片檔案,虛擬機器透過NFS協議共享到ESX主機,影片檔案透過CIFS協議共享給虛擬機器(WEB伺服器)。NFS共享的所有資料(也就是所有虛擬機器)被刪除而CIFS共享的資料則沒有被刪除。

【備份伺服器資料】
因考慮到資料安全性,避免對資料造成二次破壞,需對所有硬碟進行全部備份。但是由於磁碟數量太多(單節點12塊盤,3個節點36塊盤),且單盤容量太大(單盤3TB,一共108TB),因此備份週期會較長。最終客戶決定,只對儲存中現有資料進行備份,並且由資料恢復公司備份一次,客戶再備份一次,以確保現有資料安全。

【伺服器資料分析】
伺服器資料備份完成後在Isilon的web管理介面中將Isilon正常關機。再將所有節點上的所有硬碟貼上標籤,並依次取出再放到資料恢復平臺中,開始分析所有硬碟中的資料。
由於客戶資料是被刪除了,因此不用過多考慮儲存的冗餘級別,重點需要分析檔案刪除後,檔案Indoe及資料MAP是否發生變化。刪除的虛擬磁碟檔案都在64G或以上,並且儲存中沒有其他型別的大檔案。編寫掃描所有檔案Indoe的程式,將檔案大小符合64G或以上的Indoe都掃描出來。再仔細分析掃描出來的Indoe,發現Indoe中記錄的資料MAP位置,其index指向的內容已不再是正常資料,並且所有節點上的Indoe均是同樣的情況。再仔細分析Inode,發現大檔案的資料MAP會有多層(樹結構),並且資料MAP中會記錄檔案的唯一ID,因此可以嘗試找到檔案最底層的資料MAP。抱著僥倖心理對檔案最底層的資料MAP做遍歷跟蹤操作,發現最低層的資料MAP果然還在。

【資料恢復過程】
從檔案的Inode中取出檔案的唯一ID,然後對所有符合該ID的資料MAP做聚合。並根據資料MAP中的VCN號做排序,發現每個檔案的前17088項資料MAP都不存在,也就意味著每個檔案的前17088項資料是真的沒辦法恢復了(心情一下跌落低谷)。
仔細換算了一下發現丟失的資料MAP項總共才包含不到1G的資料,而刪除的檔案全是虛擬機器的vmdk檔案,裡面都是NTFS的檔案系統,而NTFS檔案系統的MFT基本都在3G的位置,也就是隻需要在每個vmdk檔案的頭部手動偽造一個MBR和DBR就可以解釋vmdk裡面的資料了。對掃描到的資料MAP做解釋,並根據VCN號的順序匯出資料,沒有MAP的情況保留為零。
經過不斷的測試,先匯出一個vmdk檔案來看看。結果令我大吃一驚,匯出的vmdk檔案比實際情況要小,並且vmdk中MFT的位置也與自身描述不符。手動隨機驗證了幾個MPA發現都能指向資料區,而程式解釋MAP的方式也都沒有問題。所以猜測到可能為檔案稀疏!
將程式碼進行部分調整後重新匯出剛才的vmdk,這次vmdk大小符合實際大小,且MFT的位置也在相應位置。手工偽造一個MBR,分割槽表以及DBR,再用檔案系統解釋工具(自用工具)成功解釋其檔案系統,匯出vmdk裡面的資料庫及影片檔案。
在驗證了此vmdk中的資料庫及影片檔案沒問題後,批次匯出所有重要的vmdk檔案,再手工一個一個的去修改每個vmdk檔案。

【資料驗收】
將客戶所有重要的資料恢復完成後,由客戶方安排工程師對恢復的所有資料做完整性及準確性檢測,資料最終確定完全沒有問題,資料恢復成功。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31536640/viewspace-2154304/,如需轉載,請註明出處,否則將追究法律責任。

相關文章