服務器數據恢復環境:
一臺服務器,虛擬化系統為esxi,上層使用iSCSI的方式實現FC SAN功能,iSCSI通過FreeNAS構建。
FreeNAS采用了UFS2文件系統,esxi虛擬化系統里有3臺虛擬機:其中一臺虛擬機安裝FreeBSD系統,存放數據庫文件;一臺虛擬機存放網站數據;一臺虛擬機安裝Windows server系統,存放數據庫數據和程序代碼。
服務器故障:
機房供電不穩,服務器非正常關機,重啟服務器后發現ESXI虛擬化系統無法連接存儲。工作人員對服務器進行故障排查,發現UFS2文件系統出現故障,于是fsck修復UFS2文件系統并將ESXI虛擬化系統連接到存儲上。
檢查文件系統及數據,發現原服務器上的文件系統和數據都無法識別。工作人員又將vmfs進行了格式化操作,導致數據丟失。
服務器數據恢復過程:
1、將服務器所有硬盤編號后取出,經過硬件工程師檢測,沒有發現有硬盤存在物理故障。將所有磁盤以只讀方式進行扇區級全盤鏡像,鏡像完成后按照編號將所有磁盤還原到原服務器中。后續的數據分析和數據恢復操作都基于鏡像文件進行,避免對原始磁盤數據造成二次破壞。
2、基于鏡像文件分析底層數據。經過分析,北亞企安數據恢復工程師發現了一個被命名為iscsidata的大小為幾百GB的大文件。根據UFS2文件系統的存儲結構定位到這個大文件的iNode數據。
3、查看iNode數據發現iscsidata文件被重建過,iNode指針指向的數據量非常少。這種情況下要進入vmfs文件系統層去恢復數據就需要先分析出FreeNAS層的必要信息和數據。
4、通過分析得到如下信息:
UFS2文件系統塊大小為16kb,segment大小為2kb,柱面組大小為188176kb,數據指針大小為8字節,每個塊可容納數據指針數量為2048個。
通過上面信息計算:一個二級指針塊可存儲的數據量=2048*2048*16KB=64GB。三級指針塊可存儲的數據量=64GB*2048=128TB。
5、嘗試通過iscsidata文件的三級指針塊來恢復FreeNAS層的數據。由于iscsidata文件曾經被重建過,部分指針被重建的數據所覆蓋,原文件的iNode和重建后的文件的iNode所在的位置完全一致,沒有其他可用于恢復數據的iNode數據。
6、北亞企安數據恢復工程師根據服務器的實際數據情況編寫小程序收集有用的指針塊,通過小程序收集到了大量二級指針塊和三級指針塊。
7、分析三級指針塊后發現這些指針塊都是無效的,應該是重建iscsidata文件時被覆蓋了。新的iscsidata文件在掛載到ESXi后有個VMFS格式化過程,本案例中的ESXi使用GPT分區,GPT分區會在磁盤最后寫入冗余的GPT頭和分區表信息數據,這個過程會使用iscsidata文件的三級指針塊。
8、分析二級指針塊,對有大量二級指針塊的指向數據進行DUMP,然后再從磁盤中的數據定位到二級指針。通過這種方式獲取到大量DUMP的數據。
9、根據NTFS和UFS2文件系統結構定位到vmfs層,繼而定位到DUMP出的單個64GB文件&組合數據。
10、經過復雜的查詢和重組操作,最終恢復出3臺虛擬機及虛擬機內的全部數據。
11、將恢復出來的數據上傳到準備好的環境中進行驗證,經過用戶方的仔細驗證,確認所有恢復數據完整有效。本次服務器數據恢復工作完成。
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9596瀏覽量
86965 -
數據恢復
+關注
關注
10文章
627瀏覽量
17939
發布評論請先 登錄
相關推薦
虛擬化數據恢復—UFS2文件系統數據恢復案例
服務器數據恢復—raid5陣列+reiserfs文件系統數據恢復案例
服務器數據恢復—異常斷電導致linux系統無法啟動的數據恢復案例
服務器數據恢復—xfs文件系統服務器數據恢復案例
服務器數據恢復—CX4-480存儲中XFS文件系統分區丟失的數據恢復案例

評論