Umgang mit einem PostgreSQL-Datenbank-Failover

Führen Sie bei einem PostgreSQL-Datenbank-Failover die folgenden Schritte aus:

  1. Beenden Sie apigee-postgresql auf dem aktuellen Master, falls er noch ausgeführt wird:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  2. Rufen Sie den Stand-by-Knoten auf und rufen Sie den folgenden Befehl auf, um ihn zum Master zu machen:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster

Wenn der alte Master zu einem späteren Zeitpunkt wiederhergestellt wird, machen Sie ihn zu einem Standby-Knoten:

  1. Bearbeiten Sie auf dem aktuellen Master die Konfigurationsdatei, um Folgendes festzulegen:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  2. Replikation auf dem neuen Master aktivieren:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. Bearbeiten Sie auf dem alten Master die Konfigurationsdatei, um Folgendes festzulegen:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. Beenden Sie apigee-postgresql auf dem alten Master:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. Löschen Sie auf dem alten Master alle alten Postgres-Daten:
    rm -rf /opt/apigee/data/apigee-postgresql/
  6. Konfigurieren Sie den alten Master als Standby:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. Prüfen Sie nach Abschluss der Replikation den Replikationsstatus, indem Sie die folgenden Skripts auf beiden Servern ausführen. Für eine erfolgreiche Replikation sollte das System auf beiden Servern identische Ergebnisse anzeigen:
    1. Führen Sie auf dem Master-Knoten folgenden Befehl aus:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      Prüfen Sie, ob es der Master ist.

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

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