datenbank:ha-postgresql-cluster
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| datenbank:ha-postgresql-cluster [2026-05-15 09:30:17] – [KeepaliveD] manfred | datenbank:ha-postgresql-cluster [2026-05-29 10:09:43] (aktuell) – [Tests] manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== HA-PostgreSQL-Cluster ====== | ====== HA-PostgreSQL-Cluster ====== | ||
| + | |||
| + | siehe auch: **[[:: | ||
| Zeile 6: | Zeile 8: | ||
| //Es soll ein hochverfügbarer PostgreSQL‑Cluster mit Patroni, EtcE, HAProxy und KeepaliveD auf drei Systemen installiert werden.// | //Es soll ein hochverfügbarer PostgreSQL‑Cluster mit Patroni, EtcE, HAProxy und KeepaliveD auf drei Systemen installiert werden.// | ||
| - | Wichtige Unterschiede zwischen diesem HA-PostgreSQL-Cluster mit 3 Systemen, gegenüber einem HA-PostgreSQL-Cluster mit 5 Systemen sind, dass hier alle Pakete auf allen 3 Systemen installiert werden müssen. Und weil PostgreSQL und HAProxy auf dem selben Host laufen, muß der Datenbank-Zugriff über den Cluster-Zugang (HAProxy) auf einen anderen Port laufen. In diesem Fall laufen die PostgreSQL-Instanzen | + | Wichtige Unterschiede zwischen diesem HA-PostgreSQL-Cluster mit 3 Systemen, gegenüber einem HA-PostgreSQL-Cluster mit 5 Systemen sind, dass hier alle Pakete auf allen 3 Systemen installiert werden müssen. Und weil PostgreSQL und HAProxy auf dem selben Host laufen, muß der Datenbank-Zugriff über den Cluster-Zugang (HAProxy) auf einen anderen Port laufen. |
| - | Weiterhin gibt es in diesem Aufbau noch einen schreibgeschützten Port ('' | + | In diesem Fall laufen die PostgreSQL-Instanzen |
| In einem HA-PostgreSQL-Cluster mit 5 Systemen laufen EtcE, HAProxy und KeepaliveD auf 2 separate Systeme und dann können PostgreSQL und HAProxy auf dem gleichen Port laufen. | In einem HA-PostgreSQL-Cluster mit 5 Systemen laufen EtcE, HAProxy und KeepaliveD auf 2 separate Systeme und dann können PostgreSQL und HAProxy auf dem gleichen Port laufen. | ||
| Zeile 201: | Zeile 203: | ||
| === Hinweis === | === Hinweis === | ||
| - | **//Solange der Cluster unhealthy ist, sind Verwaltungsoperationen wie etcdctl member add absichtlich verboten.// | + | **//Solange der Cluster unhealthy ist, sind Verwaltungsoperationen wie '' |
| <code bash> | <code bash> | ||
| Zeile 418: | Zeile 420: | ||
| ==== KeepaliveD ==== | ==== KeepaliveD ==== | ||
| - | |||
| - | // | ||
| <file bash Knoten 1 – / | <file bash Knoten 1 – / | ||
| Zeile 620: | Zeile 620: | ||
| <code bash Netzwerkzugriffe erlauben> | <code bash Netzwerkzugriffe erlauben> | ||
| - | > echo " | + | > echo " |
| > echo " | > echo " | ||
| > echo " | > echo " | ||
| Zeile 1057: | Zeile 1057: | ||
| Wenn das so aussieht, dann kann von den Replicas nicht gelesen werden. | Wenn das so aussieht, dann kann von den Replicas nicht gelesen werden. | ||
| - | Um Problem | + | Um das Problem |
| Zeile 1123: | Zeile 1123: | ||
| </ | </ | ||
| - | <code bash reparieren> | + | <code bash einen zum Leader bestimmen> |
| > patronictl -c / | > patronictl -c / | ||
| + Cluster: pgcluster (7637598528541987072) -------+----+-----------+ | + Cluster: pgcluster (7637598528541987072) -------+----+-----------+ | ||
| Zeile 1341: | Zeile 1341: | ||
| | | ||
| </ | </ | ||
| - | |||
| - | //Wie das beste Vorgehen bei Wartungsarbeiten ist, muß erst noch ermittelt ausgelotet werden.// | ||
| <code bash> | <code bash> | ||
| Zeile 1946: | Zeile 1944: | ||
| nvme3n1 | nvme3n1 | ||
| ----------- | ----------- | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Testdaten einspielen ==== | ||
| + | |||
| + | <code bash> | ||
| + | > echo "COPY tabelle FROM '/ | ||
| + | |||
| + | oder | ||
| + | |||
| + | > cat / | ||
| + | </ | ||
| + | |||
| + | <code bash Datensätze zählen> | ||
| + | > echo " | ||
| </ | </ | ||
| Zeile 1996: | Zeile 2009: | ||
| <code bash kompletten Cluster restarten> | <code bash kompletten Cluster restarten> | ||
| > patronictl -c / | > patronictl -c / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== temp_tablespaces ===== | ||
| + | |||
| + | <code bash temp_tablespaces-Verzeichnis anlegen> | ||
| + | > mkdir -p / | ||
| + | > chown postgres: | ||
| + | > chmod 0700 / | ||
| + | </ | ||
| + | |||
| + | <code bash temp_tablespaces konfigurieren> | ||
| + | > echo " | ||
| + | > echo " | ||
| + | > echo " | ||
| + | |||
| + | > patronictl -c / | ||
| + | ... | ||
| + | postgresql: | ||
| + | parameters: | ||
| + | temp_file_limit: | ||
| + | temp_tablespaces: | ||
| + | ... | ||
| </ | </ | ||
/home/http/wiki/data/attic/datenbank/ha-postgresql-cluster.1778837417.txt · Zuletzt geändert: von manfred
