Networking

如何將此 Windows 故障轉移群集和 MongoDB 副本集聯網?(內圖)

  • October 6, 2012

在此處輸入圖像描述

如您所見,我的兩個 Windows Server Failover Cluster (WSFC) 節點各有三個網路介面,將它們連接到三個不同的網路:

  1. 公共網路
  2. 由 WSFC 節點組成的專用網路
  3. 由 WSFC 節點和具有 WSFC Quorum Witness File Share 的機器組成的專用網路

我計劃的這個網路配置有意義嗎?我是否擁有“正確”數量的 NIC 和網路?我認為第二個 NIC/網路可能是不必要的。

我的兩個 MongoDB 副本集節點也各有三個網路介面——與之前的情況非常相似:

  1. 公共網路
  2. 由主要和次要 MongoDB 副本集節點組成的專用網路
  3. 由主要、輔助和仲裁 MongoDB 副本集節點組成的專用網路

這種網路配置有意義嗎?我是否擁有“正確”數量的 NIC 和網路?我認為第二個 NIC/網路可能是不必要的。

這是我正在考慮的更簡單的版本: 在此處輸入圖像描述

更新:

在此處輸入圖像描述

這裡有兩個問題,一個是針對 MS 集群的,另一個是針對 Mongo 的。

質譜分群

將公共、心跳、節點間通信和仲裁驅動放在哪裡的決定非常重要。集群架構也有所不同;如果兩個節點位於相鄰的機架中,那麼您會選擇不同的 quroum 選項,而不是它們位於完全不同的數據中心中。

將心跳放在與公共介面相同的介面/子網上

這個理論認為,如果你失去了公共介面,你希望心跳失敗,因為這個節點實際上是由使用者負責的。

將心跳放在它自己的私有介面/子網上

該理論認為,集群外部的事物正在仲裁誰在扮演什麼角色,並且要避免不必要的節點死亡。

將 WFS 放在心跳網路上

如果兩個節點在同一個整體網路中(同一組交換機支持兩個節點的非公共網路),那麼將 WFS 放在心跳網路上不會引入任何新漏洞。

如果兩個節點位於不同的網路故障域(例如不同的數據中心),這是一個壞主意。心跳網路提供“節點多數”仲裁選項,WFS 提供“文件共享多數”仲裁選項。您確實希望這兩個選項都位於不同的故障域中。


如果兩個節點都在同一個數據中心中,您修改後的圖表是有意義的,儘管我自己會,但公共方面的心跳。

MongoDB

MongoDB 稍微簡單一些。對於偶數個節點,您絕對希望第三個節點充當決勝局。他們對此很清楚。但是,您的圖表指出:

最多 12 個副本成員(7 個可以投票)。

7是奇數。你不需要仲裁者。

與微軟集群不同,Mongo 的集群投票並不關心網路的多種途徑來打破投票死鎖。因此,單獨的仲裁和集群內部網路不會提供任何有意義的強韌性增加。您想要一個單獨的仲裁網路的唯一原因是,如果預計複製流量會如此之大,以至於選舉數據包(實際上是心跳)會被推到堆棧中很遠的地方,以至於它會錯過 10 秒的超時。

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