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

Edge for Private Cloud v4.18.05

PostgreSQL データベースのフェイルオーバーが発生した場合は、次の手順を実施します。

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

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

  1. 現在のマスターで構成ファイルを編集し、次を設定します。
    PG_MASTER=IPorDNSofNewMaster
        PG_STANDBY=IPorDNSofOldMaster
  2. 新しいマスターノードでレプリケーションを有効にします。
    /opt/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 /opt/apigee/data/apigee-postgresql/
  6. 旧マスターをスタンバイとして構成します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. レプリケーションが完了したら、両方のサーバーで次のスクリプトを発行して、レプリケーションの状態を確認します。両方のサーバーで同じ結果が表示されれば、レプリケーションは成功しています。
    1. マスターノードで次のスクリプトを実行します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      マスターと表示されることを確認します。

    2. スタンバイ ノードで次のスクリプトを実行します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

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