【伺服器資料恢復】伺服器reiserfs檔案系統損壞的資料恢復案例

北亞資料恢復發表於2022-10-13

伺服器資料恢復環境:


某品牌伺服器中4塊SAS硬碟組建RAID5。


boot分割槽+LVM卷+swap分割槽(按照先後順序),LVM卷中劃分了一個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的樹的抽象和程式除錯,整個恢復工作異常複雜。但是經過資料恢復工程師和使用者的努力,所有重要資料都被找

到。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2918149/,如需轉載,請註明出處,否則將追究法律責任。

相關文章