Rozwiązywanie problemów z patroni¶
Info
Całą procedurę wykonuj jako root. Aby podnieść swoje uprawnienia do poziomu root, możesz użyć polecenia su -.
Ostrzeżenie
Aby wykonać tę procedurę, musisz wcześniej przeprowadzić dodatkowe konfiguracje dla patronictl.
patroni to orkiestrator wysokiej dostępności dla PostgreSQL. Automatyzuje zarządzanie clusterem PostgreSQL, obsługując wybór lidera, przełączanie awaryjne i synchronizację węzłów w razie incydentu.
W clusterze PostgreSQL CyberElements Bastion patroni opiera się na etcd w celu przechowywania i udostępniania stanu clustera. Stale monitoruje stan instancji PostgreSQL i dba o to, aby w danym momencie tylko jeden węzeł był wyznaczony jako lider.
Jeśli węzeł lidera ulegnie awarii, patroni automatycznie przeprowadza wybory za pośrednictwem rozproszonego magazynu konfiguracji etcd, aby wyznaczyć nowego lidera i utrzymać dostępność usługi.
patroni zależy więc od etcd i nie może działać prawidłowo, jeśli etcd nie działa.
Logi¶
Cała procedura opiera się na logach usługi patroni, które uzyskasz za pomocą poniższego polecenia:
1 | |
Wskazówka
Aby śledzić logi na bieżąco, dodaj do polecenia opcję -f:
1 | |
Info
Logi patroni są również dostępne w /var/log/syslog.
Objaśnienia logów błędów¶
ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379)
Gdy etcd nie działa lub jest nieosiągalny, patroni może zapisywać następujące błędy:
1 2 3 4 5 6 7 8 | |
<PSQL_NODE_NAME>-
Nazwa jednego z węzłów clustera PostgreSQL.
W takim przypadku rozwiąż problemy z etcd.