PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mount und Sync bei DRBD



enzu
04.11.05, 09:32
Vorerst, ich bin nicht so der Linux Checker, also habt nachsicht mit mir. In der Firma muss ich 2 Rechner mittels DRBD und Heartbeat zum Laufen zu kriegen. Ich bin soweit, dass die DRBD und Heartbeat ohne Probleme starten. Die 2 Rechner finden sich (Syncronisieren sich auch), einer ist Primary und der andere Secondary.
Jetzt zu meinen Problemen und Fragen.

Drbd tut ja die Daten, die z.B. in /data (wenn drbd0 da drauf gemountet ist) auf dem Primary sind, mit dem Secondary syncronisieren (wenn neue Datei auf dem Primary erstellt wird, dass diese auch auf dem Secondary ist). Stimmt das oder habe ich das Prinzip von DRBD falsch verstanden?

Die weitere Frage ist, wie kann ich dieses dann richtig zum Laufen zu bringen. Ich habe schon mehrere Quellen benutzt, aber keine hat funtkioniert.

Was muss ich machen, dass wenn der Primary ausfällt, der Secondary Primary wird und dieser wieder zurück zum Secondary wird, wenn der eigentliche Primary wieder zu Verfügung steht.

Danke schonmal in vorraus

Polarizer
04.11.05, 11:18
Drbd tut ja die Daten, die z.B. in /data (wenn drbd0 da drauf gemountet ist) auf dem Primary sind, mit dem Secondary syncronisieren (wenn neue Datei auf dem Primary erstellt wird, dass diese auch auf dem Secondary ist). Stimmt das oder habe ich das Prinzip von DRBD falsch verstanden?


Alle Schreibzugriffe auf ein DRBD Blockdevice, das den Status primary hat, werden, vorausgesetzt die Verbindung steht, über das Netzwerk auf das korrespondierende Blockdevice mit dem Status secondary gedoppelt (raid over network)

Denn aktuellen Status checkt man mit cat /proc/drbd
SVN Revision: 1942 build by root@abox, 2005-09-16 13:05:27
0: cs:Connected st:Primary/Secondary ld:Consistent
ns:12628 nr:0 dw:8254984 dr:203845249 al:31230 bm:11490 lo:0 pe:0 ua:0 ap:0
1: cs:Connected st:Secondary/Primary ld:Consistent
ns:0 nr:6596 dw:76728964 dr:1071041 al:41 bm:3399 lo:0 pe:0 ua:0 ap:0


Um im Fehlerfall die Blockdevices auf dem anderen Node zu mounten, liefert drbd ein heartbeat Skript mit, das in der /etc/ha.d/haresources aufgerufen wird. Die drbd devices werden also nicht via /etc/fstab, sondern vom heartbeat gemountet.

Beispiel /etc/ha.d/haresources


Node1 IPaddr::192.168.1.1 datadisk::r0 Filesystem::/dev/drbd0::/var/spool/postfix::ext3::data=journal postfix
Node2 IPaddr::192.168.1.2 datadisk::r1 Filesystem::/dev/drbd1::/svr/samba::ext3::data=journal samba

Hier verfügt Node1 über ein DRBD-Device, das im Fehlerfall auf Node2 gemountet wird. Node2 verfügt über ein weiteres das im Fehlerfall auf Node1 gemountet wird. Der eine Rechner ist ein Fileserver, der andere ein Mailserver. Fällt einer der beiden Rechner aus, übernimmt der andere mit dem aktuellen Datenbestand dessen Aufgabe (HA).

Eine gute Idee ist es, die für Verbindung via drbd separate Gigabit-Nics und Crossoverkabel zu benutzen.