コンテンツにスキップ

レプリケーショングループメンバーの復旧

このページでは、発生している特定の問題に基づいた復旧手順を提供します。

プライマリ(書き込み)データベースが、電源障害やネットワーク障害などで予期せず停止した場合、Porta は自動的にバックアップデータベースにフェイルオーバーして処理を続行します。フェイルオーバープロセスの概要は次のとおりです。

障害を検出すると、残りのデータベースが新しいプライマリデータベースを選出します。
Primary Failure

バックアップへのフェイルオーバー

Section titled “バックアップへのフェイルオーバー”

バックアップデータベースに PRIMARYMEMBER_ROLE とデータを書き込む権限が与えられます。Porta はこの新しい接続を検出して確立し、処理は通常どおり続行されます。
Failover to Backup

障害が発生したマシンが復旧を開始する

Section titled “障害が発生したマシンが復旧を開始する”

障害が発生したマシンが接続を回復すると、グループへの再参加を試み、障害中に取りこぼしたデータの復旧を開始します。この期間中、そのマシンの MEMBER_STATERECOVERING になります。
Failed Machine Recovers

障害が発生したマシンが再び完全に稼働する

Section titled “障害が発生したマシンが再び完全に稼働する”

障害が発生したマシンが完全に復旧すると、MEMBER_STATEONLINE になり、再び完全に稼働します。ただし、PRIMARYMEMBER_ROLE は、バックアップマシンが障害、シャットダウン、その他の手段でグループを離脱するまで、バックアップマシンに残ります。 Failed Machine Returns

障害やシャットダウンの後に手動での介入が必要になるケースがいくつかあります。以下に、一般的な問題とその復旧手順を示します。

すべて/ほとんどのデータベースが停止し、正しくオンラインにならない

Section titled “すべて/ほとんどのデータベースが停止し、正しくオンラインにならない”

サイトの電源障害の場合のように、すべてのデータベースが停止して正しくオンラインにならない場合は、グループを手動でブートストラップする必要があります。参照: Bootstrap the Replication Group

単一のデータベースがグループへの再参加に失敗する

Section titled “単一のデータベースがグループへの再参加に失敗する”
  1. グループ内のすべてのメンバーのステータスを確認します。
    • デスクトップの porta-onprem-bundle フォルダ、次に porta-helpers、次に porta-database に移動します。
    • porta-database フォルダで view-ALL-group-repl-status.bat をダブルクリックします。
  2. 他のマシンの MEMBER_STATEONLINE で、かつ MEMBER_ROLEPRIMARY のメンバーがある 場合は、グループへの再参加に失敗しているマシンで単に レプリケーションを再起動 してみることができます: Restart Replication
  3. 他のマシンの MEMBER_STATEONLINE で、MEMBER_ROLEPRIMARY のメンバーがない場合は、ONLINE でないマシンをブートストラップします: Bootstrap Replication
    • マシンのブートストラップ後:
      • 別のマシンで Restart Replication を実行して、グループに参加することを確認します。
      • 最後のマシンで Restart Replication を実行して、グループに参加することを確認します。
  4. 上記の手順のいずれかがうまくいかない場合は、グループへの再参加に失敗しているデータベースコンテナをリセットしてみることができます。
    • Reset the Database
    • !警告: リセットすると、マシン上のデータベースデータが消去されます!

各マシンがグループ内で自分自身しか登録しない

Section titled “各マシンがグループ内で自分自身しか登録しない”

各マシンがレプリケーショングループ内で MEMBER_STATEOFFLINE の自分自身しか認識しない場合、参加できる既存のグループがなかったことを意味する可能性が高いです。これは、マシン同士が通信できない場合や、どのマシンでもグループレプリケーションプロセスがブートストラップされなかった場合に発生することがあります。

これを修正するには、レプリケーショングループをブートストラップする必要があります: Bootstrap the Replication Group

マシンが UNREACHABLE と表示される

Section titled “マシンが UNREACHABLE と表示される”

他のマシンが ONLINE と表示される場合は、UNREACHABLE と表示されているマシンでレプリケーションを再起動します: Restart Replication

再起動で問題が解決しない場合は、Bootstrap the Replication Group を行う必要があります。

参加メンバーが独自のグループを作成する

Section titled “参加メンバーが独自のグループを作成する”

参加メンバーが独自のグループを作成する場合、その参加メンバーで group_replication_bootstrap_group 構成が OFF に設定されていなかった可能性が高いです。構成ファイルでこれをオフにし、マシンのレプリケーションを再起動する必要があります: Turn Off Default Bootstrap

注: 独自のグループを作成したことにより、ブートストラップをオフにした後でも既存のグループに参加できなくなる可能性があります。この場合、Bootstrap the Replication Group が必要になることがあります。 ブートストラップ後にマシンがグループに参加できない場合は、Reset the Database が必要になることがあります。

その他のトラブルシューティングの詳細とエラーメッセージについては、Group Replication Troubleshooting ドキュメントを参照してください。


一般的なレプリケーション復旧アクション

Section titled “一般的なレプリケーション復旧アクション”
  1. デスクトップの porta-onprem-bundle フォルダ、次に porta-helpers、次に porta-database、次に actions に移動します。
  2. actions フォルダで STOP-repl.bat をダブルクリックします。
  3. 現在の Windows ユーザーを入力または確認します。
  4. デフォルトの WSL ユーザーを入力または確認します。
  5. 現在のマシンタイプを入力または確認します。
  6. 現在のマシンの IP アドレスを入力または確認します。
  7. プロセスが完了するまで実行させます。
  1. デスクトップの porta-onprem-bundle フォルダ、次に porta-helpers、次に porta-database、次に actions に移動します。
  2. actions フォルダで START-repl.bat をダブルクリックします。
  3. 現在の Windows ユーザーを入力または確認します。
  4. デフォルトの WSL ユーザーを入力または確認します。
  5. 現在のマシンタイプを入力または確認します。
  6. 現在のマシンの IP アドレスを入力または確認します。
  7. プロセスが完了するまで実行させます。
  1. デスクトップの porta-onprem-bundle フォルダ、次に porta-helpers、次に porta-database、次に actions に移動します。
  2. actions フォルダで restart-repl.bat をダブルクリックします。
  3. 現在の Windows ユーザーを入力または確認します。
  4. デフォルトの WSL ユーザーを入力または確認します。
  5. 現在のマシンタイプを入力または確認します。
  6. 現在のマシンの IP アドレスを入力または確認します。
  7. プロセスが完了するまで実行させます。

レプリケーションのブートストラップ

Section titled “レプリケーションのブートストラップ”

単一のメンバーをブートストラップする場合。

  1. デスクトップの porta-onprem-bundle フォルダ、次に porta-helpers、次に porta-database、次に actions に移動します。
  2. actions フォルダで bootstrap.bat をダブルクリックします。
  3. 現在の Windows ユーザーを入力または確認します。
  4. デフォルトの WSL ユーザーを入力または確認します。
  5. 現在のマシンタイプを入力または確認します。
  6. 現在のマシンの IP アドレスを入力または確認します。
  7. プロセスが完了するまで実行させます。
  8. マイグレーションを求められたら、n と入力します。
  9. シードを求められたら、n と入力します。

レプリケーショングループのブートストラップ

Section titled “レプリケーショングループのブートストラップ”

プライマリメンバーが存在しない場合などに、すべてのマシンでレプリケーショングループをブートストラップする場合。

  1. メイン マシンで Stop Replication を実行します。
  2. バックアップ マシンで Stop Replication を実行します。
  3. arbiter マシンで Stop Replication を実行します。
  4. メイン マシンで Bootstrap Replication を実行します。
  5. バックアップ マシンで Start Replication を実行します。
  6. arbiter マシンで Start Replication を実行します。

すべてのメンバーが正しく実行され、ONLINE になっているはずです。

  1. デスクトップの porta-onprem-bundle フォルダ、次に porta-helpers、次に porta-database、次に actions に移動します。
  2. actions フォルダで create-backup.bat をダブルクリックして、データベースのバックアップを作成します。
  3. actions フォルダで caution フォルダに移動します。
  4. caution フォルダで reset.bat をダブルクリックします。
  5. 現在の Windows ユーザーを入力または確認します。
  6. デフォルトの WSL ユーザーを入力または確認します。
  7. 現在のマシンタイプを入力または確認します。
  8. 現在のマシンの IP アドレスを入力または確認します。
  9. 追加のマシン情報を入力または確認します。
  10. プロセスが完了するまで実行させます。

デフォルトのブートストラップをオフにする

Section titled “デフォルトのブートストラップをオフにする”
  1. デスクトップの porta-onprem-bundle フォルダ、次に porta-helpers、次に porta-database、次に actions、次に caution に移動します。
  2. caution フォルダで set-bootstrap-OFF.bat をダブルクリックします。
  3. 現在の Windows ユーザーを入力または確認します。
  4. デフォルトの WSL ユーザーを入力または確認します。
  5. 現在のマシンタイプを入力または確認します。
  6. 現在のマシンの IP アドレスを入力または確認します。
  7. プロセスが完了するまで実行させます。
  8. actions フォルダまで戻り、Restart Replication を実行して既存のグループに再参加します。

デフォルトのブートストラップをオンにする

Section titled “デフォルトのブートストラップをオンにする”
  1. デスクトップの porta-onprem-bundle フォルダ、次に porta-helpers、次に porta-database、次に actions、次に caution に移動します。
  2. caution フォルダで set-bootstrap-ON.bat をダブルクリックします。
  3. 現在の Windows ユーザーを入力または確認します。
  4. デフォルトの WSL ユーザーを入力または確認します。
  5. 現在のマシンタイプを入力または確認します。
  6. 現在のマシンの IP アドレスを入力または確認します。
  7. プロセスが完了するまで実行させます。
  8. actions フォルダまで戻り、Restart Replication を実行します。