故障描述
本案例是 HP P2000 的儲存 vmware exsi 虛擬化平臺,由 RAID-5 由 10 塊 lT 硬碟組成,其中 6 號盤是熱備盤,由於故障導致 RAID-5 磁碟陣列的兩塊盤掉線,表現為兩塊硬碟亮黃燈。 經使用者方維護人員檢測,故障硬碟應為物理故障,表現為:序列號無法讀取,在 SAS 擴充套件卡上硬碟無法識別。
資料備份與修復
故障發生後使用者方工程師與我公司聯絡,經過詳細諮詢,瞭解到故障比較嚴重,必須把 RAID-5 磁碟陣列帶到我公司進行檢測,檢測 RAID-5 的每塊成員盤是物理故障 (磁頭損壞或者碟片劃傷) 還是邏輯故障。由於情況緊急,工程師在接到原盤以後,立即著手準備檢測。對能識別的好盤用連線到北亞映象站群伺服器上使用 WinHex 做扇區級映象站群,同時對不能識別的壞盤進行檢測。
首先將壞盤連線到外部的 SAS 擴充套件卡上,加電後透過硬碟工作聲音判斷硬碟電機能夠起轉,但是磁頭沒有進行尋道操作,於是嘗試把硬碟 PCB 分離下來對 HDA 元件氧化部分進行清潔操作,將 PCB 還原後故障依舊。於是和客戶溝通使用 6 號熱備盤的好 PCB 替換到故障盤上進行嘗試性修復,再將故障盤 PCB 上的 ROM 晶片替換到 6 號盤的好 PCB 上面後硬碟工作時起轉和磁頭尋道聲音都正常,但是在尋道結束後,有明顯的敲盤聲音,於是判斷有可能磁頭損壞。在和使用者溝通後嘗試使用 6 號熱備盤中的好磁頭對故障盤進行替換操作以讀取資料。在無塵室對故障盤進行開盤更換磁頭操作後,將故障盤連線到專業硬碟維修工作上進行檢測,發現故障盤已經不能識別,資料無法讀取。
因為使用者有兩塊故障盤,之前嘗試修復的都是其中一塊,再次和客戶溝通嘗試對另一塊故障盤進行修復操作。和先前的故障盤一樣,這塊盤的故障依舊是磁頭損壞,因為使用者的 HP OEM 盤價格昂貴,於是嘗試在網上購買 ST 原廠的相同型號硬碟進行磁頭更換。這塊硬碟的磁頭更換完成後,裝置能夠正常識別硬碟,於是將故障盤所有扇區完整映象站群到一塊相同容量的備份盤中。
 
重組 RAID-5 步驟
【判斷起始扇區】所有硬碟都映象站群好後就可以重組了,用 WinHex 開啟 9 塊盤 (熱備盤不需要加進去重組),先把映象站群檔案解析成磁碟。可以看到這 9 塊盤的 0 扇區都有 “55 AA” 標誌,如圖 1 所示。

圖 1
查詢結果如圖 2 所示,0x01C2H 處表示該分割槽的型別,這裡顯示 “05”,代表這是一個擴充套件分割槽。因此從 0 扇區看這是一個不正常的 MBR 分割槽結構。

圖 2
按圖 1 方式繼續往下找,分別在 9 號盤和 8 號盤找到了 “55 AA” 的標誌。 9 號盤查詢結果如圖 3 所示。這是一個正常的 MBR 分割槽,其 0x01C6 處數值代表指向的下一個扇區為 GPT 的頭部。

圖 3
8 號盤查詢結果如圖 4 所示。其 0x01C6 處數值代表指向下一個扇區。但是下一個扇區很明顯不是 GPT 的頭部。

圖 4
由此可以確定 9 號盤是第一塊盤,8 號盤可能是最後一塊盤。 GPT 分割槽所在扇區起始於 172032 扇區,因此初步確定 LUN 的起始扇區是 172032 扇區。
【判斷條帶 (stripe) 大小】條帶也稱塊,它是 RAID 處理資料的基本單元。不同的 RAID 其條帶大小有所不同。 RAID-5 的 1 個條帶組中有 1 個校驗區,1 個校驗區的大小等於 1 個條帶的大小,根據這一點,針對這個 RAID-5 案例做分析。如果對 VMFS 的檔案系統不熟悉,可以透過比較法確定條帶大小。如某一條帶組中的校驗區跟這一條帶組中的非校驗區可能相差的很明顯,透過 WinHex 檢視並做對比,就可以找到條帶大小。本案例判斷出一個條帶是 1024 個扇區。
【判斷 RAID-5 成員盤盤序】按照 1024 扇區分割,使一個記錄為一個條帶的大小,如圖 5 所示。並且 9 塊盤跳到同一記錄 283123 。

圖 5
當 9 塊盤都定位到同一位置時,透過對比可以判斷校驗區的走向,繼而判斷整個 RAID-5 的走向。之前已經判斷出 9 號盤是第一塊盤了,把 9 號盤放在第一個位置,接著就可以判斷走向了,結果如圖 6 所示 (drive9 是第 4 塊盤) 。確定 RAID-5 為左走向,盤序為 9,2,3,4,10,1,7,8,5 。

圖 6
前面內容初步確定了 LUN 的起始扇區是 172032 扇區。用 WinHex 跳到 172032 扇區,觀察各硬碟實際情況。如果 172032 扇區是 LUN 的起始扇區,那麼這個扇區所屬條帶中的 5 號盤應該是校驗區,但是此條帶中卻顯示 8 號盤是檢驗區,根據本案例 RAID-5 的左走向,5 號盤的校驗區應該在 172032-1024=171008 扇區,即上一個條帶。跳轉到 171008 扇區,發現校驗區為 5 號盤。因此可以確定 LUN 的起始扇區為 171008 扇區。
【重組 RAID-5】使用專業恢復工具按照確定的盤序組好,新增進去,如圖 7 所示。選擇 RAID-5,Stripe size 512KB,左非同步。

圖 7
 
點選 Build 進行重組。組好後,由於資料從 1024*8=8192 個扇區開始,若專業恢復工具沒有跳轉到此扇區的功能,那麼剛組好的 RAID 必須和一個檔案再進行一次 Build 重組操作。 RAID 的起始扇區 (Start sectors) 選擇 8192,這個檔案可以任意選擇起始扇區和大小大小 (Count sectors),如圖 8 和圖 9 所示,圖 10 是組好的 RAID-5 。

圖 8

圖 9

圖 10
移交資料
整個 RAID-5 就重建好後,由我公司商務聯絡使用者方驗收資料,使用者方確定資料沒問題,簽訂完驗收合同後,完整的 RAID-5 資料即可移交。移交時根據使用者方要求把資料移交到使用者方帶來的新盤上。恢復完的資料保留在我公司站群伺服器上 3 天,之後資料自動被系統銷燬。