Ga naar inhoud

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
journalctl -u patroni

Tip

Voeg de optie -f aan de opdracht toe om de logs live te volgen:

1
journalctl -fu patroni

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
patroni[1812916]: 2026-04-17 15:23:51,431 INFO: Retrying on https://<PSQL_NODE_NAME>:2379
patroni[1812916]: 2026-04-17 15:23:51,434 ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379): Max retries exceeded with url: /v3/lease/keepalive (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f8924a49fd0>: Failed to establish a new connection: [Errno 111] Connection refused'))")
patroni[1812916]: 2026-04-17 15:23:51,434 INFO: Reconnection allowed, looking for another server.
patroni[1812916]: 2026-04-17 15:23:51,434 INFO: Retrying on https://<PSQL_NODE_NAME>:2379
patroni[1812916]: 2026-04-17 15:23:51,438 ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379): Max retries exceeded with url: /v3/lease/keepalive (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f8924a48c50>: Failed to establish a new connection: [Errno 111] Connection refused'))")
patroni[1812916]: 2026-04-17 15:23:51,438 INFO: Reconnection allowed, looking for another server.
patroni[1812916]: 2026-04-17 15:23:53,940 ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: ReadTimeoutError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379): Read timed out. (read timeout=2.0772262712319693)")
patroni[1812916]: 2026-04-17 15:23:53,940 INFO: Reconnection allowed, looking for another server.
<PSQL_NODE_NAME>

Naam van een van de nodes van de PostgreSQL-cluster.

In dit geval moet u de problemen met etcd oplossen.