Teenuse patroni tõrkeotsing¶
Teave
Kogu protseduur tuleb läbi viia kasutajana root. Oma privileegide tõstmiseks root-i tasemele saate kasutada käsku su -.
Hoiatus
Selle protseduuri järgimiseks peate olema teinud patronictl-i lisakonfiguratsioonid.
patroni on PostgreSQL-i kõrge saadavuse orkestreerija. See automatiseerib PostgreSQL-i klastri halduse, tegeledes intsidendi korral liidri valimise, tõrkesiirde ja sõlmede sünkroonimisega.
CyberElements Bastion lahenduse PostgreSQL-i klastris tugineb patroni klastri oleku salvestamisel ja jagamisel teenusele etcd. See jälgib pidevalt PostgreSQL-i eksemplaride olekut ja tagab, et igal ajahetkel on liidriks määratud ainult üks sõlm.
Kui liidersõlm tõrgub, korraldab patroni hajutatud konfiguratsioonisalve etcd kaudu automaatselt valimise, et edutada uus liider ja hoida teenus saadaval.
Seega sõltub patroni teenusest etcd ega saa korralikult töötada, kui etcd ei tööta.
Sõlme sünkroonist väljumine¶
PostgreSQL-i klastri sõlm võib mõnikord sünkroonist välja minna. See on nähtav käsu patronictl -c /etc/patroni/config.yml topology väljundis:
1 2 3 4 5 6 7 | |
Veerus TL on näha, et sõlm PSQL_1 pole enam samal TL-ajateljel kui teised. Klastri toimimiseks peavad kõik sõlmed olema samal TL-ajateljel: erinevus näitab, et üks sõlmedest on sünkroonist väljas.
Sel juhul käivitage sünkroonist väljas olevas sõlmes järgmine käsk:
1 | |
Siin on <MEMBER_PATRONI> sünkroonist väljas oleva sõlme nimi, nagu see on näidatud topoloogia veerus Member.
Kui mitu sõlme on sünkroonist väljas, sünkroonige uuesti kõik need, mis pole kõrgeimal TL-ajateljel.
Hoiatus
Kui sünkroonist väljas olev sõlm on Leader-sõlm, võivad andmed kaduda. Seda ei tohiks kunagi juhtuda: Leader-sõlm peaks olema kõrgeimal TL-ajateljel.
Näide
Ülaltoodud käsu patronictl -c /etc/patroni/config.yml topology väljundis on sõlm PSQL_1 sünkroonist väljas. Selle uuesti sünkroonimiseks kasutage järgmist käsku:
1 | |
Logs¶
Kogu protseduur tugineb teenuse patroni logidele, mille saate alloleva käsuga:
1 | |
Näpunäide
Logide reaalajas jälgimiseks lisage käsule suvand -f:
1 | |
Teave
Teenuse patroni logid on saadaval ka failis /var/log/syslog.
Tõrkelogide selgitused¶
ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379)
Kui etcd ei tööta või pole kättesaadav, võib patroni kirjutada järgmised tõrked:
1 2 3 4 5 6 7 8 | |
<PSQL_NODE_NAME>-
PostgreSQL-i klastri ühe sõlme nimi.
Sel juhul peate tegema teenuse etcd tõrkeotsingu.