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