服務器數(shù)據(jù)恢復環(huán)境:
某品牌X3850服務器中有一組由數(shù)塊SAS硬盤組建的RAID5陣列,該陣列中有一塊盤是熱備盤。操作系統(tǒng)為linux redhat,上面跑著一個基于oracle數(shù)據(jù)庫的oa。
服務器故障:
服務器raid5陣列中有一塊硬盤離線,但是熱備盤沒有成功激活,之后另外一塊硬盤離線,RAID崩潰。
服務器數(shù)據(jù)恢復過程:
1、將故障服務器中所有硬盤標記后取出,硬件工程師檢測后沒有發(fā)現(xiàn)存在硬件故障的硬盤。將所有硬盤以只讀方式進行扇區(qū)級全盤鏡像,鏡像過程中發(fā)現(xiàn)較后掉線的那塊盤上存在少量壞扇區(qū),其余磁盤均沒有發(fā)現(xiàn)無壞道。
2、基于鏡像文件分析所有磁盤底層數(shù)據(jù),找到重組raid所需要的相關信息。
北亞企安數(shù)據(jù)恢復—raid5數(shù)據(jù)恢復
3、根據(jù)上述獲取到的raid結構相關信息(RAID級別,條帶規(guī)則,條帶大小,校驗方向,META區(qū)域等)重組raid,重組完成后進行數(shù)據(jù)驗證,發(fā)現(xiàn)200M以上的最新壓縮包解壓正常,判斷該raid結構信息沒有問題。
4、按照該結構生成RAID到一塊單硬盤上,打開文件系統(tǒng)無明顯報錯。
5、在確定備份沒有問題后,經(jīng)用戶方授權,對原盤重建RAID。重建時已經(jīng)用全新硬盤更換發(fā)現(xiàn)壞道的后掉線的那塊盤。
6、將恢復好的單盤接入故障服務器,用linux SystemRescueCd啟動故障服務器并通過dd命令進行全盤回寫。
7、回寫完成后啟動操作系統(tǒng),無法進入操作系統(tǒng)并且報錯,報錯信息為:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied,懷疑該文件權限有問題。用SystemRescueCd重啟后檢查,發(fā)現(xiàn)此文件時間,權限,大小均有明顯錯誤,顯然節(jié)點損壞。
8、分析重組數(shù)據(jù)中的根分區(qū),定位出錯的/sbin/pidof,發(fā)現(xiàn)問題是由于后掉線硬盤上的壞道導致的。
9、使用其他幾塊完好的硬盤針對后離線磁盤的損壞區(qū)域進行xor補齊。補齊后重新校驗文件系統(tǒng),依然有錯誤。再次檢查inode表,發(fā)現(xiàn)這塊盤損壞區(qū)域有部分節(jié)點表現(xiàn)異常。
北亞企安數(shù)據(jù)恢復—raid5數(shù)據(jù)恢復
雖然節(jié)點中描述的uid還正常存在,但屬性、大小、最初的分配塊全部錯誤。按照所有可能性進行分析后,確定無法找回此損壞節(jié)點。只能希望能夠修復此節(jié)點,或復制一個相同的文件過來。
10、針對所有可能有錯的文件,北亞企安數(shù)據(jù)恢復工程師通過日志確定原節(jié)點塊的節(jié)點信息,然后做修正。
11、修正后重新dd根分區(qū),執(zhí)行fsck -fn /dev/sda5進行檢測,依然報錯。
北亞企安數(shù)據(jù)恢復—raid5數(shù)據(jù)恢復
根據(jù)提示檢查發(fā)現(xiàn)在系統(tǒng)中發(fā)現(xiàn)有多個節(jié)點共用同樣的數(shù)據(jù)塊。按此提示分析底層,發(fā)現(xiàn)因為有一塊盤很早掉線,所以存在節(jié)點信息的新舊交集。
12、按照節(jié)點所屬的文件進行區(qū)別,清除錯誤節(jié)點后,再次執(zhí)行fsck -fn /dev/sda5,依然有報錯信息,但已經(jīng)很少。根據(jù)提示,發(fā)現(xiàn)這些節(jié)點多位于doc目錄下,不影響系統(tǒng)啟動,于是執(zhí)行fsck -fy /dev/sda5強行修復。
13、修復后,重啟系統(tǒng),成功進入桌面。啟動數(shù)據(jù)庫服務,啟動應用軟件,一切正常,無報錯。用戶方檢測后,認可數(shù)據(jù)恢復結果。
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9231瀏覽量
85625 -
數(shù)據(jù)恢復
+關注
關注
10文章
580瀏覽量
17522 -
RAID5
+關注
關注
0文章
121瀏覽量
12738
發(fā)布評論請先 登錄
相關推薦
評論