Hochverfügbarkeit

Hi

Ich möchte in meiner Firma im Januar ein kleines HA Projekt starten. Grundidee sind zwei Storage-Server mit GFS2. Zwei Web-Server mit Apache2 und LVS am Gateway. Vier Tomcats als Loadbalancer. Tomcats und Webserver ziehen ihr Storage aus aus dem GFS2 Pool. Was mir bei der Überlegung fehlt wäre ein HA Setup für PostgreSQL. Zum einen wäre PITR möglich sofern die DB ebenfalls auf dem GFS2 Pool gespeichert wird. Aber irgendwie gefällt mir das nicht richtig. Gäbe es da eine Möglichkeit der Replikation die ich via LVS mit ansprechen könnte? Fällt der eine PG Server aus springt der zweite ohne Zeitverzögerung hinterher.

viele Grüße
Darko

Bei Streaming Replication hast einen oder mehr Server als Hot Standby. Du brauchst eine Instanz, die den Master überwacht, und bei Ausfall via Triggerfile einen Slave zum Master erhebt. Das kann z.B. via pgpool erfolgen.
Wenn Du alle Anfragen eh über den pgpool schickst, weiß er dann ja auch, daß der alte Master weg ist und schickt dann alles zum neuen Master. Haben wir so in der Form für einen Kunden im Einsatz.
Man muß nur aufpassen: man kann ja in Funktionen, die via SELECT aufgerufen werden, auch Schreiboperationen haben. Pgpool kennt Black/Whitelists für Funktionen, damit bekommt man das aber geregelt.

Für interne Dinge haben wir via DRBD 2 Eisen auf dem gleichen physischen Stand und via Heartbeat wird, falls erforderlich, der inaktive zum Master gekürt. Diese Konstellation haben wir auch sehr oft für Kunden im Einsatz, aber mit einer anderen DB. Das ist aber irrelevant, da diese Lösung weit unterhalb der HA-Anwendung arbeitet.

Beides funktioniert. LVS haben wir IIRC auch bei einem Kunden im Einsatz, aber mit einer anderen Datenbank, nicht PG. Ich werf mal noch 2 Begriffe: pgbouncer und repmgmr.

In Deiner Frage ist IMHO ein Widerspruch: “PITR möglich sofern die DB ebenfalls auf dem GFS2 Pool gespeichert wird.” PITR ist KEIN Mittel für HA. Vermutlich meintest Du statt dessen SR (Streaming Replication) Für HA möchtest Du, daß auch eines der Storages ausfallen kann, und Du möchtest, daß die Daten auf dem Reserve-Storage den gleichen Stand wie auf dem ausgefallenen haben. Ein PITR auszuführen kann eine Weile dauern.

PS.: du kannst das auch bei uns hosten lassen, wir haben eine ganze Latte von Kunden-Cluster-Lösungen erfolgreich im Einsatz :wink:

Andreas