服務器數據恢復環境:
一臺IBM X系列服務器,4塊SAS硬盤組建一組RAID5陣列,采用的reiserfs文件系統。服務器操作系統分區結構:boot分區+LVM卷+swap分區(按照前后順序)。LVM卷中直接劃分了一個reiserfs文件系統,作為根分區。
服務器故障:
服務器在運行過程中由于未知原因癱瘓,管理員將服務器重裝系統,重裝系統后發現分區結構變為:boot+swap分區+LVM卷(按照前后順序),LVM卷中的reiserfs文件系統位置有一個空的reiserfs超級塊。
用戶需要恢復原LVM卷中的所有用戶數據,包括數據庫、網站程序與網頁、單位OA系統里的所有辦公文檔。
服務器數據恢復過程:
1、將故障服務器中所有磁盤編號后取出,以只讀方式將所有磁盤進行全盤的鏡像備份。備份完成后按照編號將所有磁盤還原到原服務器中。后續的數據分析和數據恢復操作都基于鏡像文件進行,避免對原始磁盤數據造成二次破壞。
2、北亞企安數據恢復工程師試圖通過全盤reiserfs樹節點之間的關聯確定原reiserfs分區位置。基于鏡像文件進行分析后,發現原來存儲數據的reiserfs文件系統的前2G數據被覆蓋。經過和管理員的溝通,確定了故障發生過程:管理員重新安裝系統時錯誤地初始化了分區結構,裝好系統后無法導入LVM卷,于是試圖通過reiserfsck進行修復。
reiserfs將文件系統中所有的文件(含目錄)線性化后,再以文件key生成B+樹。由于樹會不斷增加節點,樹的結構整體拉展后向整個磁盤的數據區做平滑遷移,所以頂級節點通常不會放在文件系統的最前面。因為根目錄的文件KEY號通常是最小的,所以前2G數據應該是從根起始路徑最近的key節點。用戶數據目錄層次較深,節點存在的可能性很高。因為reiserfs文件系統前面對整個樹的索引全丟失,加上reiserfs的樹概念設計抽象,重搭建樹會很困難。
3、通過北亞企安自主開發程序在掃描整個原reiserfs文件系統區域的key節點并將所有key節點導出。
4、然后使用北亞企安自主開發程序將所有的葉節點重新排序、過濾(去掉之前刪除文件丟棄的節點),重新生成二級、三級、四級等葉節點。
5、選擇分區前面的2G空間作為新樹的結構區,生成對應地址信息。目錄命名問題解決方法:針對原樹路徑某節點丟失的情況,使用自定義的key節點編號命名;針對無法確定其父目錄,可暫加入到/otherfiles目錄下。生成樹索引信息并寫入到特定位置,再根據這些信息生成超級塊并設置clear標志。
6、在suse虛擬機下創建快照,掛載修復好的卷,已經可以看到文件了。在修復用的suse虛擬機下掛載用于拷貝數據的目標硬盤,mkfs后將所有數據cp到目標硬盤。
7、用戶通過find命令整理所需數據,修正部分目錄文件位置與名稱。按大小與文件頭標志查找部分丟失的散文件,找到后移動到對應的目錄并重命名。
8、經過一番努力,所有需要恢復的數據都被找到了。經過用戶方的檢測,確認恢復出來的數據完整有效。本次數據恢復工作完成。
審核編輯:湯梓紅
-
服務器
+關注
關注
12文章
9123瀏覽量
85329 -
操作系統
+關注
關注
37文章
6801瀏覽量
123285 -
數據恢復
+關注
關注
10文章
568瀏覽量
17432
發布評論請先 登錄
相關推薦
評論