待機センタのプライマリ候補サーバで異常が発生した場合の対処方法を示します。
災害対策運用の継続に向けた復旧
待機センタのスタンバイサーバの接続先を運用センタのプライマリサーバに変更し、待機センタにトランザクションログが送信できるようにします。待機センタのスタンバイサーバのrecovery.confファイルのprimary_conninfoパラメータに指定された接続文字列を以下のように変更し、インスタンスを再起動します。
キーワード | 指定内容 |
---|---|
host | 運用センタのプライマリサーバのホスト名, 運用センタのスタンバイサーバのホスト名 |
port | 運用センタのプライマリサーバのポート番号, 運用センタのスタンバイサーバのポート番号 |
target_session_attrs | read-write |
障害が発生した資源の復旧
待機センタのプライマリ候補サーバの異常となった原因を取り除いてから、以下のいずれかの対処を行います。
ストリーミングレプリケーションの接続先の変更
ストリーミングレプリケーションの接続先を待機センタのスタンバイサーバに変更するため、recovery.confファイルのprimary_conninfoパラメータに指定された接続文字列を以下のように変更し、インスタンスを再起動します。
キーワード | 指定内容 |
---|---|
host | 待機センタのスタンバイサーバのホスト名 |
port | 待機センタのスタンバイサーバのポート番号 |
target_session_attrs | 削除します |
インスタンスの再作成
待機センタのスタンバイサーバのインスタンスの複製を作成し、インスタンスを再作成します。インスタンス再作成の手順は、セットアップ時の手順と同じです。詳細は、“7.3.5 スタンバイサーバのインスタンスの作成・設定・登録”を参照してください。
注意
本手順の復旧により、待機センタ内でのサーバの役割が入れ替わります。そのため、セットアップ時の構成に戻したい場合には、待機センタ内で以下の手順でサーバの切り戻しを行います。
スタンバイサーバのインスタンスを通常停止します。
スタンバイサーバのインスタンスが通常停止していることを確認します。
スタンバイサーバでpg_controldataコマンドを実行し、“Database cluster state”が“shut down”であることを確認します。
スタンバイサーバの最終チェックポイント位置を求めます。
手順2で実行したpg_controldataコマンドの結果から“Latest checkpoint location”に出力されたLSNを確認します。
プライマリ候補サーバに反映済みのLSNを確認します。
pg_last_wal_replay_lsn関数によって得られたLSNが、手順3のLSNよりも新しいことを確認します。
手順3のLSNが手順4のLSNよりも新しい場合には、スタンバイサーバからプライマリ候補サーバへ全てのトランザクションログが反映されていないため、スタンバイサーバのインスタンスを再起動して、手順1から繰り返します。
プライマリ候補サーバのインスタンスを通常停止します。
プライマリ候補サーバのrecovery.confファイルのprimary_conninfoパラメータをセットアップ時の指定内容に戻し、ストリーミングレプリケーションの接続先を運用センタのプライマリサーバに変更します。
スタンバイサーバのrecovery.confファイルのprimary_conninfoパラメータをセットアップ時の指定内容に戻し、ストリーミングレプリケーションの接続先を待機センタのプライマリ候補サーバに変更します。
プライマリ候補サーバのインスタンスを起動します。
スタンバイサーバのインスタンスを起動します。