題 RAID 1如何確定磁盤是否已損壞?


我已經構建了一個包含2個磁盤的RAID 1陣列,A和B.

這意味著A上的每個位都等於B上的一個位。如果一個磁盤發生故障,我可以安全地從另一個磁盤中檢索我的數據。但後來我開始疑惑:這是真的嗎?

假設A上的第1位讀取0,但是B上的1讀取。如果RAID控制器能夠判斷哪一個已損壞,哪一個不存在?這是基於所謂的“S.M.A.R.T.”技術報告,這真的有價值,或者我會與非RAID解決方案一樣好嗎?

我可以看出為什麼這不是RAID 5上的問題,所以我打算升級。


4
2018-02-12 22:11


起源


我不會將此作為答案發布,因為我不知道我是否100%正確,但我相信,對於您所描述的情況,磁盤必須使用不同的數據獨立寫入,不是RAID 1設置中發生的事情。它可能發生在RAID控制器出現故障的情況下,但即使這樣也不太可能。 - chunkyb2002
RAID不是備份!! RAID5也存在問題。 zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162 - Zoredache
有關: RAID 1重新同步到底有什麼作用? - Ƭᴇcʜιᴇ007
可能重複 RAID 1是否可以防止損壞? - Ƭᴇcʜιᴇ007


答案:


RAID 1或RAID 5無法防範您所描述的那種問題。它們主要用於防止單個驅動器的硬件故障(因此,減少系統停機時間)。對於RAID 5,在檢測到驅動器故障之前不會使用奇偶校驗信息。

雖然非常罕見,但是由於各種原因,比特看似隨機地改變狀態 - 它被稱為 有點腐爛。為了防止腐爛,您可以:

  1. 添加進一步的冗餘,例如,通過使用RAID 6,結合常規數據完整性檢查。
  2. 使用主動檢查數據完整性的文件系統,例如ZFS。通過將ZFS與RAID-Z1(單驅動器冗餘)一起使用,當讀取隨機“翻轉”的任何位時,將檢測到錯誤,因為計算的校驗和與存儲的校驗和不匹配。然後,在可能的情況下,ZFS將使用奇偶校驗信息自動更正錯誤。

值得指出的是硬盤確實存在 內置數據冗餘 至 部分緩解 有點腐爛。


5
2018-02-12 23:00



RAID5實際上應該能夠檢測到所描述的問題。只要所有錯誤都在一個驅動器上,RAID控制器經常提供的“驗證”檢查就可以檢測到並能夠準確地重建原始數據。 - ChrisInEdmonton
@Chris這是真的,但它沒有積極地做到這一點。位腐爛,然後一個驅動器失敗。通常在更換驅動器後重建會很順利,但是在重建期間你會開始遇到故障,因為有一些不可讀的位。由於陣列處於降級狀態,因此無法修復這些錯誤。這就是ZFS使用奇偶校驗檢查主動清理數據的原因,以便在發生這些錯誤時解決這些錯誤。 - AaronLS
上次我使用硬件RAID5卡時,管理軟件自動配置為每週運行一次驗證檢查。我看到我當前運行RAID5的NAS機箱並沒有執行這樣的驗證。 - ChrisInEdmonton


RAID1根本不是備份解決方案。 RAID1的作用是保護您免受單驅動器故障的影響。就這樣。好吧,好吧,它也可以加快你的閱讀速度。但它不是備份解決方案。如果刪除文件,則會從兩個驅動器中刪除該文件。如果格式化RAID1,則兩個驅動器都已格式化。如果您的文件感染了病毒,則無法恢復。這就是RAID1不是備份解決方案的原因。

要回答您的其他問題,如​​果驅動器上的數據不匹配,則無法確定哪個是正確的。然而,這種可能性可能沒有你想像的那麼高。例如,請參閱Wikipedia的部分 錯誤處理 在現代硬盤上。

添加額外的錯誤檢測和糾錯並非不可能,但通常不會在RAID控制器級別完成。某些文件系統如ZFS添加 額外的保護 為了您的數據完整性。


9
2018-02-12 22:49