RAID5 比 RAID1 更健壯嗎
我即將用 Linux 軟體 RAID1 陣列替換舊的硬體 RAID5 陣列。我正在和一位朋友交談,他聲稱 RAID5 比 RAID1 更強大。
他聲稱,使用 RAID5,讀取奇偶校驗數據以確保所有驅動器都返回正確的數據。他進一步聲稱,在驅動器上發生的 RAID1 錯誤將被忽視,因為沒有對 RAID1 進行此類檢查。
我可以看到這怎麼可能是真的,但也可以看到這完全取決於所討論的 RAID 系統是如何實現的。當然,RAID5 系統不必在讀取時讀取和檢查奇偶校驗數據,而 RAID1 系統可以輕鬆地從讀取時讀取所有驅動器,以檢查它們是否都保存相同的數據,從而實現相同級別的穩健性(相應的性能損失)。
所以問題是,現實世界中的 RAID5/RAID1 系統實際上是做什麼的?RAID5 系統是否在讀取時檢查奇偶校驗數據?是否有 RAID1 系統可以從所有驅動器讀取並比較讀取的數據?
RAID-5 是一種容錯解決方案,而不是數據完整性解決方案。
請記住,RAID 代表廉價磁碟冗餘陣列。磁碟是冗餘的原子單元——RAID 並不真正關心數據。您購買的解決方案使用WAFL 或 ZFS 等文件系統來解決數據冗餘和完整性問題。
RAID 控制器(硬體或軟體)不會在讀取時驗證塊的奇偶性。這是執行 RAID-5 的主要風險——如果您在驅動器上遇到部分介質故障(壞塊未標記為“壞”的情況),您現在處於數據被靜默保存的情況損壞。
Sun 的 RAID-Z/ZFS實際上提供了端到端的數據完整性,我懷疑其他文件系統和 RAID 系統將來會提供此功能,因為 CPU 上可用的核心數量不斷增加。
在我看來,如果您使用的是 RAID-5,那麼您會很便宜。RAID 1 性能更好,提供更好的保護,並且在驅動器發生故障時不會影響生產——成本差異很小。