服務器數據恢復環境:
一臺Linux Redhat操作系統服務器上有一組由5塊硬盤組建的raid5陣列,包含一塊熱備盤。上層部署一個OA系統和Oracle數據庫。
服務器故障:
raid5陣列中的1塊磁盤離線,硬盤離線卻沒有激活熱備盤,直到另外一塊磁盤離線導致陣列崩潰。
用戶要求恢復raid5的數據和盡可能還原操作系統。經過北亞企安數據恢復工程師初步檢測,故障服務器中所有硬盤均沒有發現明顯物理故障,也沒有發現有明顯的同步跡象。
服務器數據恢復過程:
1、將故障服務器關機后,把服務器中的磁盤編號后取出槽位,經過硬件工程師檢測,沒有發現有硬盤存在物理故障。以只讀方式將所有磁盤進行完整鏡像備份。備份完成后根據編號將磁盤還原至原服務器中,后期的數據分析和數據恢復操作基于鏡像進行,避免對原始磁盤數據造成二次破壞。
2、基于鏡像文件進行分析,北亞企安數據恢復工程師在后掉線的那塊硬盤紅發現了十幾個壞扇區,其他硬盤發現都沒有壞道。繼續分析raid5結構相關信息。
北亞企安數據恢復——RAID5數據恢復
3、使用分析獲取到的raid結構相關信息嘗試重組raid5陣列。經過驗證確定分析出來的raid結構是正確的。按照這個結構在一塊單盤上生成虛擬raid并嘗試打開,沒有明顯報錯。
4、和用戶方溝通后,用戶方要求我們對原盤重建raid(有壞道的那塊盤已經替換)。把步驟2中恢復好的單盤用USB接到故障服務器上,再用linux SystemRescueCd啟動,通過dd命令進行全盤回寫,回寫完成后啟動操作系統。
5、操作系統啟動過程中報錯:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied,北亞企安數據恢復工程師推測報錯原因是文件權限有問題。用SystemRescueCd進行重啟后進行檢查,發現文件的權限、大小、時間都有明顯的錯誤,節點損壞。
6、找到報錯原因后對重組數據中的根分區進行重新分析,定位出錯的/sbin/pidof,發現發生故障的原因還是由于那塊后掉線硬盤的壞道。我們只好使用raid陣列中完好的磁盤對那塊有壞道的磁盤的損壞區域進行xor補齊。
7、補齊之后對文件系統進行檢驗依然報錯。再一次檢查iNode表發現那塊有壞道磁盤的損壞區域有部分節點表現為下圖中55 55 55部分。
北亞企安數據恢復——RAID5數據恢復
通過上圖可以看到,雖然節點中描述的uid看起來是正常的,但是大小、屬性、最初的分配塊都是錯誤的。北亞企安數據恢復工程師團隊對所有可以想到的數據恢復方案進行分析后,沒有找到好的辦法將這個損壞的節點找回來,只能嘗試修復或者以相同文件進行代替。
8、通過日志把一切可能有錯的文件原節點塊的節點信息確定出來,然后再進行修正。修正之后重新dd了根分區,但是執行fsck -fn /dev/sda5仍然報錯。
北亞企安數據恢復——RAID5數據恢復
9、根據報錯提示繼續查看分析,發現系統中有多個節點共用同樣的數據塊,應該是磁盤早掉線而導致出現了節點信息新舊交集的情況。將錯誤節點清除后再次執行fsck -fn /dev/sda5依然報錯。但是這些節點大多是在doc目錄下,并不影響系統啟動,于是強行修復并重啟系統,進入系統后啟動數據庫和應用軟件,沒有
出現報錯,一切正常。
10、由用戶方工程師對恢復數據進行檢測,經過用戶方檢測,確認恢復數據有效,認可數據恢復結果。本次數據恢復工作完成。
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9029瀏覽量
85207 -
數據恢復
+關注
關注
10文章
552瀏覽量
17395 -
數據庫
+關注
關注
7文章
3767瀏覽量
64279 -
RAID5
+關注
關注
0文章
112瀏覽量
12707
發布評論請先 登錄
相關推薦
評論