PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Server spiegeln via rsync



Jaydee
19.07.06, 10:02
Hallo,

ich möchte zu Testzwecken zwei identische Server spiegeln / "clustern".
Dabei handelt es sich um 2 Debian Qmailserver die hinter einem Loadbalancer stehen.

Per rsync kann man ja wunderbar Daten spiegeln.
Wie aber bringe ich rsync bei, dass angenommen es wird immer von Server A nach B gespiegelt, im Ausfall von Server A und anschliessendem Neustart von diesem die Daten von B nach A gespiegelt werden.

Vielleicht ist rsync hier auch der falsche Ansatzpunkt, würde mich über Ideen bzw. bereits umgesetzte Lösungsvorschläge freuen.

Gruß & Danke
Alex

P.S. http://www.shupp.org/maps/ispcluster.html kenne ich, möchte das Vorhaben aber ersteinmal "nur" mit 2 Rechnern und lokalen Platten machen.

derRichard
19.07.06, 22:08
Hallo,

ich möchte zu Testzwecken zwei identische Server spiegeln / "clustern".
Dabei handelt es sich um 2 Debian Qmailserver die hinter einem Loadbalancer stehen.

Per rsync kann man ja wunderbar Daten spiegeln.
Wie aber bringe ich rsync bei, dass angenommen es wird immer von Server A nach B gespiegelt, im Ausfall von Server A und anschliessendem Neustart von diesem die Daten von B nach A gespiegelt werden.

Vielleicht ist rsync hier auch der falsche Ansatzpunkt, würde mich über Ideen bzw. bereits umgesetzte Lösungsvorschläge freuen.

Gruß & Danke
Alex

P.S. http://www.shupp.org/maps/ispcluster.html kenne ich, möchte das Vorhaben aber ersteinmal "nur" mit 2 Rechnern und lokalen Platten machen.
hallo!

naja, ich würde das mit einem kleinem skript machen, das weiss welcher server der aktuelle ist.
das skript führt das den entsprechenden rsync-befehl aus.
rsync kann das "out-of-the-box" eher nicht.

hth,
//richard

tschloss
20.07.06, 06:22
vielleicht hilf dir unison weiter, das synced in beide Richtungen.

Je nach Szenario könnte man sich so vielleicht sogar eine gleichzeitige Nutzung beider Server vorstellen (im Normalbetrieb partitioniert 50:50, im Notbetrieb alle auf einem)

Greetz
Thomas

Jaydee
20.07.06, 08:35
Hallo,

welches Script würdest Du da einsetzen wollen?
Beschreib das doch mal bitte genauer.
Ich habe mir schon sowas gedacht, bisher aber noch am überlegen wie ein solches Script auszusehen hat.

Danke, Alex

kl47
20.07.06, 15:24
Du könntest nach jeder neuen Mail oder nach jeder Minute ein touch /var/cache/last_change ausführen ... Und wenn B dann von A synct, holt er sich zunächst die /var/cache/last_change von A. Wenn B dann merkt, dass seine eigene last_change neuer ist als die von A, weiß er, dass er vermutlich aktueller ist und macht nichts. A machts dann genauso.

tschloss
20.07.06, 17:41
Was heißt überhaupt "Mail-Server"? QMail ist doch nur ein MTA, der hat ja nur Durchgangsfunktionen, ist also bis auf die Konfigs eh immer nur mit temporären Daten befasst.

Bei einem Server mit Mail-Storage würde ich mich auf einen Automatismus der Sync-Richtung nicht wirklich verlassen. Da hätte ich Angst vor inkonsistenten Zuständen. Zumindest muss man sich da nochmal genau die Szenarien und ungünstigen Umschaltzeitpunkte durchdenken.

Thomas

Jaydee
20.07.06, 19:34
Hallo,

ich rede von Qmail als MTA in Verbindung mit Vpopmail.

Dabei spielt /var/qmail sicherlich die kleinere Rolle, da hier nur weniger Konfigurationsänderungen stattfinden werden.

Wichtiger ist dabei /home/vpopmail welches später auf ein (besser 2) externe RAID Arrays gelegt werden soll.

Die Idee mit dem anlegen einer "Hilfsdatei" klingt gut, werd ich mal ins Auge fassen.

Im ersten Step möchte ich aber /var/qmail redundant haben.

Alex

BedriddenTech
20.07.06, 22:12
Guck dir doch mal enbd an.

mamue
21.07.06, 19:58
Drbd (http://www.drbd.org/) bietet Dir ein RAID 1 über das Netzwerk. Zum Spiegeln ist es sicher besser geeignet.

HTH,
mamue

Jaydee
26.07.06, 14:01
Hallo,

um die Lösung nicht vorzuenthalten...

Ich habe mittels DRBD die Qmailserver (/var/qmail und /home/vpopmail) redundant auf 2 mit DRBD gespiegelte Server installiert.

Diese Anleitung half mir dabei:

http://www.howtoforge.com/high_availability_nfs_drbd_heartbeat

Gruß
Alex