ページの先頭行へ戻る
Enterprise Postgres 10 クラスタ運用ガイド(データベース多重化編)
FUJITSU Software

10.2.1 待機センタのプライマリ候補サーバの異常時

待機センタのプライマリ候補サーバで異常が発生した場合の対処方法を示します。

災害対策運用の継続に向けた復旧

待機センタのスタンバイサーバの接続先を運用センタのプライマリサーバに変更し、待機センタにトランザクションログが送信できるようにします。待機センタのスタンバイサーバのrecovery.confファイルのprimary_conninfoパラメータに指定された接続文字列を以下のように変更し、インスタンスを再起動します。

表10.1 接続文字列の変更内容

キーワード

指定内容

host

運用センタのプライマリサーバのホスト名, 運用センタのスタンバイサーバのホスト名

port

運用センタのプライマリサーバのポート番号, 運用センタのスタンバイサーバのポート番号

target_session_attrs

read-write

障害が発生した資源の復旧

待機センタのプライマリ候補サーバの異常となった原因を取り除いてから、以下のいずれかの対処を行います。

注意

本手順の復旧により、待機センタ内でのサーバの役割が入れ替わります。そのため、セットアップ時の構成に戻したい場合には、待機センタ内で以下の手順でサーバの切り戻しを行います。

  1. スタンバイサーバのインスタンスを通常停止します。

  2. スタンバイサーバのインスタンスが通常停止していることを確認します。

    スタンバイサーバでpg_controldataコマンドを実行し、“Database cluster state”が“shut down”であることを確認します。

  3. スタンバイサーバの最終チェックポイント位置を求めます。

    手順2で実行したpg_controldataコマンドの結果から“Latest checkpoint location”に出力されたLSNを確認します。

  4. プライマリ候補サーバに反映済みのLSNを確認します。

    pg_last_wal_replay_lsn関数によって得られたLSNが、手順3のLSNよりも新しいことを確認します。

  5. 手順3のLSNが手順4のLSNよりも新しい場合には、スタンバイサーバからプライマリ候補サーバへ全てのトランザクションログが反映されていないため、スタンバイサーバのインスタンスを再起動して、手順1から繰り返します。

  6. プライマリ候補サーバのインスタンスを通常停止します。

  7. プライマリ候補サーバのrecovery.confファイルのprimary_conninfoパラメータをセットアップ時の指定内容に戻し、ストリーミングレプリケーションの接続先を運用センタのプライマリサーバに変更します。

  8. スタンバイサーバのrecovery.confファイルのprimary_conninfoパラメータをセットアップ時の指定内容に戻し、ストリーミングレプリケーションの接続先を待機センタのプライマリ候補サーバに変更します。

  9. プライマリ候補サーバのインスタンスを起動します。

  10. スタンバイサーバのインスタンスを起動します。