發生故障的服務器存儲爲常見存儲模式,物理存儲爲一臺Dell服務器,虛擬化系統爲esxi5.0。上層採用iSCSI方式實現FCSAN功能,上層的iSCSI是使用FreeNAS構建的。
·
服務器的FreeNAS層採用了UFS2文件系統,虛擬化系統裏有3臺虛擬機,本次服務器數據恢復的重點就是這三臺虛擬機。其中一臺虛擬機採用的是FreeBSD 系統,存儲的是數據庫文件,另外兩臺分別存儲了網站數據和Windows2003服務器,存儲的是數據庫數據和工做程序代碼。
·數據庫
客戶機房供電系統不穩定致使服務器存儲非正常關機,重啓後ESXI系統沒法鏈接存儲。機房管理員對服務器進行故障排查,發現FreeNAS的UFS2文件系統因爲非正常關機出現故障,因而對文件系統進行fsck修復並將ESXI系統鏈接到服務器存儲上。
·
管理員對上層文件系統及數據進行檢查,發現原服務器上的文件系統和存儲數據都沒法被識別,把vmfs進行了格式化等操做,最終致使數據丟失。
·小程序
數據恢復中心接到客戶的服務器硬盤後首先對FreeNAS層進行鏡像,而後進行底層數據分析。服務器數據恢復工程師在存儲內發現了一個被命名爲iscsidata的大文件,文件的容量有900G左右。服務器數據恢復工程師繼續分析文件系統結構,根據UFS2文件系統的存儲結構定位到這個大文件的iNode數據進行下一步查看。
·
經過查看發現iscsidata文件此前被重建過,iNode指針所指向的數據量很是少,在這種狀況下,想要進入到vmfs文件系統層進行數據分析和恢復首先要分析出FreeNAS層面的必要信息和數據。服務器數據恢復工程師經過分析獲得以下信息。
·
UFS2文件系統塊大小爲16kb,segment大小爲2kb,柱面組大小爲188176kb,每數據指針大小爲8字節,每一個塊可容納數據指針數量爲2048個。
·
由此信息能夠計算出,一個二級指針塊可存儲的數據量=2048204816KB=64GB。三級指針塊可存儲的數據量=64GB*2048=128TB。
·
服務器數據恢復工程師計劃經過iscsidata文件的三級指針塊來恢復FreeNAS層的數據,但因爲該文件曾經被重建,致使了部分指針被重建的數據所覆蓋,原文件的iNode和重建後的文件iNode所在的位置徹底一致,也沒有其餘可用於數據恢復iNode數據。
·
服務器數據恢復工程師根據服務器的實際數據狀況編寫了比以往數據恢復時條件更寬泛的小程序收集有用的指針塊,並收集到了大量二級指針塊和三級指針塊。
·
服務器數據恢復工程師首先分析三級指針塊,但遺憾的是這些指針塊通過檢查都是無效的,於本次服務器數據恢復而言無用(估計是重建時被覆蓋了,新的iscsidata文件在掛載到ESXi5.0後有個VMFS格式化過程,而 ESXi5.0 使用GPT分區,GPT分區會在磁盤最後寫入冗餘的GPT頭和分區表信息數據,這樣會使用iscsidata文件的三級指針塊)。
·
繼續分析二級指針塊,對有大量的二級指針塊的指向數據進行DUMP,而後再從磁盤中的數據定位到二級指針。這樣獲得大量DUMP的數據
·
服務器數據恢復工程師運用以往研究到的NTFS和UFS2文件系統結構想一想定位到vmfs層,繼而定位到DUMP出的單個64GB文件,進行數據組合。
·
通過複雜的查詢和重組操做,最終服務器數據恢復工程師成功恢復出了客戶服務器存儲內的3臺虛擬機及虛擬機內的所有數據。
·服務器
服務器數據恢復工程師將恢復出來的數據上傳到新構建出來的系統中進行驗證,經客戶管理員進行驗證,全部數據恢復成功,本次數據恢復的成功率爲100%。ide