服務器數據恢復環境:
某品牌服務器由4塊SAS硬盤組成RAID5,Linux操作系統;
存儲分區結構:boot分區+LVM卷(劃分了一個reiserfs文件系統,作為根分區)+swap分區。
服務器故障:
服務器在正常運行中由于未知原因導致系統癱瘓,管理員重新安裝系統以后發現整個RAID邏輯卷變成:boot分區+swap分區+LVM卷,LVM卷中文件系統位置有個空的reiserfs超級塊。
需要恢復的就是原reiserfs文件系統中的所有數據,包含數據庫、網站程序、網頁、OA系統的所有辦公文檔。
服務器數據恢復過程:
1、服務器數據恢復工程師首先對故障服務器中所有硬盤以只讀方式做扇區級別的鏡像備份,后續的數據分析和數據恢復操作都基于鏡像文件進行,避免對原始數據造成二次破壞。
2、基于鏡像文件分析底層數據,通過對全盤reiserfs樹節點之間的關聯來確定原reiserfs分區位置,發現原reiserfs文件系統前面部分數據被覆蓋,應該是管理員在重裝系統時錯誤地初始化分區結構,裝好系統后無法導入LVM卷,試圖通過reiserfsck進行修復。
3、reiserfs文件系統對文件系統中所有的文件(含目錄)線性化后會以文件key生成B+樹,樹不斷增加節點,樹的結構整體拉展后會向磁盤的數據區平滑遷移,所以頂級節點一般不會被放在文件系統的最前面。
4、根目錄的文件KEY號通常是最小的,從空間上看,reiserfs文件系統前面的部分數據中存儲的應該是從根起始路徑最近的key節點。該案例的數據目錄層次較深,節點很大可能還存在。原reiserfs文件系統前面部分被覆蓋的數據已經無法恢復,位于reiserfs文件系統前面部分的整個樹的索引全部丟失,加上reiserfs的樹概念設計抽象,重搭建樹行不通。
5、通過北亞企安自主開發程序掃描整個原reiserfs文件系統區域的key節點,將所有節點導出。然后通過北亞企安自研程序對所有葉節點進行重新排序、過濾(去掉之前刪除文件丟棄的節點),重新生成二級、三級、四級等葉節點。選擇分區前面被覆蓋的空間作為新樹的結構區,生成對應地址信息。
6、對目錄命名:如果原樹路徑某節點丟失,則使用自定義的key節點編號命名;如果無法確定其父目錄,暫加入到/otherfiles目錄下。
7、根據上面對生成樹索引信息并寫入特定位置,再根據這些信息生成超級塊,設置clear標志。
8、在suse虛擬機下創建快照,掛載修復好的卷,這時候已經可以看到文件了。
9、在用于修復的suse虛擬機下掛載用來copy數據的目標硬盤,mkfs后將所有數據cp到目標盤。
10、用戶使用find命令整理所需數據,修正部分目錄文件位置與名稱。對于部分丟失的散文件則按照文件大小與文件頭標志查找,找到后移動并重命名。
11、通過上述步驟,將所有需要恢復的數據都找到了,經過用戶的反復驗證,確認恢復出來的數據完整可用。
審核編輯黃宇
-
服務器
+關注
關注
12文章
9674瀏覽量
87216 -
數據恢復
+關注
關注
10文章
633瀏覽量
17984
發布評論請先 登錄
服務器數據恢復—服務器重裝系統導致分區消失的數據恢復案例

服務器數據恢復—如何讓ZFS文件系統數據“起死回生”?

服務器數據恢復—Lustre分布式文件系統數據恢復案例

服務器數據恢復—LINUX系統刪除/格式化的數據恢復可行性分析
服務器數據恢復—raid5陣列+reiserfs文件系統數據恢復案例
服務器數據恢復—SAN LUN Mapping出錯導致文件系統共享沖突的數據恢復案例
服務器數據恢復—異常斷電導致linux系統無法啟動的數據恢復案例
服務器數據恢復—xfs文件系統服務器數據恢復案例
服務器數據恢復—CX4-480存儲中XFS文件系統分區丟失的數據恢復案例

評論