10. Failover-Szenarios
Potenzielle Failover-Szenarios und die erwartete Reaktion bei dieser Bereitstellung.
Szenario 1: PostgreSQL-Masterknoten fällt aus
Wenn node0 (aktueller PostgreSQL-Masterknoten) ausfällt, werden die folgenden Aktionen automatisch ausgeführt:
pgpool führt "/etc/pgpool-II/failover.sh" aus.
PostgreSQL node1 wird als neuer Master ausgewählt.
pgpool-II-Master meldet sich remote bei node1 an und stuft ihn zum Master herauf.
Erwarteter manueller Eingriff
Vom Systemadministrator auszuführende Aktionen:
Protokolle auf node0 prüfen, um den Serverzustand zu bestimmen
Server wie erforderlich reparieren
Sobald seine Integrität wieder hergestellt ist:
Auf node0 das Skript "start_replication" ausführen, damit node0 node2 folgt (die IP-Adresse 10.91.9.41 ist in diesem Beispiel die IP von node2):
/db/bin/start_replication.sh 10.91.9.41
PostgreSQL-Dienst auf node0 starten
sudo systemctl start postgresql-10.x
PCP-Befehl verwenden, um node0 wieder zum normalen Status hinzuzufügen
pcp_attach_node -h /var/run/pgpoolpcp -n 0
Szenario 2: erster PostgreSQL-Standby-Knoten fällt aus
Wenn node1 (aktueller primärer PostgreSQL-Standby-Knoten) ausfällt, werden die folgenden Aktionen automatisch ausgeführt:
pgpool führt "/etcpgpool-II/failover.sh" aus.
PostgreSQL node2 wird als primärer Standby-Knoten für den Masterknoten (node0 in diesem Beispiel) ausgewählt.
pgpool meldet sich remote bei node2 an und weist ihn node0 neu zu.
node2 ist jetzt der Standby-Knoten für node0.
Erwarteter manueller Eingriff
Vom Systemadministrator auszuführende Aktionen:
Protokolle auf node1 prüfen, um den Serverzustand zu bestimmen
Server wie erforderlich reparieren
Sobald seine Integrität wieder hergestellt ist:
Auf node1 das Skript start_replication ausführen, damit node1 node2 folgt (die IP-Adresse 10.91.9.41 ist in diesem Beispiel die IP von node2):
/db/bin/start_replication.sh 10.91.9.41
PostgreSQL-Dienst auf node1 starten
sudo systemctl start postgresql-10.x
PCP-Befehl verwenden, um node1 wieder zum normalen Status hinzuzufügen
pcp_attach_node -h /var/run/pgpoolpcp -n 1
Szenario 3: zweiter PostgreSQL-Standby-Knoten fällt aus
Wenn node2 (aktueller sekundärer PostgreSQL-Standby-Knoten) ausfällt, werden die folgenden Aktionen automatisch ausgeführt:
pgpool führt "/etcpgpool-II/failover.sh" aus.
Keine zusätzlichen Aktionen, da node2 keinen Einfluss auf den aktuellen Betrieb von Master- und Standby-Knoten hat.
Erwarteter manueller Eingriff
Vom Systemadministrator auszuführende Aktionen:
Protokolle auf node2 prüfen, um den Serverzustand zu bestimmen
Server wie erforderlich reparieren
Sobald seine Integrität wieder hergestellt ist:
Auf node2 das Skript start_replication ausführen, damit node2 wieder mit node1 synchronisiert wird (die IP-Adresse 10.91.9.24 ist in diesem Beispiel die IP von node1):
/db/bin/start_replication.sh 10.91.9.24
PostgreSQL-Dienst auf node2 starten
sudo systemctl start postgresql-10.x
PCP-Befehl verwenden, um node2 wieder zum normalen Status hinzuzufügen.
pcp_attach_node -h /var/run/pgpoolpcp -n 2
War dies hilfreich?