PostgreSQL データベース フェイルオーバーの処理

Edge for Private Cloud v4.16.05

PostgreSQL データベースのフェイルオーバー時に次のことを行います。

  1. 現在のマスターで apigee-postgresql が引き続き実行されている場合は、停止します。
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  2. スタンバイ ノードに移動して次のコマンドを呼び出し、スタンバイ ノードをマスターにします。
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql promotion-standby-to-master IPorDNSofOldMaster

旧マスターが復旧したら、スタンバイ ノードに戻します。

  1. 現在のマスターで構成ファイルを編集し、次のように設定します。
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  2. 新しいマスターノードでレプリケーションを有効にします。
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. 旧マスター環境で、構成ファイルを次のように設定します。
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. 旧マスターで apigee-postgresql を停止します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. 旧マスターから、古い Postgres データをすべて削除します。
    > rm -rf /<inst_root>/apigee/data/apigee-postgresql/

    : 必要であれば、このデータを削除する前にバックアップしてください。
  6. 旧マスターをスタンバイとして構成します。
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. レプリケーションが完了したら、両方のサーバーで次のスクリプトを発行して、レプリケーションのステータスを確認します。両方のサーバーで同じ結果が表示されれば、レプリケーションは成功しています。
    1. マスターノードで、次のコマンドを実行します。
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      マスターと表示されることを確認します。
    2. スタンバイ ノードで次のようにします。
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      スタンバイと表示されることを確認します。