PostgreSQL データベースのフェイルオーバーが発生した場合は、次の手順を実施します。
- 現在のマスターでまだ
apigee-postgresql
が動作している場合は、次のコマンドを使用して停止します。/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- スタンバイ ノードに移動し、次のコマンドを呼び出してスタンバイ ノードをマスターに切り替えます。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster
後で旧マスターが復旧したら、それをスタンバイ ノードにします。
- 現在のマスターで、構成ファイルをエディタで開いて次のように設定します。
PG_MASTER=IPorDNSofNewMaster PG_STANDBY=IPorDNSofOldMaster
- 新しいマスターノードでレプリケーションを有効にします。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
- 旧マスターで、構成ファイルをエディタで開いて次のように設定します。
PG_MASTER=IPorDNSofNewMaster PG_STANDBY=IPorDNSofOldMaster
- 旧マスターで
apigee-postgresql
を停止します。/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- 旧マスターから、古い Postgres データをすべて削除します。
rm -rf /opt/apigee/data/apigee-postgresql/
- 旧マスターをスタンバイとして構成します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- レプリケーションが完了したら、両方のサーバーで次のスクリプトを発行して、レプリケーションのステータスを確認します。両方のサーバーで同じ結果が表示されれば、レプリケーションは成功しています。
- マスターノードで次のスクリプトを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
マスターと表示されることを確認します。
- スタンバイ ノードで次のスクリプトを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
スタンバイと表示されることを確認します。
- マスターノードで次のスクリプトを実行します。