Risoluzione dei problemi di patroni¶
Info
L'intera procedura deve essere eseguita come root. Per elevare i propri privilegi a root, è possibile utilizzare il comando su -.
Attenzione
Per seguire questa procedura, è necessario aver effettuato le configurazioni aggiuntive per patronictl.
patroni è un orchestratore di alta disponibilità per PostgreSQL. Automatizza la gestione di un cluster PostgreSQL occupandosi dell'elezione del leader, del failover e della sincronizzazione dei nodi in caso di incidente.
Nel cluster PostgreSQL di CyberElements Bastion, patroni si basa su etcd per archiviare e condividere lo stato del cluster. Monitora costantemente lo stato delle istanze PostgreSQL e si assicura che un solo nodo sia designato leader in un dato momento.
Se il nodo leader si guasta, patroni orchestra automaticamente un'elezione tramite l'archivio di configurazione distribuito etcd, al fine di promuovere un nuovo leader e mantenere la disponibilità del servizio.
patroni dipende quindi da etcd e non può funzionare correttamente se etcd non funziona.
Log¶
L'intera procedura si basa sui log del servizio patroni, che si ottengono con il comando seguente:
1 | |
Suggerimento
Per seguire i log in tempo reale, aggiungere l'opzione -f al comando:
1 | |
Info
I log di patroni sono disponibili anche in /var/log/syslog.
Spiegazione dei log di errore¶
ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379)
Quando etcd non funziona o non è raggiungibile, patroni può scrivere gli errori seguenti:
1 2 3 4 5 6 7 8 | |
<PSQL_NODE_NAME>-
Nome di uno dei nodi del cluster PostgreSQL.
In questo caso, è necessario risolvere i problemi di etcd.