Master-Standby-Replikation für Postgres einrichten

Standardmäßig installiert Edge alle Postgres-Knoten im Mastermodus. In Produktionssystemen mit mehreren Postgres-Knoten sollten Sie sie jedoch so konfigurieren, dass die Master-Standby-Replikation verwendet wird. So kann der Standby-Knoten bei einem Ausfall des Masterknotens weiterhin Traffic verarbeiten.

Wenn der Masterknoten ausfällt, können Sie den Standby-Server zum Master machen. Weitere Informationen finden Sie unter PostgreSQL-Datenbank-Failover beheben.

Master-Standby-Replikation bei der Installation konfigurieren

Sie können die Master-Standby-Replikation bei der Installation konfigurieren, indem Sie die folgenden Eigenschaften in die Konfigurationsdatei für die beiden Postgres-Knoten einfügen:

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

Das Installationsprogramm konfiguriert die beiden Postgres-Knoten automatisch als Master-Standby-Konfiguration mit Replikation.

Master-Standby-Replikation nach der Installation konfigurieren

Sie können die Master-Standby-Replikation nach der Installation mit der folgenden Methode konfigurieren:

  1. Ermitteln Sie, welcher Postgre-Knoten der Master und welcher der Standby-Server sein wird.
  2. Bearbeiten Sie auf dem Masterknoten die Konfigurationsdatei und legen Sie Folgendes fest:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  3. Aktivieren Sie die Replikation auf dem neuen Master:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. Bearbeiten Sie auf dem Standby-Knoten die Konfigurationsdatei und legen Sie Folgendes fest:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  5. Halten Sie den Stand-by-Knoten an:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. Löschen Sie auf dem Standby-Knoten alle vorhandenen PostgreSQL-Daten:
    rm -rf /opt/apigee/data/apigee-postgresql/
  7. Konfigurieren Sie den Standby-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

Master-Standby-Replikation testen

Prüfen Sie nach Abschluss der Replikation den Replikationsstatus, indem Sie die folgenden Scripts auf beiden Servern ausführen. Das System sollte auf beiden Servern identische Ergebnisse anzeigen, um eine erfolgreiche Replikation zu ermöglichen:

  1. Führen Sie auf dem Masterknoten Folgendes aus:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Prüfen Sie, ob der Master angegeben ist.

  2. Auf dem Standby-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Prüfen Sie, ob der Status „Standby“ lautet.