Zwei Web-Linux-VMs redundant auslegen

Patschi

New Member
Hallo,

wie im Titel kurz erwähnt, möchte ich zwei Webserver-Linux-Maschinen redundant auslegen...

Mein Ziel mal genauer erklärt:
Das Ziel wäre: Ein dedizierter Server mit VMware ESXi, worauf sich zwei virtuelle Debian 7 Maschinen (die Webserver) befinden, welche dann redundant aufgebaut sein sollen. Auf beiden Maschinen sollen immer die gleichen Daten (in Echtzeit) über eine VPN-Verbindung repliziert werden. Da alles dann über einen VPN-Tunnel mit jeweils statischen IP-Adressen läuft, kann ich dann jeweils eine Maschine problemlos auf einen anderen Server migrieren, ohne weitere Anpassungen an den Konfigurationen (z.B. IPs) vornehmen zu müssen, und kann so quasi eine noch etwas höhere Verfügbarkeit erreichen - aber derzeit würde es mir völlig ausreichen, wenn sich Beide auf der selben physischen Maschine befinden und nur die Dienste selbst redundant ausgelegt sind. Dadurch könnte ich dann ich problemlos jeweils eine Maschine in einen "Wartungsmodus" schalten bzw. irgendeinen Dienst beenden oder aktualisieren (Web, Datenbank, ...), ohne jegliche bemerkbare Downtime der Webseiten zu haben - alles würde wie gewohnt weiterlaufen.

Grober Umsetzungsplan:
Als Proxy-Webserver würde ich HAProxy verwenden, für die Datenbank den MariaDB Galera Cluster
und für das Dateisystem eventuell Unison oder DRDB (?).

Hat jemand diesbezüglich Vorschläge? Lässt sich das einfacher lösen?
Gibt es bessere Software, mit dem man sowas umsetzen könnte?
Bin für jegliche Vorschläge offen!

Danke!

MfG
 
und für das Dateisystem eventuell Unison oder DRDB (?).
DRBD und Unison sind keine Dateisysteme. Da suchst du wahrscheinlich glusterfs oder ocfs2.

Oder meinst du zur Datensynchronisation? Dann schau dir noch ISCSI an, damit kann man auch nettes basteln als Ersatz für DRBD. Müsste über VPN auch noch performanter sein.

Grüße
 
Last edited by a moderator:
Möchte einfach beide virtuellen Maschinen immer synchron halten und das (möglichst) in Echtzeit... Entweder ich repliziere einfach nur die benötigten Ordner wie /var/www, /etc/apache2/, etc oder gleich mit DRDB das komplette Dateisystem. Das ist eben auch die Frage, was hierbei performanter, sicherer und stabiler läuft...

iSCSI ist glaub ich nicht die richtige Lösung für das Szenario. Da müsste ich bei jeder Maschinen jede andere Maschine mounten, etc (wenn ich zB die Serveranzahl auf 3 erhöhe). Und benötigt iSCSI nicht zwingend Image-Dateien oder direkte Devices? Bei Netzwerkabbrüchen wird denk ich mal mit iSCSI alles auseinander fallen?
 
Wenn du am Anfang alles auf einem Host halten willst und erst später ggfl. die 2. VM auf ein anderes Blech schieben möchtest, wäre ein Aktiv/Passiv Betrieb mit DRBD wohl das einfachste und stabilste, was du erstmal bauen kannst.
Wenn er automatisch die Services online halten soll, halt noch ein Pacemaker/Corosync oben drauf.
Irgendwelche Spielerein mit Cluster Dateisystemen kannst du dir dann völlig sparen. Ebenso den HA-Proxy.

Wenn beide Server gleichzeitig die Services bereitstellen sollen, macht das Setup von Grund auf keinen Sinn, weil das lohnt sich nur zur Lastverteilung und sonst nichts. Wenn beide auf dem gleichen Blech liegen, ist das völliger Schwachsinn.

Wenn du ein Scale-Out Web-Cluster bauen willst, kommst du um ein zentrales Storage nicht drum herum.
Einfachste Möglichkeit wäre NFS. Mit iSCSI an alle Webserver dran und ein Cluster Dateisystem oben drauf wäre aber auch möglich, würde ich aber nicht empfehlen.
Das Storage sollte unabhängig von den Webservern betrieben werden. Also kein Schwachsinns iSCSI Mount über Kreuz von den Webservern, sondern sauber separat und redundant dahinter gebaut.
Sowas kann man mit Linux selbst frickeln (ab einer gewissen Last und/oder Storagegröße aber nicht zu empfehlen) oder fertig einkaufen und als Appliance dahinter stellen. Das wird dann aber recht schnell ziemlich teuer.
 
Back
Top