10. Scenari di failover
Possibili scenari di failover e reazione prevista da questa distribuzione.
Scenario 1: errore del nodo master PostgreSQL
In caso di errore di node0 (il nodo master PostgreSQL corrente), si verificano automaticamente le azioni descritte di seguito.
Pgpool inizia a eseguire /etc/pgpool-II/failover.sh.
Viene scelto node1 PostgreSQL come nuovo master.
Il master Pgpool-II esegue l'accesso remoto a node1 e lo promuove come master.
Intervento manuale previsto
Azioni che devono essere eseguite dall'amministratore del sistema:
Esaminare i log su node0 per determinare lo stato del server.
Riparare il server, se necessario.
Se viene considerato integro:
In node0 eseguire lo script start_replication per fare in modo che node0 segua node2 (in questo esempio l'indirizzo IP 10.91.9.41 è l'IP di node2):
/db/bin/start_replication.sh 10.91.9.41
Avviare il servizio PostgreSQL su node0
sudo systemctl start postgresql-10.x
Utilizzare il comando PCP per aggiungere nuovamente node0 allo stato normale.
pcp_attach_node -h /var/run/pgpoolpcp -n 0
Scenario 2: errore del primo nodo di standby PostgreSQL
In caso di errore di node1 (il nodo di standby principale di PostgreSQL corrente), si verificano automaticamente le azioni descritte di seguito.
Pgpool inizia a eseguire "/etcpgpool-II/failover.sh".
Viene scelto node2 PostgreSQL come nodo di standby principale per il nodo master (in questo esempio node0).
Pgpool esegue l'accesso remoto a node2 e specifica node0 come nuova destinazione.
node2 ora è il nodo di standby per node0.
Intervento manuale previsto
Azioni che devono essere eseguite dall'amministratore del sistema:
Esaminare i log su node1 per determinare lo stato del server.
Riparare il server, se necessario.
Se viene considerato integro:
In node1 eseguire lo script start_replication per fare in modo che node1 segua node2 (in questo esempio l'indirizzo IP 10.91.9.41 è l'IP di node2):
/db/bin/start_replication.sh 10.91.9.41
Avviare il servizio PostgreSQL su node1
sudo systemctl start postgresql-10.x
Utilizzare il comando PCP per aggiungere nuovamente node1 allo stato normale.
pcp_attach_node -h /var/run/pgpoolpcp -n 1
Scenario 3: errore del secondo nodo di standby PostgreSQL
In caso di errore di node2 (il nodo di standby secondario di PostgreSQL corrente), si verificano automaticamente le azioni descritte di seguito.
Pgpool inizia a eseguire "/etcpgpool-II/failover.sh".
Non si verificano azioni aggiuntive come node2 che hanno un impatto sul funzionamento del nodo master e di quello di standby correnti.
Intervento manuale previsto
Azioni che devono essere eseguite dall'amministratore del sistema:
Esaminare i log su node2 per determinare lo stato del server.
Riparare il server, se necessario.
Se viene considerato integro:
In node2 eseguire lo script start_replication per effettuare la risincronizzazione di node2 con node1 (in questo esempio l'indirizzo IP 10.91.9.24 è l'IP di node1):
/db/bin/start_replication.sh 10.91.9.24
Avviare il servizio PostgreSQL su node2
sudo systemctl start postgresql-10.x
Utilizzare il comando PCP per aggiungere nuovamente node2 allo stato normale.
pcp_attach_node -h /var/run/pgpoolpcp -n 2
È stato utile?