災害対策運用の停止手順を以下に示します。
停止中に万が一、運用センタが被災した場合に速やかに待機センタで業務を再開できるように、データの同期を取ってから停止します。
アプリケーション業務を停止します。
following_async_walsendersパラメータを無効化します。
運用センタのプライマリサーバにおいて、postgresql.confファイルのfollowing_async_walsendersパラメータを削除するか、またはoffを指定します。変更後、pg_ctlコマンドをreloadモードで実行し、設定変更を反映します。
参考
インスタンス停止時にもトランザクションログが生成されます。following_async_walsendersパラメータを有効化しておくと、インスタンス停止時に生成されたトランザクションログが待機センタへ反映されません。このため、インスタンス停止前にfollowing_async_walsendersパラメータを無効化しておきます。
運用センタのプライマリサーバとスタンバイサーバのインスタンスとMirroring Controllerを停止します。
mc_ctlコマンドを使用して、インスタンスとMirroring Controllerを同時に停止します。詳細は、“3.2 Mirroring Controllerの起動と停止”を参照してください。
Mirroring Controllerのサービスを停止したあと、インスタンスのサービスを停止します。
運用センタのプライマリサーバのインスタンスが通常停止していることを確認します。
運用センタのプライマリサーバでpg_controldataコマンドを実行し、“Database cluster state”が“shut down”であることを確認します。
待機センタでインスタンスを停止する前に、待機センタの各サーバにトランザクションログが反映されていることを確認します。ログの反映状況は、以下の手順で確認します。
手順4で実行したpg_controldataコマンドの結果から“Latest checkpoint location”に出力されたLSNを確認します。
待機センタのプライマリ候補サーバ、およびスタンバイサーバでpg_last_wal_replay_lsn関数を実行し、実行結果のLSNが、手順aのLSNよりも新しいことを確認します。
ただし、手順bのLSNが手順aのLSNよりも新しくない場合、運用センタのプライマリサーバから待機センタへすべてのトランザクションログが反映されていないため、運用センタのインスタンスをmc_ctlコマンドのstartモードで再起動して、手順3から再度、操作を実施します。
以降の手順は、待機センタでデータベース多重化機能を利用する場合と利用しない場合で異なります。
待機センタのプライマリ候補サーバとスタンバイサーバのインスタンスとMirroring Controllerを停止します。
mc_ctlコマンドを使用して、インスタンスとMirroring Controllerを同時に停止します。詳細は、“3.2 Mirroring Controllerの起動と停止”を参照してください。
Mirroring Controllerのサービスを停止したあと、インスタンスのサービスを停止します。
待機センタのMirroring Controller裁定プロセスを停止します。詳細は、“3.1 Mirroring Controller裁定プロセスの起動と停止”を参照してください。
mc_arbコマンドを使用して停止します。
mc_arbコマンド、またはWindowsサービスを使用して停止します。
運用センタのMirroring Controller裁定プロセスを停止します。詳細は、“3.1 Mirroring Controller裁定プロセスの起動と停止”を参照してください。
mc_arbコマンドを使用して停止します。
mc_arbコマンド、またはWindowsサービスを使用して停止します。
following_async_walsendersパラメータを再設定します。
運用センタのプライマリサーバにおいて、postgresql.confファイルのfollowing_async_walsendersパラメータを手順2で変更する前の値に戻します。
pg_ctlコマンド、またはWindowsサービスを使用して、待機センタのプライマリ候補サーバおよびスタンバイサーバのインスタンスを停止します。
mc_ctlコマンドを使用して、プライマリサーバおよびスタンバイサーバのインスタンスとMirroring Controllerを同時に停止します。詳細は、“3.2 Mirroring Controllerの起動と停止”を参照してください。
プライマリサーバおよびスタンバイサーバのそれぞれで、Mirroring Controllerのサービスを停止したあと、インスタンスのサービスを停止します。
運用センタのMirroring Controller裁定プロセスを停止します。詳細は、“3.1 Mirroring Controller裁定プロセスの起動と停止”を参照してください。
mc_arbコマンドを使用して停止します。
mc_arbコマンド、またはWindowsサービスを使用して停止します。
following_async_walsendersパラメータを再設定します。
運用センタのプライマリサーバにおいて、postgresql.confファイルのfollowing_async_walsendersパラメータを手順2で変更する前の値に戻します。