Zfs

ZFS - RAIDZ-1 真的那麼糟糕嗎?

  • January 9, 2019

我有一個 NAS 伺服器,帶有 4 個 2TB WD RE4-GP 驅動器,採用 RAID10 配置(4TB 可用)。我的空間用完了(剩餘的可用空間<1TB)。我有 0 美元可以花在更大/更多的驅動器/機箱上。

我喜歡我所讀到的關於 ZFS 的數據完整性特性的內容,這些特性本身就足以讓我從現有的 XFS(軟體)RAID10 切換。然後我讀到了 ZFS 對 RAID5 的出色實施,所以我想我什至可以在使用 RAIDZ-1 的交易中獲得多達 2TB 的可用空間。

然而,我一直在閱讀越來越 文章,說幾乎永遠不要使用 RAIDZ-1。只有 RAIDZ-2+ 足夠可靠以處理“現實世界”驅動器故障。當然,就我而言,RAIDZ-2 沒有任何意義。在單個池 (RAID10) 中使用兩個鏡像 vdev 會好得多。

我想將 RAIDZ-1 用於 4 個 2TB 驅動器是不是很瘋狂?

我是否應該只使用兩個鏡像 vdev(本質上是 RAID10)的池並希望壓縮給我足夠的額外空間?

無論哪種方式,我都計劃使用壓縮。我只有 8GB 的​​ RAM(已滿),所以不能選擇重複數據刪除。

這將在 FreeNAS 伺服器上(即將取代目前的 Ubuntu 作業系統),以避免 ZFS-on-Linux 的穩定性問題。

在我們詳細介紹之前,請考慮您的案例。您在儲存照片、MP3 和 DVD 片段嗎?如果是這樣,您可能不在乎是否會永久失去陣列中的單個塊。另一方面,如果是重要數據,這可能是一場災難。

RAIDZ-1“不足以應對現實世界的故障”的說法是因為當重建時間到來時,您的一個倖存磁碟上可能存在潛在的媒體錯誤。相同的邏輯適用於 RAID5。

ZFS 在一定程度上緩解了這種故障。如果無法重建 RAID5 設備,那你就很不走運了;複製您的(剩餘)數據並從頭開始重建。另一方面,使用 ZFS,它將重建除壞塊之外的所有塊,並讓管理員“清除”錯誤。您將失去文件/文件的一部分,但不會失去整個數組。當然,ZFS 的奇偶校驗意味著您將可靠地被告知存在錯誤。否則,我相信有可能(儘管不太可能)多個錯誤會導致重建明顯成功,但會給您返回錯誤數據。

由於 ZFS 是“猖獗的分層違規”,它還知道哪些區域沒有數據,並且可以在重建時跳過它們。因此,如果您的數組是半空的,那麼您出現重建錯誤的可能性就會減半。

您可以通過定期對陣列執行“zpool 清理”“mdadm 檢查”來降低在任何 RAID 級別上出現此類重建錯誤的可能性。其他 RAID 也有類似的命令/過程;例如,LSI/dell PERC raid 卡將此稱為“巡讀”。它們會讀取所有內容,這可能有助於磁碟驅動器找到故障扇區,並在它們成為永久性扇區之前重新分配它們。如果它們是永久性的,RAID 系統(ZFS/md/raid 卡/其他)可以從奇偶校驗重建數據。

即使您使用 RAIDZ2 或 RAID6,定期清理也很重要。

最後一點 - 任何類型的 RAID 都不能替代備份 - 它不會保護您免受意外刪除、勒索軟體等的影響。儘管正常 ZFS 快照可以成為備份策略的一部分。

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