raid 控制器如何確定哪個磁碟故障?

raid 控制器如何確定哪個磁碟故障?

所以我想到使用 XOR 奇偶校驗無法確定條帶集中哪個磁碟出現故障。

假設該組中的一個磁碟正在無聲地翻轉磁碟片上的位元(也稱為位元腐爛),例如由於韌體錯誤。磁碟沒有故障或報告壞塊,但它偶爾會向磁碟提交與輸入不同的內容。

與其他校驗和一樣,使用 XOR 不會說明條帶中的哪個磁碟是導致奇偶校驗計算錯誤的原因,但您知道其中一個磁碟有問題。

考慮到 raid 5 的限制,這種情況必須以某種方式解決,但老實說它讓我感到困惑。我可以想像帶有水平(raid-4'ish)和對角奇偶校驗的raid-6 可以對壞塊進行三角測量並顯示哪個磁碟包含壞區......但這個問題與raid-5集有關。

先感謝您。

答案1

RAID 控制器透過查看哪個磁碟引發 I/O 錯誤或沒有回應來確定哪個磁碟發生故障。

現代硬碟(即過去 20 年左右生產的硬碟)使用磁區級 ECC 來發現並修正位元翻轉錯誤。目前使用的 ECC 系統可以修正磁區中的任何單位錯誤,並可以發現所有雙位錯誤。如果重複讀取某個磁區始終產生單位錯誤,則磁碟機韌體會默默地將該磁區重新對應到磁碟機的未使用部分(所有現代硬碟都為此目的提供了一些備用空間);如果產生雙位錯誤,韌體將向控制器報告 I/O 錯誤,並且 RAID 控制器會將磁碟機標記為故障。為了使資料被損壞而無法檢測到,單一扇區中至少需要翻轉三位——這種情況極為罕見。

如果您懷疑壞韌體導致位元翻轉,您可以透過執行一致性檢查在 RAID 層級(對於 RAID 1、10、5 和 6)發現這一點,但這只會告訴您奇偶校驗/鏡像不匹配;它不會告訴您哪個驅動器有問題。您可以透過從陣列中取出磁碟機並使用您最喜歡的磁碟檢查工具執行「表面掃描」來尋找壞區塊來找到壞磁碟機:如果韌體壞了,掃描應該會發現數十萬個壞磁區。

相關內容