Postgres のマスター / スタンバイ レプリケーションを設定する

Edge for Private Cloud v. 4.17.05

デフォルトでは、すべての Postgres ノードがマスターモードでインストールされます。ただし、複数の Postgres ノードを持つ本番環境システムでは、マスター スタンバイ レプリケーションを使用するように構成します。これにより、マスターノードに障害が発生した場合でも、スタンバイ ノードがトラフィックの処理を継続できます。

マスターノードで障害が発生した場合は、スタンバイ サーバーをマスターに昇格できます。詳細については、PostgreSQL データベースのフェイルオーバーの処理をご覧ください。

インストール時にマスター / スタンバイ レプリケーションを構成する

2 つの Postgres ノードの構成ファイルに次のプロパティを含めることで、インストール時にマスター / スタンバイ レプリケーションを構成できます。

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

インストーラは、2 つの Postgres ノードをレプリケーション付きのマスター / スタンバイとして機能するように自動的に構成します。

インストール後にマスター / スタンバイ レプリケーションを構成する

インストール後にマスター / スタンバイ レプリケーションを構成するには、次の手順を行います。

  1. どの Postgre ノードをマスターにし、どのノードをスタンバイ サーバーにするかを特定します。
  2. マスターノードで、構成ファイルを編集して次のように設定します。
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  3. 新しいマスターでレプリケーションを有効にします。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  4. スタンバイ ノードで、構成ファイルを編集して次のように設定します。
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=
    IPorDNSofNewStandby
  5. スタンバイ ノードを停止します。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. スタンバイ ノードで、既存の Postgres データを削除します。
    > rm -rf /opt/apigee/data/apigee-postgresql/
    注: 必要に応じて、このデータを削除する前にバックアップできます。
  7. スタンバイ ノードを構成します。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

マスター / スタンバイ レプリケーションをテストする

レプリケーションが完了したら、両方のサーバーで次のスクリプトを実行してレプリケーション ステータスを確認します。レプリケーションが成功したことを確認するため、システムは両方のサーバーで同じ結果を表示する必要があります。

  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
    スタンバイであることが示されていることを確認します。