0

2 つの MariaDB Galera クラスター (PROD (サーバー A、B、および C) と DR (サーバー 1、2、および 3)) があります。 DR クラスターのプライマリ コンポーネント ノード (サーバー 1) への PROD クラスター 各クラスターは、通常どおり、他のクラスターとは独立して動作できます (つまり、1 つのノードに変更を加えると、クラスター内のすべてのノードが直ちに変更をレプリケートします)。

この構成の目的は、スレーブでのリレー ログの適用を所定の時間遅らせることができるようにすることです。残念ながら、MariaDB 10.1 は MySQL 5.6/7 遅延リレー ログ アプリケーションをサポートしていません。Percona スクリプトを使用してスレーブ プロセスの制御を容易にし、リレー ログが DR クラスターに適用されるまでの時間を変更できるようにしています。

PROD クラスターのプライマリ コンポーネント ノード (マスター - サーバー A) に直接変更が加えられると、その変更はすぐに DR クラスターのプライマリ コンポーネント ノード (スレーブ - サーバー 1) にレプリケートされ、次にすべてのノードにレプリケートされます (サーバー 2 および 3) を DR クラスター内に配置します。ただし、プライマリ コンポーネント ノード (サーバー A) ではない PROD クラスタ内のノード (サーバー C など) に変更を加えた場合、それらの変更は DR プライマリ コンポーネント ノード (スレーブ - サーバー 1) に複製されません。

バイナリ ログを駆動するプロセスは、ポート 4567 で実行されている wsrep クラスタ レプリケーション プロセスによって明らかになった PROD クラスタの変更をリッスンしていないため、バイナリ ログ ファイルに書き込まれていないのではないかと思われます。

PROD クラスターの任意のノードでの変更が、クラスターのプライマリ コンポーネント ノード (マスター - サーバー A) のバイナリ ログを介してレプリケートされるように、MariaDB を構成する方法はありますか?

ありがとう。

4

1 に答える 1

0

マスター ノードでlog-slave-updatesを (log-bin と共に)設定する必要があります。そうすることで、ノードが他のノードから受け取った変更をバイナリログに記録するようにノードに指示し、その変更をスレーブに複製できるようになります。

于 2016-04-26T17:45:41.363 に答える