web-dev-qa-db-ja.com

Galeraを使用した単純なマスターマスターレプリケーション

私はドキュメントを読んでいましたが、現在の設定では2つで動作していますが、クォーラムを達成するにはGalera DBクラスターには少なくとも3つのノードが必要であると具体的に述べています。

クラスターの再構築を担当しています。 Galeraの使用例は、単純なマスターマスタークラスターです。これは実際にはマスタースレーブにあり、最初のサーバーで障害が発生した場合に備えてセカンダリマスターがそこに座っています(PHP configs it at it)。)Galeraは、同期しています。

私の質問は:

  1. 2ノード構成は安全/サポートされていますか?

  2. 3ノード構成では、3番目のノードが停止すると、2ノード構成になります。これは現在安全ではありませんか?私は本当に4ノードのセットアップが必要ですか?

  3. ガレラ「アービター」とは正確には何ですか?

1
afffadsf333a

1)2ノード構成は安全ですか?

Galeraは引き続き2ノードのセットアップで実行されます。ただし、 スプリットブレインシナリオの脅威は常に存在します 。たとえば、DB1とDB2が2つのノードのGalera Clusterを形成しているとします。 DB1がダウンした場合、DB2にフェイルオーバーする必要があります。 DB1がそれを復旧するためにメンテナンスを行っている間、DB2はすべての変更を取得します。 DB1がバックアップされるまでに、 [〜#〜] ist [〜#〜] を実行することは事実上不可能です(または少なくともこの時点では遅すぎます)。 DB2から完全な [〜#〜] sst [〜#〜] を実行する必要があります。これを行う最も簡単な方法は、DB1を起動する前にGaleraキャッシュファイルを削除することです。 [〜#〜] sst [〜#〜] の間、DB2は読み取り専用状態になります(ドナー)、挿入、更新、削除は処理できません。クラスターに3番目のノードがある場合、少なくとも1つのサーバーが挿入、更新、削除を収集できます。

Percona XtraDB Cluster:Failure Scenarios with 2 nodes も参考になります。

2)3ノード構成で、3番目のノードが停止すると、2ノード構成になります。これは現在安全ではありませんか?私は本当に4ノードのセットアップが必要ですか?

2ノードのクラスターはまだ稼働しています。 3番目のノードを初めて導入するとき、または3番目のノードがダウンした状態から戻るときに、2つの動作中のノードの1つが(ドナーとして)読み取り専用状態になり、3番目のノードが追いつくのを助けます。唯一

最初の質問で述べたように、クラスターに3番目のノードがある場合、少なくとも1つのサーバーが挿入、更新、および削除を収集できます。

3)ガレラ「アービター」とは正確には何ですか?

私はあなたが意味すると思います 仲裁人(小見出しUsing an arbitrator 。これは、ノードをクラスターに戻すときに、だれがドナーの役割を果たし、誰がクラスターの役割を果たすかを決定するのに役立つメカニズムです。スプリットブレインシナリオの軽減に役立ちます 詳細は、Galeraのドキュメントでご覧いただけます .

5
RolandoMySQLDBA