Master-Standby-Replikation für Postgres einrichten

Standardmäßig installiert Edge alle Postgres-Knoten im Mastermodus. In Produktionssystemen mit mehreren Postgres-Knoten konfigurieren Sie diese jedoch für die Verwendung der Master-Standby-Replikation. Wenn der Master-Knoten ausfällt, kann der Stand-by-Knoten also weiterhin Traffic bereitstellen.

Sollte der Master-Knoten einmal ausfallen, können Sie den Stand-by-Server zum Master hochstufen. Weitere Informationen finden Sie unter PostgreSQL-Datenbank-Failover handhaben.

Master-Standby-Replikation bei der Installation konfigurieren

Sie können die Master-Standby-Replikation bei der Installation konfigurieren, indem Sie die folgenden Attribute in die Konfigurationsdatei der beiden Postgres-Knoten aufnehmen:

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

Das Installationsprogramm konfiguriert die beiden Postgres-Knoten automatisch so, dass sie als Master-Standby mit Replikation fungieren.

Master-Standby-Replikation nach der Installation konfigurieren

So konfigurieren Sie die Master-Standby-Replikation nach der Installation:

  1. Ermitteln Sie, welcher Postgre-Knoten der Master und welcher der Standby-Server sein wird.
  2. Legen Sie auf dem Masterknoten in der Konfigurationsdatei 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. Legen Sie für den Standby-Knoten in der Konfigurationsdatei Folgendes fest:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  5. Beenden Sie den Standby-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. Löschen Sie auf dem Stand-by-Knoten alle vorhandenen Postgres-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

Überprüfen Sie nach Abschluss der Replikation den Replikationsstatus, indem Sie die folgenden Skripts auf beiden Servern ausführen. Das System sollte auf beiden Servern identische Ergebnisse anzeigen, um eine erfolgreiche Replikation zu gewährleisten:

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

    Prüfen Sie, ob es sich um den Master handelt.

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

    Prüfen Sie, ob es sich um den Standby-Modus handelt.