Raid

由於磁碟錯誤,RAID1 重建失敗

  • April 3, 2015

快速資訊:H700 適配器上的 RAID1 中帶有 2x500GB 驅動器的戴爾 R410

最近伺服器上 RAID1 陣列中的一個驅動器發生故障,我們稱之為 Drive 0。RAID 控制器將其標記為故障並使其離線。我用新磁碟(相同系列和製造商,只是更大)替換了故障磁碟,並將新磁碟配置為熱備用。

從 Drive1 重建立即開始,1.5 小時後我收到 Drive 1 失敗的消息。伺服器無響應(核心崩潰)並且需要重新啟動。鑑於此錯誤重建前半小時約為 40%,我估計新驅動器尚未同步,並嘗試僅使用驅動器 1 重新啟動。

RAID 控制器抱怨缺少 RAID 陣列,但它在驅動器 1 上發現了外部 RAID 陣列,我將其導入。伺服器啟動並執行(從降級的 RAID)。

這是磁碟的 SMART 數據。驅動器 0(第一個失敗的驅動器)

ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
 1 Raw_Read_Error_Rate     POSR-K   200   200   051    -    1
 3 Spin_Up_Time            POS--K   142   142   021    -    3866
 4 Start_Stop_Count        -O--CK   100   100   000    -    12
 5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
 7 Seek_Error_Rate         -OSR-K   200   200   000    -    0
 9 Power_On_Hours          -O--CK   086   086   000    -    10432
10 Spin_Retry_Count        -O--CK   100   253   000    -    0
11 Calibration_Retry_Count -O--CK   100   253   000    -    0
12 Power_Cycle_Count       -O--CK   100   100   000    -    11
192 Power-Off_Retract_Count -O--CK   200   200   000    -    10
193 Load_Cycle_Count        -O--CK   200   200   000    -    1
194 Temperature_Celsius     -O---K   112   106   000    -    31
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    0
198 Offline_Uncorrectable   ----CK   200   200   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   200   198   000    -    3

和驅動器 1(在嘗試重建之前從控制器報告為健康的驅動器)

ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
 1 Raw_Read_Error_Rate     POSR-K   200   200   051    -    35
 3 Spin_Up_Time            POS--K   143   143   021    -    3841
 4 Start_Stop_Count        -O--CK   100   100   000    -    12
 5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
 7 Seek_Error_Rate         -OSR-K   200   200   000    -    0
 9 Power_On_Hours          -O--CK   086   086   000    -    10455
10 Spin_Retry_Count        -O--CK   100   253   000    -    0
11 Calibration_Retry_Count -O--CK   100   253   000    -    0
12 Power_Cycle_Count       -O--CK   100   100   000    -    11
192 Power-Off_Retract_Count -O--CK   200   200   000    -    10
193 Load_Cycle_Count        -O--CK   200   200   000    -    1
194 Temperature_Celsius     -O---K   114   105   000    -    29
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    3
198 Offline_Uncorrectable   ----CK   100   253   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   100   253   000    -    0

在 SMART 的擴展錯誤日誌中,我發現:

驅動器 0 只有一個錯誤

Error 1 [0] occurred at disk power-on lifetime: 10282 hours (428 days + 10 hours)
 When the command that caused the error occurred, the device was active or idle.

 After command completion occurred, registers were:
 ER -- ST COUNT  LBA_48  LH LM LL DV DC
 -- -- -- == -- == == == -- -- -- -- --
 10 -- 51 00 18 00 00 00 6a 24 20 40 00  Error: IDNF at LBA = 0x006a2420 = 6956064

 Commands leading to the command that caused the error were:
 CR FEATR COUNT  LBA_48  LH LM LL DV DC  Powered_Up_Time  Command/Feature_Name
 -- == -- == -- == == == -- -- -- -- --  ---------------  --------------------
 61 00 60 00 f8 00 00 00 6a 24 20 40 00 17d+20:25:18.105  WRITE FPDMA QUEUED
 61 00 18 00 60 00 00 00 6a 24 00 40 00 17d+20:25:18.105  WRITE FPDMA QUEUED
 61 00 80 00 58 00 00 00 6a 23 80 40 00 17d+20:25:18.105  WRITE FPDMA QUEUED
 61 00 68 00 50 00 00 00 6a 23 18 40 00 17d+20:25:18.105  WRITE FPDMA QUEUED
 61 00 10 00 10 00 00 00 6a 23 00 40 00 17d+20:25:18.104  WRITE FPDMA QUEUED

但是驅動器 1 有 883 錯誤。我只看到最後幾個錯誤,我可以看到的所有錯誤如下所示:

Error 883 [18] occurred at disk power-on lifetime: 10454 hours (435 days + 14 hours)
 When the command that caused the error occurred, the device was active or idle.

 After command completion occurred, registers were:
 ER -- ST COUNT  LBA_48  LH LM LL DV DC
 -- -- -- == -- == == == -- -- -- -- --
 01 -- 51 00 80 00 00 39 97 19 c2 40 00  Error: AMNF at LBA = 0x399719c2 = 966203842

 Commands leading to the command that caused the error were:
 CR FEATR COUNT  LBA_48  LH LM LL DV DC  Powered_Up_Time  Command/Feature_Name
 -- == -- == -- == == == -- -- -- -- --  ---------------  --------------------
 60 00 80 00 00 00 00 39 97 19 80 40 00  1d+00:25:57.802  READ FPDMA QUEUED
 2f 00 00 00 01 00 00 00 00 00 10 40 00  1d+00:25:57.779  READ LOG EXT
 60 00 80 00 00 00 00 39 97 19 80 40 00  1d+00:25:55.704  READ FPDMA QUEUED
 2f 00 00 00 01 00 00 00 00 00 10 40 00  1d+00:25:55.681  READ LOG EXT
 60 00 80 00 00 00 00 39 97 19 80 40 00  1d+00:25:53.606  READ FPDMA QUEUED

鑑於這些錯誤,有什麼辦法可以重建 RAID,或者我應該備份、關閉伺服器、用新磁碟替換磁碟並恢復它?如果我從執行在 USB/CD 上的 linux 將故障磁碟添加到新磁碟怎麼辦?

另外,如果有人有更多經驗,這些錯誤的原因可能是什麼?糟糕的控制器或磁碟?磁碟大約有 1 年的歷史,但對我來說,兩者都會在如此短的時間內死亡,這讓我難以置信。

實際上,如果磁碟都來自製造商的同一批次,那麼它們幾乎同時出現故障也就不足為奇了。

它們具有相同的製造工藝、環境和使用模式。這就是為什麼我通常會嘗試從不同供應商那裡訂購相同型號的驅動器。

我首選的做法是聯繫製造商,更換更好的磁碟,從備份中恢復。

DD’ing 也沒有錯,但我通常需要盡快啟動服務。

回到 IBM Deskstars 慘敗的那一天,在使用 4 年之後,我在 6 週內就遇到了一整套 8 個磁碟全部損壞的情況。我的數據完好無損,我幾乎沒有擺脫困境。

引用自:https://serverfault.com/questions/434988