web-dev-qa-db-ja.com

このWindowsフェールオーバークラスターとMongoDBレプリカセットをネットワーク化するにはどうすればよいですか? (中の図)

enter image description here

ご覧のとおり、2つのWindows Serverフェールオーバークラスター(WSFC)ノードにはそれぞれ3つのネットワークインターフェイスがあり、3つの異なるネットワークに接続しています。

  1. パブリックネットワーク
  2. WSFCノードで構成されるプライベートネットワーク
  3. WSFCノードとWSFCクォーラム監視ファイル共有を備えたマシンで構成されるプライベートネットワーク

私が計画したこのネットワーク構成は意味がありますか? 「正しい」数のNICとネットワークがありますか? 2枚目のNIC /ネットワークは不要かもしれないと思います。

私の2つのMongoDBレプリカセットノードにも、それぞれ3つのネットワークインターフェイスがあります。前の状況と非常によく似ています。

  1. パブリックネットワーク
  2. プライマリとセカンダリのMongoDBレプリカセットノードで構成されるプライベートネットワーク
  3. プライマリ、セカンダリ、アービターのMongoDBレプリカセットノードで構成されるプライベートネットワーク

このネットワーク構成は意味がありますか? 「正しい」数のNICとネットワークがありますか? 2枚目のNIC /ネットワークは不要かもしれないと思います。

これが私が検討しているより単純なバージョンです: enter image description here

更新:

enter image description here

3
arex1337

ここには2つの質問があります。1つはMSクラスタリングに関するもので、もう1つはMongoに関するものです。

MSクラスタリング

パブリック、ハートビート、ノード間通信、およびクォーラムドライブをどこに配置するかを決定することは重要です。また、クラスターアーキテクチャも違いを生みます。 2つのノードが隣接するラックにある場合は、完全に異なるデータセンターにある場合とは異なるquroumオプションを選択します。

ハートビートをパブリックインターフェイスと同じインターフェイス/サブネットに配置します

この理論は、パブリックインターフェイスを失うと、このノードが事実上ユーザーにダウンしているため、wantハートビートが失敗することを示しています。

ハートビートを独自のプライベートインターフェイス/サブネットに配置します

この理論は、クラスターの外部の何かが誰がどの役割を果たしているかを決定していると考えており、不必要なノードの死は回避されるべきです。

WFSをハートビートネットワークに配置します

2つのノードがネットワーク全体で同じである場合(同じスイッチのセットが両方のノードの非パブリックネットワークをサポートしている場合)、ハートビートネットワークにWFSを配置しても、新しい脆弱性は発生しません。

2つのノードが異なるネットワーク障害ドメイン(異なるデータセンターなど)にある場合、これは悪い考えです。ハートビートネットワークは「ノードマジョリティ」クォーラムオプションを提供し、WFSは「ファイル共有マジョリティ」クォーラムオプションを提供します。両方のオプションを別々のフォールトドメインに配置する必要があります。


改訂された図は、両方のノードが同じデータセンターにある場合に意味がありますが、私自身はパブリック側のハートビートです。

MongoDB

MongoDBは少しシンプルです。ノードの数が偶数の場合、3番目のノードをタイブレーカーとして機能させる必要があります。 彼らはそれについてかなり明確です 。ただし、図には次のように記載されています。

最大12のレプリカメンバー(7つが投票できます)。

7は奇数です。アービターは必要ありません。

Microsoftクラスターとは異なり、Mongoのクラスター投票は、投票のデッドロックを解消するためにネットワークの複数の手段を気にしません。このため、個別のアービトレーションネットワークとクラスター内部ネットワークでは、堅牢性が大幅に向上することはありません。別のアービトレーションネットワークが必要な唯一の理由は、レプリケーショントラフィックが非常に重いため、選挙パケット(実際にはハートビート)がスタックのはるか下にプッシュされ、10秒のタイムアウトを逃すことが予想される場合です。

1
sysadmin1138