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