Hallo zusammen
Ich möchte einen 2-Node-Cluster-Gateway mit heartbeat im aktiv-aktiv Betrieb aufsetzen. Verschiedene Dienste (wie DHCP, DNS (bind), SMTP (postfix), HTTP-Traffic, ...) sollen verteilt auf den Nodes laufen. Fällt das eine System aus übernimmt das noch laufende System die anderen Dienste mit.
Ich suche für dieses Vorhaben noch ein geeignetes Dateisystem. Über DRBD habe ich gelesen, dass es nur immer nur einen schreibenden Zugriff gewährt. Ich würde aber gerne das ganze so umsetzen, dass zumindest Konfigurations-Dateien synchronisiert werden. Das heißt egal auf welchem Node ich Änderungen vornehme, die Änderungen müssen nach Speicherung auf beiden Nodes verfügbar sein. Bei Log-Files wird das ganze ja schon schwieriger, da sie ja fast immer geöffnet sind. Das wäre aber nicht so wichtig, weil man die immer noch woanders (z.B. auf einen Logging-Server) hinschieben kann. Im Prinzip würde es ja reichen, nur Konfigurations-Dateien von Diensten die auf einem der beiden Nodes laufen zu synchronisieren.
Hat jemand schon Erfahrungen in Linux-HA mit aktiv-aktiv Cluster gesammelt?
Welches Dateisystem ist dafür am besten geeignet?
Gibt es vielleicht doch eine Lösung mit DRBD?
Der Aufwand das einzurichten sollte nicht zu groß sein.
Danke für eure Tipps.
Grüßle
alrik
Welches Dateisystem für Linux-HA Gateway-Lösung?
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
wichtig bei einem HA cluster ist das du datenintegrität hast - d.h. einen gemeinsamen speicher auf den alle (mindestens zwei) nodes schreibend und lesend zugreifen können - genau das ermöglicht DRBD
trickreich wird es erst wenn du das nicht hast - d.h. HA cluster die kein gemeinsames SAN haben wobei trotzdem datenintegrität gewährleistet werden muss (ich denke das gibt es gar nicht - ich kenne keinen fall wo das so implementiert ist )
ich denke du verwechselst DRBD mit der klasse der filesysteme wie z.B. ext3 usw. - DRBD ist ein netzwerk RAID 1 - auf diesem richtest du dann ein filesystem ein (z.B. ext3)
in einfachen worten:
wenn du einen HA cluster mit DRBD machst sind alle daten immer "syncronisiert" (stimmt hier nicht da ...) da es ja nur einen Speicher gibt - im einfachsten fall zwei HDD's an hardware raid controller welche du als ein laufwerk in DRBD einbindest
wegen der schreibzugriffe:
DRBD hat IIRC drei versch. modi - je nach häufigkeit der zugriffe bzw. datenmengen und Netzwerk das darunterliegt wählst du das was am besten ist
BTW - wenn ich mir deine dienste ansehe kannst du dir zuerst die frage stellen wie viel prozent schreibzugriffe du haben wirst (wenig im vergleich zu den lesenden) und dann noch ob ein 100MBit netz (das nehme ich an - wenn es ein GBit netz ist noch besser) mit dem Datenaufkommen nicht zu Rande kommt
so wie ich das sehe musst du dir keine sorgen machen
markus
trickreich wird es erst wenn du das nicht hast - d.h. HA cluster die kein gemeinsames SAN haben wobei trotzdem datenintegrität gewährleistet werden muss (ich denke das gibt es gar nicht - ich kenne keinen fall wo das so implementiert ist )
ich denke du verwechselst DRBD mit der klasse der filesysteme wie z.B. ext3 usw. - DRBD ist ein netzwerk RAID 1 - auf diesem richtest du dann ein filesystem ein (z.B. ext3)
in einfachen worten:
wenn du einen HA cluster mit DRBD machst sind alle daten immer "syncronisiert" (stimmt hier nicht da ...) da es ja nur einen Speicher gibt - im einfachsten fall zwei HDD's an hardware raid controller welche du als ein laufwerk in DRBD einbindest
wegen der schreibzugriffe:
DRBD hat IIRC drei versch. modi - je nach häufigkeit der zugriffe bzw. datenmengen und Netzwerk das darunterliegt wählst du das was am besten ist
was ja auch ganz logisch ist - vergiss nicht das wir hier im ms bereich sindÜber DRBD habe ich gelesen, dass es nur immer nur einen schreibenden Zugriff gewährt.
das einrichten ist ja nur 15% der zeit die du investieren musst - der rest ist einlesen, testen usw.Der Aufwand das einzurichten sollte nicht zu groß sein.
BTW - wenn ich mir deine dienste ansehe kannst du dir zuerst die frage stellen wie viel prozent schreibzugriffe du haben wirst (wenig im vergleich zu den lesenden) und dann noch ob ein 100MBit netz (das nehme ich an - wenn es ein GBit netz ist noch besser) mit dem Datenaufkommen nicht zu Rande kommt
so wie ich das sehe musst du dir keine sorgen machen
markus
Erstmal danke für die schnelle Antwort...
Wenn beide Nodes auf den gleichen Datenbestand zugreifen, wie ist dann gewährleistet, dass man z.B. in Log-Einträgen in /var/log zwischen Node 1 und 2 unterscheiden kann?
Mit einem aktiv-passiv-Cluster (Hot-StandBy) würde mir das irgendwie einleuchten...
Vielleicht habe ich auch gerade einen Knoten im Hirn?!
ich bin mir schon im klaren darüber was DRBD ist, bei der Suche nach einem geeignetem Dateisystem meinte ich Methoden wie DRBD, GFS, Coda oder ähnliche..ich denke du verwechselst DRBD mit der klasse der filesysteme wie z.B. ext3 usw. - DRBD ist ein netzwerk RAID 1 - auf diesem richtest du dann ein filesystem ein (z.B. ext3)
aber ist das nicht ein Problem bei einem Aktiv-Aktiv-Cluster? Hier sind doch die beiden Nodes im Normalfall unterschiedlich konfiguriert und sollen nur bei einem Ausfall einer Node die anderen Dienste übernehmen. Es gibt ja auch Dienste die im Normalbetrieb auf beiden Nodes laufen aber unterschiedlich konfiguriert sind (z.B. DNS/bind der auf Node 1 als master und auf Node 2 als slave laufen kann, oder verschiedene Firewall-Scripte).wenn du einen HA cluster mit DRBD machst sind alle daten immer "syncronisiert"
Wenn beide Nodes auf den gleichen Datenbestand zugreifen, wie ist dann gewährleistet, dass man z.B. in Log-Einträgen in /var/log zwischen Node 1 und 2 unterscheiden kann?
Mit einem aktiv-passiv-Cluster (Hot-StandBy) würde mir das irgendwie einleuchten...
Vielleicht habe ich auch gerade einen Knoten im Hirn?!
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
nun ob du auch systemdaten (also /boot / etc. beider systeme oder nur eines systems) auf das DRBD device legst oder ob dafür jeder node eine HDD hat und nur die nutzdaten der jeweiligen dienste im DRBD liegen hat bleibt dir überlassen
beides hat vor und nachteile
in einfachen worten:
du kannst mit beiden nodes ein DRBD verwenden sonst keine HDD oder
das DRBD für nutzdaten der dienste etc. und jeweils (pro node eine HDD) für systemdaten und anderes zeug
im falle das du mit beiden ein DRBD verwendest ist das booten etwas kniffliger, da du eine maschine als diskless client booten musst was nicht der fall ist wenn zum booten je eine HDD oder oder evtl. auch CD zu verfügung ist um / und /boot mounten zu können - der nachteil ist vielleicht das du eine HDD mehr benötigst
was du schlußendlich machst hängt vom einzelfall ab ...
noch genialer in deinem fall wäre ja ein HA cluster mit DRBD und linux-Vserver - da könntest du die dienste in die Vserver packen und dann ganz einfach von einem node zum anderen kopieren (wie ein directory ohne das du irgendeine konfigurations datei anpassen musst - du bist hardware unabhängig - d.h. du kannst einen apachen mit einigen websites innerhalb von 2 min von einer single cpu auf eine smp maschine ziehen und das ding läuft dann weiter wie vorher)
http://linux-vserver.org/Vserver+DRBD
zuvor müsstest du allerdings den linux-Vserver einrichten
http://www.neubix.de/vserver/
markus
beides hat vor und nachteile
in einfachen worten:
du kannst mit beiden nodes ein DRBD verwenden sonst keine HDD oder
das DRBD für nutzdaten der dienste etc. und jeweils (pro node eine HDD) für systemdaten und anderes zeug
im falle das du mit beiden ein DRBD verwendest ist das booten etwas kniffliger, da du eine maschine als diskless client booten musst was nicht der fall ist wenn zum booten je eine HDD oder oder evtl. auch CD zu verfügung ist um / und /boot mounten zu können - der nachteil ist vielleicht das du eine HDD mehr benötigst
was du schlußendlich machst hängt vom einzelfall ab ...
noch genialer in deinem fall wäre ja ein HA cluster mit DRBD und linux-Vserver - da könntest du die dienste in die Vserver packen und dann ganz einfach von einem node zum anderen kopieren (wie ein directory ohne das du irgendeine konfigurations datei anpassen musst - du bist hardware unabhängig - d.h. du kannst einen apachen mit einigen websites innerhalb von 2 min von einer single cpu auf eine smp maschine ziehen und das ding läuft dann weiter wie vorher)
http://linux-vserver.org/Vserver+DRBD
zuvor müsstest du allerdings den linux-Vserver einrichten
http://www.neubix.de/vserver/
markus
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30