RAID5崩潰資料丟失的解決方案

2021-07-28 05:39:41 字數 2393 閱讀 2011

第一部分:資料恢復方案

【使用者單位】某醫藥公司

【故障描述】

ibm x3850伺服器,5塊73g sas硬碟,其中4塊組成乙個raid5,另一塊做為熱備盤(hot-spare),3號盤早已經離線,但熱備盤未自動啟用rebuild(原因不明),之後2號盤離線,raid崩潰。

作業系統為linux redhat 5.3,應用系統為構架於oracle的乙個oa,資料重要,時間很急。因oracle已經不再對本oa系統提供後續支援,使用者要求盡可能資料恢復+作業系統復原。

【初檢結論】

熱備盤完全無啟用,硬碟無明顯物理故障,無明顯同步表現。資料通常可恢復

【恢復方案】

1、保護原環境,關閉伺服器,確保在恢復過程中不再開啟伺服器。

2、將故障硬碟標好序號,確保在拿出槽位後可以完全復原。

3、將故障硬碟掛載至唯讀環境,對所有故障硬碟做完全映象(參考《如何對磁碟做完整的全盤映象備份》)。備份完成後交回原故障盤,之後的恢復操作直到資料確認無誤前不再涉及原故障盤。

4、對備份盤進行raid結構分析,得到其原來的raid級別,條帶規則,條帶大小,校驗方向,meta區域等。

5、根據得到的raid資訊搭建一組虛擬的raid5環境。

6、進行虛擬磁碟及檔案系統解釋。

7、檢測虛擬結構是否正確,如不正確,重複4-7過程。

8、確定資料無誤後,按使用者要求回遷資料。如果仍然使用原盤,需確定已經完全對原盤做過備份後,重建raid,再做回遷。回遷作業系統時,可以使用linux livecd或win pe(通常不支援)等進行,也可以在故障伺服器上用另外硬碟安裝乙個回遷用的作業系統,再進行扇區級別的回遷。

9、資料移交後,由北亞資料恢復中心延長保管資料3天,以避免可能忽略的紕漏。

【恢復週期】

備份時間,約2小時。

解釋及匯出資料時間,約4小時。

回遷作業系統,約4小時。

【恢復費用】

略。。。

第二部分:資料恢復及系統復原過程

1、對原硬碟進行完整映象,映象後發現2號盤有10-20個壞扇區,其餘磁碟,均無壞道。

2、分析結構:得到的最佳結構為0,1,2,3盤序,缺3號盤,塊大小512扇區,backward parity(adaptec),結構如下圖:

圖一:

3、組好後資料驗證,200m以上的最新壓縮包解壓無報錯,確定結構正確。

4、直接按此結構生成虛擬raid到一塊單硬碟上,開啟檔案系統無明顯報錯。

5、確定備份包安全的情況下,經客戶同意後,對原盤重建raid,重建時已經用全新硬碟更換損壞的2號盤。將恢復好的單盤用usb方式接入故障伺服器,再用linux systemrescuecd啟動故障伺服器,之後通過dd命令進行全盤回寫。

6、回寫後,啟動作業系統。正常情況下,這時候所有工作應該完成了。不巧的是,因幫頗費周折才解決,特意另起一段敘述。

系統復原過程:

dd所有資料後,啟動作業系統,無法進入,報錯資訊為:/etc/rc.d/rc.sysinit:line 1:/sbin/pidof:permission denied

懷疑此檔案許可權有問題,用systemrescuecd重啟後檢查,此檔案時間,許可權,大小均有明顯錯誤,顯然節點損壞。

重新分析重組資料中的根分割槽,定位出錯的/sbin/pidof,發現問題因2號盤壞道引起。

使用0,1,3這3塊盤,針對2號盤的損壞區域進行xor補齊。補齊後重新校驗檔案系統,依然有錯誤,再次檢查inode表,發現2號盤損壞區域有部分節點表現為(圖中的55 55 55部分):

圖二:

很明顯,雖然節點中描述的uid還正常存在,但屬性,大小,以最初的分配塊全部是錯誤的。按照所有可能進行分析,確定無任何辦法找回此損壞節點。只能希望修復此節點,或複製乙個相同的檔案過來。

對所有可能有錯的檔案,均通過日誌確定原節點塊的節點資訊,再做修正。

修正後重新dd根分割槽,執行fsck -fn /dev/sda5,進行檢測,依然有報錯,如下圖:

圖三:

根據提示,在系統中發現有多個節點共用同樣的資料塊。按此提示進行底層分析,發現,因3號盤早掉線,幫存在節點資訊的新舊交集。

按節點所屬的檔案進行區別,清除錯誤節點後,再次執行fsck -fn /dev/sda5,依然有報錯資訊,但已經很少。根據提示,發現這些節點多位於doc目錄下,不影響系統啟動,於是直接fsck -fy /dev/sda5強行修復。

修復後,重啟系統,成功進入桌面。

啟動資料庫服務,啟動應用軟體,一切正常,無報錯。

到此,資料恢復及系統回遷工作完成。

Raid5磁碟陣列raid資訊丟失資料恢復過程

北亞資料恢復中心接收到客戶的一台hp dl380 g4伺服器,伺服器使用hp smart array控制器掛載了一台國產磁碟陣列,磁碟陣列由14塊146g scsi硬碟組成一組raid5。作業系統為linux,構建了nfs ftp,作為公司內部檔案伺服器使用。由於伺服器機房進行搬遷,搬遷過程中管理員...

RAID 5(二)資料結構

這些文章已經寫了好幾年了,可能已經過時了。在msn space和qqzone幾經輾轉之後,我想也許這些技術文章還是放在搞技術的部落格中更能幫助人。於是做了乙個艱難的決定,把這些文章一篇篇搬過來!絕對是原創的。bio 與 stripe head 在linux塊裝置驅動中有乙個非常重要的資料結構那就是b...

我理解的RAID5

raid5 就是做奇偶校驗 異或操作 它假定兩塊硬碟同時壞的概率非常非常低,n塊硬碟做了raid5之後,可以用的是n 1塊硬碟的容量 例如,4塊硬碟,每塊硬碟的相應位做奇偶校驗 這也解釋了為什麼做raid之後,大容量的硬碟只能被識別出和其他硬碟大小相同的容量 1 2 3 4 0 0 0 0 0 0 ...