Filesystems

沒有複製的分佈式文件系統(例如,glusterfs)

  • July 14, 2017

我有一個控制器伺服器和兩個 24 SAS 文件伺服器陣列。每個文件伺服器陣列都設置為一個 ZFS 池,其中有 4 個 RAIDZ2 vdev,每個有 6 個驅動器。

最終,我希望能夠將控制器伺服器用作兩個文件伺服器的單個掛載點。主要思想是我的最終使用者只需訪問一台控制器伺服器和一個掛載點,就可以跨兩台伺服器的組合儲存容量訪問/備份他們的數據。我正在考慮為此使用 glusterfs,但到目前為止我能夠找到的資訊似乎是用於生成冗餘儲存池。在這個應用程序中,gluster 被用作分佈式鏡像 RAID1,它並不真正滿足我的需要,因為它會創建另一個級別的不需要的冗餘。

您如何建議我從託管在不同電腦上的兩個 ZFS 池創建非冗餘分佈式文件系統?有沒有辦法用 gluster 來實現這一點,或者是否有更適合實現這一點的不同 NFS?我也考慮過 samba,但我不確定它是否足夠安全。我真的很喜歡只在控制器上公開託管 ssh 並進行嚴格的 2FA 身份驗證的前景。

您需要選擇是否需要分佈式捲或條帶捲。

分佈式捲很簡單,並且會以盡可能平衡的方式散列寫入每個節點的任何文件。它對文件本身沒有任何作用,您會在 ZFS“磚”上看到完整的文件。條帶捲將分割您的文件並將它們作為塊在節點之間分發。如果您的內容幾乎完全是大文件(例如影片、磁碟映像和備份),這是一個理想的配置。

到目前為止,你只是在鼻子上,因為創建這樣一個分佈式捲的命令就像你所說的那樣簡單:

gluster volume create test-volume server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

當這樣創建條帶捲時:

gluster volume create test-volume stripe 4 server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

然而,在抓取文件時,四個條紋可能會導致大量成本。只有在他們處理真正龐大的文件時才會這樣做。對於仍然適用於大型磁碟映像等的良好折衷方案,我建議使用分佈式條帶捲:

gluster volume create test-volume stripe 2 server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

該卷將跨兩個節點進行條帶化,並將條帶集分佈在另外兩個節點上。

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