Fejlfinding for patroni¶
Info
Hele proceduren skal udføres som root. For at hæve dine privilegier til root kan du bruge kommandoen su -.
Advarsel
For at følge denne procedure skal du have udført de yderligere konfigurationer for patronictl.
patroni er en orkestrator til høj tilgængelighed for PostgreSQL. Den automatiserer administrationen af et PostgreSQL-cluster ved at håndtere valget af leader-noden, failover og synkronisering af noderne, når der opstår et problem.
I PostgreSQL-clusteret for CyberElements Bastion er patroni afhængig af etcd til at gemme og dele clusterets tilstand. Den overvåger løbende PostgreSQL-instansernes tilstand og sørger for, at der kun er én node, der er udpeget som leader ad gangen.
Hvis leader-noden svigter, orkestrerer patroni automatisk et valg via det distribuerede konfigurationslager etcd for at forfremme en ny leader og bevare tjenestens tilgængelighed.
patroni afhænger derfor af etcd og kan ikke fungere korrekt, hvis etcd ikke fungerer.
Logs¶
Hele proceduren bygger på logs fra tjenesten patroni, som du får med kommandoen nedenfor:
1 | |
Tip
For at følge logs i realtid skal du tilføje indstillingen -f til kommandoen:
1 | |
Info
Logs fra patroni er også tilgængelige i /var/log/syslog.
Forklaring af fejllogs¶
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 fejl:
1 2 3 4 5 6 7 8 | |
<PSQL_NODE_NAME>-
Navnet på en af noderne i PostgreSQL-clusteret.
I så fald skal du foretage fejlfinding for etcd.