MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

18.4.3.4 分散リカバリのフォルトトレランス

グループレプリケーション分散リカバリプロセスには、プロセス中に問題が発生した場合にフォルトトレランスを確保するためのいくつかの組込みメジャーがあります。

分散リカバリのドナーは、現在のビューの適切なオンライングループメンバーの既存のリストからランダムに選択されます。 ランダムドナーを選択することは、複数のメンバーがグループに入るときに同じサーバーが複数回選択されない可能性があることを意味します。 MySQL 8.0.17 からは、バイナリログからの状態転送の場合、ジョイナは、それ自体と比較して下位または同等のパッチバージョンの MySQL Server を実行しているドナーのみを選択します。 以前のリリースでは、すべてのオンラインメンバーがドナーになることが許可されていました。 リモートクローニング操作の場合、ジョイナは、それ自体と同じパッチバージョンを実行しているドナーのみを選択します。 結合メンバーは、操作の最後に再起動すると、バイナリログからの状態転送用に新しいドナーとの接続を確立します。これは、リモートクローニング操作に使用される元のドナーとは異なるメンバーである可能性があります。

次の状況では、Group Replication は分散リカバリのエラーを検出し、新しいドナーに自動的にスイッチオーバーして、状態転送を再試行します:

「パフォーマンススキーマ」テーブル replication_applier_status_by_worker に、最後の再試行の原因となったエラーが表示されます。 このような状況では、エラーに続く新しい接続が新しい候補者ドナーで試行されます。 エラーが発生した場合に別のドナーを選択することは、新しい候補者ドナーに同じエラーがない可能性があることを意味します。 クローンプラグインがインストールされている場合、Group Replication は、適切なオンラインクローンサポートドナーをそれぞれ最初に使用してリモートクローニング操作を試みます。 これらの試行がすべて失敗した場合、グループレプリケーションはバイナリログからの状態転送を、可能であればすべての適切なドナーとともに順に試行します。

警告

リモートクローニング操作の場合、リモートクローニング操作でドナーからのデータの転送が開始される前に、受信者 (参加メンバー) のユーザー作成のテーブルスペースおよびデータが削除されます。 リモートクローニング操作が開始しても完了しない場合、参加メンバーは元のデータファイルの一部またはユーザーデータなしで残される可能性があります。 データが完全にクローニングされる前にクローニング操作が停止した場合、ドナーによって転送されたデータは受信者から削除されます。 この状況は、Group Replication が自動的に行うクローニング操作を再試行することで修復できます。

次の状況では、分散リカバリプロセスを完了できず、参加メンバーはグループを離れます:

参加メンバーが意図せずグループを離れた場合、最後のメンバーを除く前述の状況では、group_replication_exit_state_action システム変数で指定されたアクションの実行に進みます。