3 台のサーバーによる MariaDB マスター間レプリケーション、マスターではポートが開いていない

3 台のサーバーによる MariaDB マスター間レプリケーション、マスターではポートが開いていない

MariaDB データベース サーバーを 3 つ、マスター サーバーを 1 つ、スレーブ サーバーを 2 つ用意します。すべてのサーバーで読み取りと書き込みが可能で、他のサーバーに複製されるようにします。インターネットで読んだところによると、これは「マスター マスター レプリケーション」と呼ばれています。

現在、私は「実際の」マスター サーバーでポートを一切開かず、2 つの「スレーブ」インスタンスでのみポートを開きたいと思っています。最初のサーバーで着信トラフィック用のポートを開かなくても済むように、「実際のマスター」でソケットを開くことは可能ですか?

レプリケーション

編集: 「マスター」サーバーに複数のデータベースがあり、これらのデータベースの一部のみを「スレーブ」に複製したいと考えています。

答え1

すべてのサーバーに書き込み、他のサーバーに複製する

それには、3つのサーバー間で「循環」レプリケーションを行う必要があります。ないお勧めします。1 台のサーバーがダウンした場合、それらを再び同期させるのは悪夢です。

一方、Galera クラスタリング (MariaDB で利用可能) はそれを標準で提供し、再同期を処理します。開始したものを放棄して Galera をセットアップすることを強くお勧めします。

ファイアウォール、トンネリング、リバース SSH などについては、システムに関する情報が十分に提供されていません。(レプリカはプライマリから「プル」するのであって、その逆ではないことに注意してください。) Galera の場合、すべてのサーバーでいくつかのポートを開く必要があります。

関連情報