服務器數(shù)據(jù)恢復環(huán)境:
一臺ibm某型號服務器,5塊硬盤組建一組raid5磁盤陣列,redhat linux操作系統(tǒng),上層部署有oracle數(shù)據(jù)庫。
服務器故障:
raid5陣列中兩塊硬盤離線,服務器崩潰。經(jīng)過初檢發(fā)現(xiàn)故障服務器中的硬盤不存在物理故障,熱備盤未激活,無同步跡象。
服務器數(shù)據(jù)恢復過程:
1、將故障服務器中的所有磁盤編號后取出槽位,掛載至北亞企安數(shù)據(jù)備份平臺,以只讀方式做全盤鏡像備份,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復操作都基于鏡像文件進行,避免對原始磁盤造成二次破壞。備份完成后將磁盤按照編號還原到原服務器中。對硬盤做鏡像過程中,發(fā)現(xiàn)除了2號盤有十幾個壞扇區(qū)外,其他硬盤均正常。
2、基于鏡像文件分析raid5結(jié)構(gòu),獲取到原陣列中的條帶大小、校驗方向、條帶規(guī)則以及meta區(qū)域等raid相關(guān)信息。
北亞企安數(shù)據(jù)恢復——raid5數(shù)據(jù)恢復
3、根據(jù)分析出來的raid相關(guān)信息虛擬重構(gòu)raid5。重構(gòu)完成后進行數(shù)據(jù)驗證,200M以上的最新壓縮包解壓無報錯。將raid5生成到一塊硬盤上,通過USB的方式接入到原服務器,然后通過linux SystemRescueCd啟動故障服務器并使用dd命令進行全盤回寫。
4、數(shù)據(jù)回寫完成后無法進入操作系統(tǒng),報錯信息為:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied。北亞企安數(shù)據(jù)恢復工程師使用SystemRescueCd重啟后進行檢查,發(fā)現(xiàn)文件的權(quán)限、時間、大小都有明顯錯誤。對根分區(qū)再次進行分析,定位出錯的/sbin/pidof/,確定出現(xiàn)錯誤的原因是2號盤有壞道。
5、通過其他盤針對2號盤的損壞區(qū)域進行xor補齊并重新校驗文件系統(tǒng),依然出錯。數(shù)據(jù)恢復工程師只好再次檢查inode表,發(fā)現(xiàn)2號盤損壞區(qū)域有部分節(jié)點表現(xiàn)為(圖中的55 55 55部分):
北亞企安數(shù)據(jù)恢復——raid5數(shù)據(jù)恢復
6、雖然節(jié)點中描述的uid還在,但大小、屬性和最初分配塊全部是錯誤的。通過日志確定原節(jié)點塊的節(jié)點信息并進行修正,重新dd根分區(qū),執(zhí)行“fsck -fn /dev/sda5/”命令進行檢測。報錯情況如下圖:
北亞企安數(shù)據(jù)恢復——raid5數(shù)據(jù)恢復
7、經(jīng)過分析發(fā)現(xiàn),原來3號盤最先離線,節(jié)點信息新舊交集導致有多個節(jié)點共用數(shù)據(jù)塊。北亞企安數(shù)據(jù)恢復工程師按節(jié)點所屬的文件進行區(qū)別,清除錯誤節(jié)點后再次執(zhí)行“fsck -fn /dev/sda5”命令,依然有部分位于doc目錄下的節(jié)點報錯。由于不影響啟動,強行修復后重啟系統(tǒng),系統(tǒng)正常,啟動數(shù)據(jù)庫正常。
8、經(jīng)過用戶方工程師反復驗證,確認恢復數(shù)據(jù)完整有效。本次數(shù)據(jù)恢復工作完成。
審核編輯 黃宇
-
服務器
+關(guān)注
關(guān)注
12文章
9160瀏覽量
85420 -
數(shù)據(jù)恢復
+關(guān)注
關(guān)注
10文章
573瀏覽量
17452
發(fā)布評論請先 登錄
相關(guān)推薦
評論