Aktiv-Aktiv Cluster mit DRBD?
Folgendes soll erreicht werden:
Aktiv/Aktiv Cluster mit DRBD, LVM, ISCSI und Hearbeat. Mein Chef würde amliebsten dieses Schema umgesetzt haben:
https://docs.google.com/gview?url=http://www.open-e.com/site_media/downl ...
Jetzt zu dem Problem.
Ich habe schon einige Anleitungen zum Thema HA und DRBD gelesen, allerdings finde ich immer nur aktiv/passiv und dreh hier bald ab. Dazu kommt, das ich von Linux kaum Ahnung habe, dieses aber el chefe net interessiert.
Installiert ist bereits Debian Squeeze, LVM und DRBD.
Boot
- LVM
--swap -> swap
--root -> /
--rest -> nicht eingehangen
Nu frage ich mich wie ich daraus ein a/a machen kann da ja ext3 etc nicht dafür geeignet sind.
Ich hatte mir gedacht in der "rest" das iscsi target reinzupacken und das dafür zu nutzen. Allerdings denke ich das das nichts werden wird.
drbd.config:
global {
Aktiv/Aktiv Cluster mit DRBD, LVM, ISCSI und Hearbeat. Mein Chef würde amliebsten dieses Schema umgesetzt haben:
https://docs.google.com/gview?url=http://www.open-e.com/site_media/downl ...
Jetzt zu dem Problem.
Ich habe schon einige Anleitungen zum Thema HA und DRBD gelesen, allerdings finde ich immer nur aktiv/passiv und dreh hier bald ab. Dazu kommt, das ich von Linux kaum Ahnung habe, dieses aber el chefe net interessiert.
Installiert ist bereits Debian Squeeze, LVM und DRBD.
Boot
- LVM
--swap -> swap
--root -> /
--rest -> nicht eingehangen
Nu frage ich mich wie ich daraus ein a/a machen kann da ja ext3 etc nicht dafür geeignet sind.
Ich hatte mir gedacht in der "rest" das iscsi target reinzupacken und das dafür zu nutzen. Allerdings denke ich das das nichts werden wird.
drbd.config:
global {
- minor-count 255;
}
resource rest {
protocol C;
startup { degr-wfc-timeout 120; }
disk { on-io-error detach; }
net { cram-hmac-alg "sha1"; shared-secret "geheim"; }
syncer { rate 10M; }
on host1 { device /dev/drbd0; disk /dev/mapper/rest; address 192.168.1.1:7700; flexible-meta-disk internal; }
on host2 { device /dev/drbd0; disk /dev/mapper/rest; address 192.168.1.2:7700; flexible-meta-disk internal; }
}
Kann mir wer weiterhelfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204283
Url: https://administrator.de/contentid/204283
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
5 Kommentare
Neuester Kommentar
a/a ist wirklich böse. Wenn die Netzwerkverbindung dazwischen abbricht (und das kann einfacher passieren als man denkt) hast du einen Split-Brain, sprich zwei unterschiedliche Datenstände die du nie wieder synchron bekommst - ergo: Datenverlust, denn eine Hälfte des Split-Brains musst du dann zwingend verwerfen. Alleine zur Synchronisierung des DRBD solltest du mit redundanten Netzwerkverbindungen arbeiten.
Einfacher und schöner ist es mit Zusatzsoftware wie Pacemaker oder Corosync. Das läuft auf beiden Systemen und sorgt bei Ausfall eines Storages automatisch dafür dass die ausgefallenen Dienste ASAP auf anderen funktionierenden Storages weiterlaufen.
Du hast also z.B. zwei Storages: X und Y.
Auf X läuft DRBD active, auf Storage Y passive.
Wenn X auf einmal tot ist, sorgen Corosync und Pacemaker dafür dass DRBD auf Y in den Active-Mode versetzt wird und die iSCSI-Freigaben dort zur Verfügung gestellt werden. Auf Wunsch wird sogar die IP des toten Systems umgezogen.
Bei dieser Lösung KANN kein Splitbrain mehr entstehen, es ist aber ein wahrer Voodoo-Zauber sich in Corosync und Pacemaker hineinzudenken - erst Recht wenn du mit Linux so garkeine Erfahrung hast.
Gib deinem Chef bitte mal zu denken, dass eine fertige Lösung unter Umständen rein vom Aufwand her um ein vielfaches günstiger und stabiler ist. Gerade wenn wichtige Daten darauf gespeichert sind...
Einfacher und schöner ist es mit Zusatzsoftware wie Pacemaker oder Corosync. Das läuft auf beiden Systemen und sorgt bei Ausfall eines Storages automatisch dafür dass die ausgefallenen Dienste ASAP auf anderen funktionierenden Storages weiterlaufen.
Du hast also z.B. zwei Storages: X und Y.
Auf X läuft DRBD active, auf Storage Y passive.
Wenn X auf einmal tot ist, sorgen Corosync und Pacemaker dafür dass DRBD auf Y in den Active-Mode versetzt wird und die iSCSI-Freigaben dort zur Verfügung gestellt werden. Auf Wunsch wird sogar die IP des toten Systems umgezogen.
Bei dieser Lösung KANN kein Splitbrain mehr entstehen, es ist aber ein wahrer Voodoo-Zauber sich in Corosync und Pacemaker hineinzudenken - erst Recht wenn du mit Linux so garkeine Erfahrung hast.
Gib deinem Chef bitte mal zu denken, dass eine fertige Lösung unter Umständen rein vom Aufwand her um ein vielfaches günstiger und stabiler ist. Gerade wenn wichtige Daten darauf gespeichert sind...
Zitat von @Wild-Wolf:
Naja wir hatten ja open-e im Einsatz aber da es da Probleme mit der Leistung bei einem 2ten esxi gab meinte er ich solle das mal
eben nachbauen auf die Art und weise und bitte a/a.
Naja wir hatten ja open-e im Einsatz aber da es da Probleme mit der Leistung bei einem 2ten esxi gab meinte er ich solle das mal
eben nachbauen auf die Art und weise und bitte a/a.
Naja, die Frage ist doch wo der Flaschanhals lag.
Wenn das Netzwerk auf Anschlag war müssen halt mehrere Netzwerkkarten gebündelt oder direkt Fibrechannel genutzt werden.
Waren es die Festplatten muss man sich fragen ob man nicht schnellere Festplatten oder bessere RAID-Controller verwendet.
Die letzten Worte eines Panzerfahrers: "Sooo schwer kann das ja nicht sein!"
Zitat von @Wild-Wolf:
Ist es denn generell möglich das system im A/A laufen zu lassen und wenn ja, wie löse ich das Problem mit den iscsi und
Plattenformat?
Ist es denn generell möglich das system im A/A laufen zu lassen und wenn ja, wie löse ich das Problem mit den iscsi und
Plattenformat?
Mache ihm bitte nochmal klar welche Gefahr er mit a/a eingeht und dass es gerade im Zusammenhang mit virtuellen Maschinen ja einen nicht unerheblichen Datenverlust bedeuten kann. Gerade auch, wenn man den Splitbrain nicht sofort bemerkt und da munter vor sich hin gespeichert wird.
Es gibt keine Möglichkeit einen Splitbrain zusammenzufügen da DRBD nunmal blockbasiert ist.
http://de.wikipedia.org/wiki/Split_Brain_%28Informatik%29
Sprich: Es muss ein redundantes Netzwerk vorhanden sein (also min. 2x Switch, 2x Netzwerkkarte angeschlossen an 2x getrennte Stromversorgung...).
Vor allen Dingen muss das Konstrukt danach administriert werden können um im Falle eines Fehlers etc... die Daten nicht zu zerstören.
Zum optimalen Plattenlayout kann ich jetzt so pauschal nichts sagen, aber rein vom Prinzip her müsstest du irgendwo Platz reservieren und darauf ein DRBD-Volume einrichten. DARAUF kannst du dann eine Volume-Gruppe mit logischen Volumes erzeugen aus der du dann die iSCSI-Targets holen kannst.
Du musst im Hinterkopf behalten:
DRBD ist blockbasiert, hat also mit Dateisystemen noch garnichts am Hut. Das Ding speichert wie eine Festplatte 1 und 0. Auf dem DRBD-Volume kannst du aber wie auf einer normalen Festplattenpartition arbeiten - also iSCSI-Targets anlegen in denen sich dann widerum ein Dateisystem befinden kann.
Wenn du darauf bestehst dass dieses iSCSI-Target an mehreren Systemen zeitgleich zum Schreiben eingehangen werden kann solltest du innerhalb des iSCSI-Targets ein Cluster-LVM erstellen (das ist wie der Name schon zaghaft andeutet ein Cluster-Fähiges LVM) um darin dann einzelne Volumes zu erstellen die zeitgleich auf mehreren Systemen verwendet werden können.
Wie sieht es denn mit den virtuellen Festplatten bei eurer Virtualisierung aus? Sind das Festplattenimages in Form von Dateien oder reicht ihr ein ganzes iSCSI-Target/Logisches Volume an die VM weiter?
Evtl. ist auch ein objektbasiertes Freigabesystem wie NFS richtiger für euren Einsatzzweck.
Hi
Was hältst du von openfiler (Open Source) als HA Cluster ?
Gute Anleitung !
http://www.howtoforge.com/openfiler-2.3-active-passive-cluster-heartbea ...
Was hältst du von openfiler (Open Source) als HA Cluster ?
Gute Anleitung !
http://www.howtoforge.com/openfiler-2.3-active-passive-cluster-heartbea ...