一、故障環境描述
客戶使用MD1200磁盤櫃+RAID卡的方式,建立一組RAID5陣列,配置設定一個LUN共55T左右,在Linux系統層面對LUN進行分區,劃分sdc1和sdc2兩個分區,其中sdc1分區大小為2T,通過LVM擴容的方式,将sdc1分區加入到了root_lv中,剩餘的sdc2分區格式化為XFS檔案系統使用。
客戶在對伺服器進行重裝系統操作後,發現sdc磁盤分區改變,原先的sdc2分區丢失,無法通路。
二、備份資料
為防止資料恢複過程中由于誤操作對原始磁盤造成二次破壞,使用winhex軟體為每塊磁盤做鏡像,以後所有的資料恢複操作都在鏡像盤上進行,不會對原始磁盤造成影響。
三、資料恢複
1、使用鏡像盤分析raid的盤序、條帶大小等資訊;
2、虛拟重組出raid結構;
3、定位到xfs檔案系統的分區起始位置;
4、校驗xfs檔案系統的完整性及正确性;
5、修複xfs檔案系統的超級塊結構;
修複完成的超級塊
6、對xfs檔案系統中丢失的節點及目錄項進行修複;
修複完成的根節點
重做的目錄項
7、修複完成後編寫程式解析xfs檔案系統,提取其中的資料。
四、資料恢複結果
對丢失的xfs檔案系統的進行檢測後發現,檔案系統頭部的超級塊及部分節點、目錄項丢失,根據超級塊備份及檔案系統中的目錄樹結構,對超級塊進行修複還原,對丢失的節點、目錄項進行修補、重構之後,檔案系統中99%以上的資料可以完整恢複
修複完成的目錄結構
五、資料恢複結論
由于資料丢失之後客戶未對存儲做任何寫入的破壞性操作,是以資料及檔案系統資訊絕大部分保留完整,資料100%恢複。