Raid

故障轉移集群中是否可以有多個儲存伺服器?

  • August 27, 2019

我熟悉設置 RAID 陣列,並且在我的家庭環境中執行了一些。

我想知道是否可以在故​​障轉移配置中擁有多個儲存伺服器。

我希望以此實現的是與這些伺服器有一定的冗餘。當一台伺服器出現故障時,可以完全更換它而不會失去數據。我的意思不僅僅是磁碟故障,而是更嚴重的事情。可能是 BIOS 損壞。我以前吃過那些……不漂亮。

實現這一目標的最佳方法是什麼,我將如何設置它?

是的,有很多解決方案。但是,您還沒有說明您打算使用什麼作業系統,或者它將以什麼規模執行,或者如何使用這些數據。這些是一些最重要的問題。

您指的是複制的文件系統或塊設備。在幾乎所有情況下,至少需要兩個節點來執行此操作,出於仲裁原因推薦至少三個節點(當節點投票時,如果文件壞或節點關閉,我們需要一個決勝局。多數規則,所以節點總數必須是三個或更高才能這樣做。)仲裁和圍欄是幾乎任何類型集群的核心概念,三個節點(或更多)集群是要走的路(特別是當我們談論儲存集群時)。

Linux 對此有一些很好的解決方案。DRDB 是一種複制塊系統,可用於將一個或多個分區或磁碟從一個節點同步到可能的多個節點,以及從多個節點同步到一個節點。DRDB 更適合故障轉移情況而不是同時訪問節點,因為它與其節點具有主/從關係。

DRDB 在同步並呈現給您之後,不會假設您將使用這些塊設備做什麼。如果您嘗試掛載無法集群的文件系統,IT 並不關心,所以要小心。像 OCFS2 這樣的文件系統將允許您同時訪問 DRDB 設備,但在大多數情況下,人們使用 DRDB 進行故障轉移,一次僅在一個節點上安裝非集群文件系統(例如 EXT4 文件系統)。這樣做有很好的理由。最大的一點是,如果我們不必在數據寫入後立即複製數據,我們可以獲得更好的性能,就像我們在共享掛載場景中必須做的那樣(例如使用 OCFS2)。更多關於 DRDB 的資訊:https ://www.drbd.org

對於您可以同時訪問的複制和分佈式“雲”模型,GlusterFS 是一個很好的解決方案,設置起來非常簡單。它最適用於需要在所有節點之間共享文件系統的雲環境,例如儲存陣列集群和 VM 主機集群。

使用 Gluster,我們將文件系統一起復製到節點上,當與 NAS 介面時,它更像是與 NAS 進行文件共享(有一個重要區別 - 您的伺服器是許多節點,而不僅僅是一個大型儲存陣列)。這對於執行和支持 Linux 系統的高可用性儲存陣列來說非常棒,並且在規模上具有非凡的性能。它沒有主/從的概念,所有節點平等地同時參與。添加更多節點通常意味著合理配置下的更高性能。Gluster 是高度模組化和可配置的。

當您開始將 Windows 系統連接到 Gluster 時,它會更加複雜,因為 Windows 無法直接連接到 Gluster(相反,它必須通過 Samba 與 CIFS“共享”文件系統 - 而 Samab 可能會變得複雜)。然而,對於 Linux - Linux 共享,Gluster 非常容易部署和管理。更多資訊在這裡:https ://www.gluster.org/

在類似於 Gluster 的概念中,您可以查看 ceph。這是一個分佈式對象儲存,可以在其前面執行塊和文件系統轉換器。它在 Openstack 雲中非常常用——目前甚至超過 Gluster。它具有文件系統功能,以及對象儲存和塊儲存。它比 Gluster 更複雜,但目前功能更豐富。http://docs.ceph.com/docs/jewel/

最後,對於 Windows,我們有 XtremeFS,它可以為您提供複製的塊儲存(有點像 ceph)和 DFS。

DFS 在小規模上的表現可以接受,並且可用於同步許多同時節點上的文件系統。如果你願意的話,它類似於 Gluster。它的性能不太好,功能也不豐富,但對於小規模來說,它可以快速完成工作(並且很容易在 Windows 伺服器上設置)。與上述解決方案不同,Windows 客戶端可以本地連接到它。

這些技術都與 RAID 無關。如果您希望在儲存集群中的組成節點上有一個 RAID 陣列,您可以。然而,許多大型雲文件系統的部署只擔心節點級別的冗餘,選擇根本不使用 RAID。當某個節點的磁碟出現故障時,使該節點下線並更換磁碟。使節點聯機並重新同步整個節點。反正就是這個想法。在較小的規模上,RAID 仍然有意義。

一般來說,是的。你問的是可能的。

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