Probleemoplossing voor patroni¶
Info
De volledige procedure moet als root worden uitgevoerd. Om uw bevoegdheden naar root te verhogen, kunt u de opdracht su - gebruiken.
Waarschuwing
Om deze procedure te volgen, moet u de aanvullende configuraties voor patronictl hebben uitgevoerd.
patroni is een orchestrator voor hoge beschikbaarheid voor PostgreSQL. Het automatiseert het beheer van een PostgreSQL-cluster door bij een incident de verkiezing van de leader, de failover en de synchronisatie van de nodes af te handelen.
In de PostgreSQL-cluster van CyberElements Bastion steunt patroni op etcd om de status van de cluster op te slaan en te delen. Het bewaakt voortdurend de status van de PostgreSQL-instanties en zorgt ervoor dat er op elk moment slechts één node als leader is aangewezen.
Als de leader-node uitvalt, orkestreert patroni automatisch een verkiezing via de gedistribueerde configuratieopslag etcd, om een nieuwe leader te promoveren en de service beschikbaar te houden.
patroni is dus afhankelijk van etcd en kan niet correct werken als etcd niet werkt.
Logs¶
De volledige procedure steunt op de logs van de service patroni, die u met de onderstaande opdracht opvraagt:
1 | |
Tip
Voeg de optie -f aan de opdracht toe om de logs live te volgen:
1 | |
Info
De logs van patroni zijn ook beschikbaar in /var/log/syslog.
Uitleg bij de foutlogs¶
ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379)
Wanneer etcd niet werkt of niet bereikbaar is, kan patroni de volgende fouten schrijven:
1 2 3 4 5 6 7 8 | |
<PSQL_NODE_NAME>-
Naam van een van de nodes van de PostgreSQL-cluster.
In dit geval moet u de problemen met etcd oplossen.