Master-Standby-Replikation für Postgres einrichten

Standardmäßig installiert Edge alle Postgres-Knoten im Master-Modus. In Produktionssystemen mit mehreren Postgres-Knoten konfigurieren Sie sie jedoch so, dass sie die Master-Standby-Replikation verwenden. Wenn der Master-Knoten ausfällt, kann der Standby-Knoten weiterhin Traffic verarbeiten.

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

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 für die 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 funktionieren.

Master-Standby-Replikation nach der Installation konfigurieren

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

  1. Legen Sie fest, welcher PostgreSQL-Knoten der Master- und welcher der Standby-Server sein soll.
  2. Bearbeiten Sie auf dem Masterknoten die Konfigurationsdatei, um Folgendes festzulegen:
    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, um Folgendes festzulegen:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  5. Beenden Sie den Stand-by-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. Löschen Sie auf dem Standby-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

Prü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 den 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 Stand-by-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

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