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