Zfs

ZFS 和硬體的結合獲得 Raid 51

  • February 27, 2019

我正在研究一個非常大的文件伺服器(70+TB,只服務於 NFS 和 CIFS)的 RAID 解決方案。我知道在硬體 raid 之上使用 ZFS raid 通常是禁忌的,但是我發現自己處於一種不尋常的情況。

我個人的偏好是設置大型RAID-51虛擬磁碟。即兩個鏡像 RAID5,每個 RAID5 有 9 個數據 + 1 個熱備用(所以我們不會失去太多儲存空間)。通過將數據鏡像到兩個不同的驅動器機箱上,這緩解了我的管理偏執,同時在危機發生之前允許每個鏡像集中有 1 個磁碟故障。

然而,這個問題源於這樣一個事實,即我們有現有的硬體 RAID 控制器(LSI Megaraid 集成磁碟機箱 + 伺服器),僅許可用於 RAID5 和 6。我們還有一個現有的 ZFS 文件系統,這是預期的(但尚未配置)使用 RFS-1 提供 HA。

從我在文件中看到的內容來看,ZFS 不提供 RAID-51 解決方案。

建議是使用硬體 RAID 在每個機箱上創建兩個大小相同的 RAID5 虛擬磁碟。然後將這兩個 RAID5 虛擬磁碟作為 /dev/sdx 提供給它們各自的伺服器。

然後使用 ZFS + RFS-1 將這兩個虛擬磁碟鏡像為 HA 鏡像集(見圖)

這是一個好主意,一個壞主意,還是只是一個醜陋(但可用)的配置。

有更好的解決方案嗎?

在此處輸入圖像描述

有趣的問題…

我對使用RSF-1感到驚訝。你看過我的Linux 高可用性 ZFS指南嗎?

可以設計您上面描述的內容,但是它可能過於復雜。

另外,這些都不是問題:

在高可用性中使用 ZFS 絕對是一個正常的請求。在硬體 RAID 上
使用ZFS是可以的。

您的設計問題在於您在解決方案中註入了更多的複雜性、性能損失和更多的故障點。

CIFS 和 NFS 工作負載可以從 ZFS 記憶體中受益,因此這也必須考慮到拓撲結構中。

如果您受困於硬體並且無法規劃具有多路徑 SAS 磁碟的共享機箱解決方案,最好創建兩個故障域並建構無共享解決方案或重新評估需求並確定可接受的損失。例如,您要防範哪些故障模式和情況?

如果我有您上面描述的設備,我會將兩個儲存伺服器建構為單獨的節點;將一個指定為主,另一個指定為輔助,並使用一種從主到輔助的連續 ZFS 非同步複製形式。即使在繁忙的系統上,也可以以 15 秒的間隔安全地執行此操作。

如果您想同時使用兩台伺服器,您可以在每台伺服器上提供不同的數據集並以兩種方式複制。如果您需要在每個節點上使用硬體 RAID,那很好。您仍然可以利用 ZFS RAM 記憶體、捲管理、壓縮以及可能的 L2ARC 和 SLOG 設備。

設計更簡單,性能將最大化,這為使用更快的記憶體驅動器提供了機會,並消除了對 SAS 數據池磁碟的需求。如果需要,您還可以在節點之間添加地理分隔或引入第三個節點。

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