Sari la conținut

Depanare patroni

Info

Întreaga procedură trebuie efectuată ca root. Pentru a vă ridica privilegiile la root, puteți utiliza comanda su -.

Avertisment

Pentru a urma această procedură, trebuie să fi efectuat configurările suplimentare pentru patronictl.

patroni este un orchestrator de înaltă disponibilitate pentru PostgreSQL. Automatizează gestionarea unui cluster PostgreSQL, asigurând alegerea liderului, comutarea în caz de defecțiune și sincronizarea nodurilor atunci când survine un incident.

În clusterul PostgreSQL al CyberElements Bastion, patroni se bazează pe etcd pentru a stoca și a partaja starea clusterului. Monitorizează în permanență starea instanțelor PostgreSQL și se asigură că un singur nod este desemnat lider la un moment dat.

Dacă nodul lider se defectează, patroni orchestrează automat o alegere prin intermediul depozitului de configurare distribuit etcd, pentru a promova un nou lider și a menține disponibilitatea serviciului.

Prin urmare, patroni depinde de etcd și nu poate funcționa corect dacă etcd nu funcționează.

Loguri

Întreaga procedură se bazează pe logurile serviciului patroni, pe care le obțineți cu comanda de mai jos:

1
journalctl -u patroni

Sfat

Pentru a urmări logurile în timp real, adăugați opțiunea -f la comandă:

1
journalctl -fu patroni

Info

Logurile patroni sunt disponibile și în /var/log/syslog.

Explicarea logurilor de eroare

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

Atunci când etcd nu funcționează sau nu poate fi accesat, patroni poate scrie următoarele erori:

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>

Numele unuia dintre nodurile clusterului PostgreSQL.

În acest caz, trebuie să depanați etcd.