Raid

如果 RAID5 系統在重建期間遇到 URE,是否所有數據都失去了?

  • April 12, 2019

我理解關於更大驅動器在重建期間遇到 URE 的可能性增加的論點,但是我不確定這對它的實際影響是什麼。這個答案說整個重建失敗,但這是否意味著所有數據都無法訪問?為什麼會這樣?當然,驅動器上單個扇區的單個 URE 最多只會影響與幾個文件相關的數據。陣列不會仍然被重建,只是對一些文件有一些輕微的損壞嗎?

(我在這裡對 ZFS 的 RAID5 實現特別感興趣,但任何 RAID5 實現的邏輯似乎都是一樣的。)

這真的取決於具體的 RAID 實現:

  • 大多數硬體 RAID 將中止重建,有些還會將陣列標記為失敗,將其關閉。基本原理是,如果在 RAID5 重建期間發生 URE,則意味著一些數據失去,因此最好完全停止陣列,而不是冒無聲數據損壞的風險。注意:一些硬體 RAID(主要基於 LSI)會破壞陣列,允許重建繼續進行,同時將受影響的扇區標記為不可讀(類似於 Linux 軟體 RAID 的行為方式)。
  • 可以指示 linux 軟體 RAID a)停止陣列重建(“古老”MDRAID/核心建構的唯一行為)或 b)繼續重建過程,將某些 LBA 標記為壞/不可訪問。理由是最好讓使用者自己選擇:畢竟,單個 URE 可以在可用空間上,根本不影響數據(或只影響不重要的文件);
  • ZRAID 將顯示某些文件已損壞,但它會繼續重建過程(參見此處的範例)。同樣,理由是最好繼續並向使用者報告,使他能夠做出明智的選擇。

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