Hyppää sisältöön

patroni-palvelun vianmääritys

Info

Koko toimenpide on suoritettava root-käyttäjänä. Voit korottaa oikeutesi root-tasolle komennolla su -.

Varoitus

Tämän toimenpiteen noudattaminen edellyttää, että olet tehnyt patronictl-työkalun lisämääritykset.

patroni on PostgreSQL:n korkean käytettävyyden orkestrointityökalu. Se automatisoi PostgreSQL-klusterin hallinnan huolehtimalla johtajan valinnasta, vikasietosiirrosta (failover) ja solmujen synkronoinnista häiriön sattuessa.

CyberElements Bastion -järjestelmän PostgreSQL-klusterissa patroni tukeutuu etcd-palveluun klusterin tilan tallentamisessa ja jakamisessa. Se valvoo jatkuvasti PostgreSQL-instanssien tilaa ja varmistaa, että vain yksi solmu on kerrallaan nimetty johtajaksi.

Jos johtajasolmu vikaantuu, patroni järjestää automaattisesti valinnan hajautetun määrityssäilön etcd kautta ylentääkseen uuden johtajan ja pitääkseen palvelun käytettävissä.

patroni on siis riippuvainen etcd-palvelusta eikä voi toimia oikein, jos etcd ei toimi.

Lokit

Koko toimenpide perustuu patroni-palvelun lokeihin, jotka saat alla olevalla komennolla:

1
journalctl -u patroni

Vihje

Jos haluat seurata lokeja reaaliajassa, lisää komentoon valitsin -f:

1
journalctl -fu patroni

Info

patroni-palvelun lokit ovat saatavilla myös tiedostossa /var/log/syslog.

Virhelokien selitykset

ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379)

Kun etcd ei toimi tai siihen ei saada yhteyttä, patroni voi kirjoittaa seuraavat virheet:

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>

PostgreSQL-klusterin jonkin solmun nimi.

Tässä tapauksessa sinun on tehtävä etcd-palvelun vianmääritys.