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

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

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

待機センタのプライマリ候補サーバで異常が発生した場合の対処方法は、待機センタでデータベース多重化機能を利用する場合と利用しない場合で異なります。

待機センタでデータベース多重化機能を利用する場合

災害対策運用の継続に向けた復旧
自動切り替え/切り離しを有効化する場合

対処は必要ありません。

参考

待機センタのプライマリ候補サーバで異常を検知し、待機センタのスタンバイサーバのストリーミングレプリケーションの接続先を運用センタのプライマリサーバに自動で切り替えることで、待機センタへのトランザクションログの送信が再開されます。そのため、待機センタのスタンバイサーバは、運用センタのプライマリサーバとデータを同期させたり、待機センタのスタンバイサーバでの参照系の業務を停止させたりする必要はありません。

自動切り替え/切り離しを有効化しない場合

mc_ctlコマンドのswitchモードを使用し、プライマリ候補サーバの切り替えを手動で行います。詳細は、“9.1.4 プライマリ候補サーバの手動切り替え”を参照してください。


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

障害が発生した資源の復旧手順は、基本的にはデータベース多重化運用と同じです。詳細は、“4.1.1 切り替え発生後の縮退運転における運用操作”を参照してください。なお、データベース多重化運用の“4.1.1.1.3 異常原因の特定とリカバリ”のリカバリの手順において以下の違いがあります。

  • pg_rewindコマンドは使用できません。

  • pg_basebackupコマンドを使用した復旧は必須ではありません。

    プロセスダウンなどインスタンスの資源が破壊されていない場合は、待機センタのプライマリ候補サーバの異常となった原因を取り除いてからインスタンスを再起動することで、スタンバイサーバとして組み込まれます。

  • ALTER SYSTEM SET文を使用して、postgresql.auto.confファイルのprimary_conninfoパラメータに指定する接続文字列を以下のように変更します。
    接続文字列の変更は、pg_basebackupコマンドを使用して復旧する場合は手順9で行います。
    pg_basebackupコマンドを使用せずにインスタンスを再起動することで復旧する場合は、インスタンスのみを起動し、接続文字列を変更してから、Mirroring Controllerを再起動します。

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

    キーワード

    指定内容

    備考

    host

    新プライマリ候補サーバのホスト名

    プライマリ候補サーバに接続するための情報をPostgreSQLの接続文字列の形式で指定します。

    port

    新プライマリ候補サーバのポート番号

    application_name

    新スタンバイサーバ名

    target_session_attrs

    削除またはanyを指定します

    例)
    psqlコマンドを使用した場合の実行例を以下に示します。
    postgres=# ALTER SYSTEM SET primary_conninfo='host=新プライマリ候補サーバのホスト名 port=新プライマリ候補サーバのポート番号 application_name=新スタンバイサーバ名';
  • 4.1.1.2 スタンバイサーバの組込み”の手順でスタンバイサーバを組込む前にサーバ識別子.confファイルのstandbycenter_modeパラメータをstandbyに変更します。

また、データベース多重化運用の“プライマリサーバの切り戻し”において以下の違いがあります。

待機センタでデータベース多重化機能を利用しない場合

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

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

表10.2 接続文字列の設定内容

キーワード

指定内容

host

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

port

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

application_name

待機センタのスタンバイサーバ名

target_session_attrs

read-write

例)
psqlコマンドを使用した場合の実行例を以下に示します。
postgres=# ALTER SYSTEM SET primary_conninfo='host=運用センタのプライマリサーバのホスト名,運用センタのスタンバイサーバのホスト名 port=運用センタのプライマリサーバのポート番号,運用センタのスタンバイサーバのポート番号 application_name=待機センタのスタンバイサーバ名 target_session_attrs=read-write';

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

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

注意

本手順の復旧により、待機センタ内でのサーバの役割が入れ替わります。そのため、セットアップ時の構成に戻したい場合には、待機センタ内でサーバの切り戻しを行います。切り戻しの手順は、“9.1.5 プライマリ候補サーバの切り戻し”を参照してください。