切り離し発生後の縮退運転における運用操作について、説明します。
注意
スタンバイサーバの異常によって切り離しが発生してからスタンバイサーバの組込みを行うまで、データベースは多重化構成ではありません。できるだけ早急に異常原因を取り除き、スタンバイサーバの組込みを行ってください。
切り離しが発生して縮退運転が行われている場合は、以下の運用操作を行ってスタンバイサーバを復旧してもとの状態に戻します。
これらの運用操作の流れを以下の図に示します。
図5.2 運用操作の流れ
以下の手順でリカバリを実施してください。
異常が発生したスタンバイサーバに対して、mc_ctlコマンドをstopモードで実行します。
例)
$ mc_ctl stop -M /mcdir/inst1
これにより、リカバリを実施する必要があるインスタンスも停止します。
注意
停止しない場合は、“運用ガイド”の“インスタンス停止失敗時の対処”を参照して、インスタンスを停止します。
そのあと、上記のコマンドに-eオプションを指定してMirroring Controllerを強制停止してください。
バックアップデータからMirroring Controller管理ディレクトリ配下のファイルをコピーして、リカバリを実施します。
プライマリサーバとスタンバイサーバのシステムログを参照して異常の原因を特定したあと、復旧します。
pg_basebackupコマンドを実行して、プライマリサーバのデータをスタンバイサーバと同期してリカバリします。
例)
$ pg_basebackup -D /database/inst1 --xlog --progress --verbose -R --dbname='application_name=スタンバイサーバ名' -h プライマリサーバのホスト名 -p プライマリサーバのポート番号
参照
このリカバリ手順は、スタンバイサーバをセットアップする手順と同じです。
“3.4.2 スタンバイサーバのインスタンスの作成・設定・登録”を参照して、リカバリを実施してください。
スタンバイサーバのMirroring Controllerとインスタンスを起動して、スタンバイサーバを組込みます。
インスタンス管理者ユーザーで、mc_ctlコマンドをstartモードで-fオプションを指定して実行します。これにより、自動切り替え/切り離しの有効化を行います。
なお、-fオプションを指定せずに起動した場合、自動切り替え/切り離しは有効になりません。有効にするには、Mirroring Controllerを起動したあとにmc_ctlコマンドをenable-failoverモードで実行するか、-fオプションを指定してMirroring Controllerを再起動してください。
例)
$ mc_ctl start -M /mcdir/inst1 -w -f
インスタンス管理者ユーザーで、mc_ctlコマンドをstartモードで実行します。
例)
$ mc_ctl start -M /mcdir/inst1 -w