Gå til innhold

Feilsøking av patroni

Info

Hele prosedyren må utføres som root. For å heve privilegiene dine til root kan du bruke kommandoen su -.

Adadvarsel

For å følge denne prosedyren må du ha utført de ytterligere konfigurasjonene for patronictl.

patroni er en orkestrator for høy tilgjengelighet i PostgreSQL. Den automatiserer administrasjonen av en PostgreSQL-cluster ved å håndtere ledervalg, failover og synkronisering av nodene når det oppstår en hendelse.

I PostgreSQL-clusteren til CyberElements Bastion er patroni avhengig av etcd for å lagre og dele tilstanden til clusteren. Den overvåker kontinuerlig tilstanden til PostgreSQL-instansene og sørger for at bare én node er utpekt som leder til enhver tid.

Hvis ledernoden svikter, orkestrerer patroni automatisk et valg via det distribuerte konfigurasjonslageret etcd, for å forfremme en ny leder og holde tjenesten tilgjengelig.

patroni er derfor avhengig av etcd og kan ikke fungere riktig hvis etcd ikke fungerer.

Logger

Hele prosedyren baserer seg på loggene til patroni-tjenesten, som du henter med kommandoen nedenfor:

1
journalctl -u patroni

Tips

For å følge loggene i sanntid legger du til alternativet -f i kommandoen:

1
journalctl -fu patroni

Info

patroni-loggene er også tilgjengelige i /var/log/syslog.

Forklaring av feillogger

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

Når etcd ikke fungerer eller ikke kan nås, kan patroni skrive følgende feil:

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>

Navnet på en av nodene i PostgreSQL-clusteren.

I dette tilfellet må du feilsøke etcd.