1. 程式人生 > >數據恢復過程之:服務器raid5兩塊硬盤離線數據恢復

數據恢復過程之:服務器raid5兩塊硬盤離線數據恢復

服務器 數據恢復 riad5 磁盤陣列 離線

服務器故障情況簡介:
客戶的一臺ibm x3850服務器上組了一個raid5磁盤陣列,有兩塊硬盤離線,服務器崩潰。北亞數據恢復中心工程師對服務器進行初檢,客戶的磁盤陣列由5塊硬盤組成,linux redhat 5.3操作系統,存儲一個oracle數據庫。陣列中有兩塊硬盤處於離線狀態,熱備盤未激活。硬盤無物理故障,無明顯同步表現。

數據恢復方案:

1.關閉服務器同時確保在恢復過程中不再開啟服務器,將故障盤進行標記後取出槽位掛載至數據恢復公司的備份服務器環境進行鏡像備份。完成後恢復原故障服務器。
2.分析備份盤中的raid結構,得到原陣列中的raid界別、條帶大小、校驗方向、條帶規則以及meta區域等信息。
根據分析出來的raid信息虛擬搭建一組raid5環境對磁盤文件系統進行解釋,對虛擬結構的正確性檢測,數據無誤即可回遷數據。

服務器數據恢復及系統復原過程:

  1. 對原硬盤鏡像後發現除了2號盤有10-20個壞扇區外其他硬盤均正常。
  2. 對raid結構進行分析,最佳盤序結構是0-1-2-3,缺失3號盤,結構如下圖:
    技術分享圖片
    3.組好後數據驗證,200M以上的最新壓縮包解壓無報錯,按照這一結構將虛擬raid生成到一塊硬盤上,通過USB的方式把恢復後的單盤接入原服務器,通過linux SystemRescueCd啟動故障服務器後使用dd命令進行全盤回寫。
  3. 數據回寫完成後無法進入操作系統,報錯信息為:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied。工程師使用SystemRescueCd重啟後檢查發現文件的權限、時間、大小都有明顯錯誤,對根分區再次分析定位出錯的/sbin/pidof/datahf.net,得出問題原因是2號盤壞道。
  4. 通過其他盤針對2號盤的損壞區域進行xor補齊並重新校驗文件系統,依然有錯誤,工程師只好再次對inode表進行檢查,發現2號盤損壞區域有部分節點表現為(圖中的55 55 55部分):
    技術分享圖片
    可以看出雖然節點中描述的uid還正常存在,但大小、屬性、最初的分配塊全部是錯誤的。通過日誌確定原節點塊的節點信息後進行修正,重新dd根分區,執行fsck -fn /dev/sda5/datahf.net檢測,報錯情況如下圖:
    技術分享圖片
    經過分析發現,原來3號盤最先離線,節點信息新舊交集導致有多個節點共用數據塊,工程師按節點所屬的文件進行區別,清除錯誤節點後,再次執行fsck -fn /dev/sda5,依然有部分位於doc目錄下的節點報錯,由於不影響啟動所以強行修復後重啟系統,系統正常,啟動數據庫正常。此次數據恢復工作成功。

數據恢復過程之:服務器raid5兩塊硬盤離線數據恢復