IBM x3850 RAID5崩潰數(shù)據(jù)恢復(fù)及操作系統(tǒng)復(fù)原教程
IBM X3850服務(wù)器,5塊73G SAS硬盤(pán),其中4塊組成一個(gè)RAID5,另一塊作為熱備盤(pán)(Hot-Spare),3號(hào)盤(pán)早已經(jīng)離線,但熱備盤(pán)未自動(dòng)激活rebuild(原因不明),之后2號(hào)盤(pán)離線,RAID崩潰。 操作系統(tǒng)為linux redhat 5.3,應(yīng)用系統(tǒng)為構(gòu)架于oracle的一個(gè)oa,數(shù)據(jù)重要,時(shí)間很急。因oracle已經(jīng)不再對(duì)本oa系統(tǒng)提供后續(xù)支持,用戶要求盡可能數(shù)據(jù)恢復(fù)+操作系統(tǒng)復(fù)原。

【初檢及恢復(fù)方案】經(jīng)工程師檢測(cè)熱備盤(pán)完全無(wú)啟用,硬盤(pán)無(wú)明顯物理故障,無(wú)明顯同步表現(xiàn)。
數(shù)據(jù)通??苫謴?fù),工程師給出了解決方案: 1、保護(hù)原環(huán)境,關(guān)閉服務(wù)器,確保在恢復(fù)過(guò)程中不再開(kāi)啟服務(wù)器。
2、將故障硬盤(pán)標(biāo)好序號(hào),確保在拿出槽位后可以完全復(fù)原。
3、將故障硬盤(pán)掛載至只讀環(huán)境,對(duì)所有故障硬盤(pán)做完全鏡像。備份完成后交回原故障盤(pán),之后的恢復(fù)操作直到數(shù)據(jù)確認(rèn)無(wú)誤前不再涉及原故障盤(pán)。 4、對(duì)備份盤(pán)進(jìn)行RAID結(jié)構(gòu)分析,得到其原來(lái)的RAID級(jí)別,條帶規(guī)則,條帶大小,校驗(yàn)方向,META區(qū)域等。
5、根據(jù)得到的RAID信息搭建一組虛擬的RAID5環(huán)境。進(jìn)行虛擬磁盤(pán)及文件系統(tǒng)解釋。
6、檢測(cè)虛擬結(jié)構(gòu)是否正確,如不正確,重復(fù)4-7過(guò)程。確定數(shù)據(jù)無(wú)誤后,按用戶要求回遷數(shù)據(jù)。如果仍然使用原盤(pán),需確定已經(jīng)完全對(duì)原盤(pán)做過(guò)備份后,重建RAID,再做回遷。回遷操作系統(tǒng)時(shí),可以使用linux livecd或win pe(通常不支持)等進(jìn)行,也可以在故障服務(wù)器上用另外硬盤(pán)安裝一個(gè)回遷用的操作系統(tǒng),再進(jìn)行扇區(qū)級(jí)別的回遷。
【數(shù)據(jù)恢復(fù)過(guò)程】 1、對(duì)原硬盤(pán)進(jìn)行完整鏡像,鏡像后發(fā)現(xiàn)2號(hào)盤(pán)有10-20個(gè)壞扇區(qū),其余磁盤(pán),均無(wú)壞道。
2、分析結(jié)構(gòu):得到的最佳結(jié)構(gòu)為0,1,2,3盤(pán)序,缺3號(hào)盤(pán)。
3、組好后數(shù)據(jù)驗(yàn)證,200M以上的最新壓縮包解壓無(wú)報(bào)錯(cuò),確定結(jié)構(gòu)正確。 4、直接按此結(jié)構(gòu)生成虛擬RAID到一塊單硬盤(pán)上,打開(kāi)文件系統(tǒng)無(wú)明顯報(bào)錯(cuò)。
5、確定備份包安全的情況下,經(jīng)客戶同意后,對(duì)原盤(pán)重建RAID,重建時(shí)已經(jīng)用全新硬盤(pán)更換損壞的2號(hào)盤(pán)。將恢復(fù)好的單盤(pán)用USB方式接入故障服務(wù)器,再用linux SystemRescueCd啟動(dòng)故障服務(wù)器,之后通過(guò)dd命令進(jìn)行全盤(pán)回寫(xiě)。
6、回寫(xiě)后,啟動(dòng)操作系統(tǒng)?!鞠到y(tǒng)復(fù)原過(guò)程】 dd所有數(shù)據(jù)后,啟動(dòng)操作系統(tǒng),無(wú)法進(jìn)入,報(bào)錯(cuò)信息為:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied 懷疑此文件權(quán)限有問(wèn)題,用SystemRescueCd重啟后檢查,此文件時(shí)間,權(quán)限,大小均有明顯錯(cuò)誤,顯然節(jié)點(diǎn)損壞。 重新分析重組數(shù)據(jù)中的根分區(qū),定位出錯(cuò)的/sbin/pidof,發(fā)現(xiàn)問(wèn)題因2號(hào)盤(pán)壞道引起。 使用0,1,3這3塊盤(pán),針對(duì)2號(hào)盤(pán)的損壞區(qū)域進(jìn)行xor補(bǔ)齊。補(bǔ)齊后重新校驗(yàn)文件系統(tǒng),依然有錯(cuò)誤,再次檢查inode表,發(fā)現(xiàn)2號(hào)盤(pán)損壞區(qū)域有部分節(jié)點(diǎn)。很明顯,雖然節(jié)點(diǎn)中描述的uid還正常存在,但屬性,大小,以最初的分配塊全部是錯(cuò)誤的。按照所有可能進(jìn)行分析,確定無(wú)任何辦法找回此損壞節(jié)點(diǎn)。只能希望修復(fù)此節(jié)點(diǎn),或復(fù)制一個(gè)相同的文件過(guò)來(lái)。 對(duì)所有可能有錯(cuò)的文件,均通過(guò)日志確定原節(jié)點(diǎn)塊的節(jié)點(diǎn)信息,再做修正。 修正后重新dd根分區(qū),執(zhí)行fsck -fn /dev/sda5,進(jìn)行檢測(cè),依然有報(bào)錯(cuò)。
下一篇:linux安裝oracle