伺服器數據恢復-Linux ext4文件系統損壞的數據恢復案例

伺服器數據恢復環境:

一台伺服器掛載一台存儲設備,存儲中劃分一個Lun;伺服器操作系統是Linux centos,EXT4文件系統。



伺服器故障&分析:

意外斷電導致伺服器操作系統無法啟動,系統在修復後可以正常啟動,但是掛載的分區無法正常訪問。管理員對這個分區執行了fsck修復,修復後文件系統可以正常訪問,但是發現部分文件丟失。經過查找在lost+found文件夾中發現缺失的部分文件,但是文件名稱已經被改變。

將故障存儲中的lun以只讀模式映射到一台windows server伺服器上,將整個lun以扇區的方式鏡像到該伺服器的空間,後續的數據分析和數據恢復操作都基於鏡像文件進行,避免對原始數據造成二次破壞。

基於鏡像文件分析該lun的底層數據,發現意外斷電導致文件系統中的文件的目錄項被破壞,這種破壞不會影響實際數據,只是文件的目錄項被破壞,可以通過人工進行修復。但是接下來的管理員對文件系統執行fsck修復操作導致損壞的目錄項修復失敗,以目錄節點號命名放到lost+found文件夾下,這種情況下目錄項對應的數據區索引會被清,但是也不會影響丟失文件的實際數據。

由於ext4文件系統文件丟失會導致文件的節點信息被清除,無法根據文件的節點信息恢複數據,只能通過將丟失文件的目錄項節點號和lost+found文件夾里的文件名稱相配的方法進行處理。lost+found文件夾里的文件是以該文件的目錄項節點號命名的,將目錄項節點號提取出來和lost+found文件夾里的文件名稱進行匹配,就可以還原之前的目錄結構。


伺服器數據恢復過程:

1、按照上述分析思路進行底層分析,根據EXT4的文件系統結構信息,在底層空間中掃描符合的目錄項的區域,並統計其數量和計算目錄項的節點號。

2、根據磁碟中文件系統的信息,北亞企安數據恢復工程師將這些掃描到的目錄項節點號進行整合,並將掃描到的目錄項節點號記錄到資料庫。

3、將lost+found文件夾裡面的文件記錄號和資料庫裡面的記錄號進行匹配。

4、匹配完成後批量恢複數據,經過用戶方工程師驗證沒有發現問題。本次數據恢復工作完成。