DRBD Split Brain repair

Split Brain repair

Bei einem Split Brain ist das Primary / Primary konstrukt auseinander gebrochen und man muß sich entscheiden, welche Seite man zum Master macht bzw. welche Seite die aktuellsten Daten hat.

Erkennen kann man den Split Brain durch das Kommando drbd-overview. Im Idealfall sieht es so aus:

drbd-overview
0:nfs_data/0Connected Primary/Primary UpToDate/UpToDate C r----- /drbd ocfs2 199G 13G 187G 7%

im Fehlerfall:

cs:StandAlone
cs:WFConnection

Alternativ kann man auch ein grep aufs Syslog machen

grep -i "split-brain" /var/log/syslog

als Ausgabe erhält man:

Split-Brain detected, dropping connection!

Ich entscheide mich, daß palle-02 der aktuellere ist und pille-01 neu synchronisert werden muß.

Vorgehensweise zur Beseitigung des Split Brain.

auf pille-01 den NFS Server stoppen

service nfs-kernel-server stop

DRBD Device lösen, umount

umount /drbd

DRBD Device gerade ziehen

drbdadm secondary nfs_data

Resource trennen

drbdadm disconnect nfs_data

Alle Änderungen wegschmeißen

drbdadm connect --discard-my-data nfs_data

Primary / Primary Mode wiederherstellen
Auf palle-02 folgendes ausführen

drbdadm primary nfs_data
drbdadm connect nfs_data

Die Replikation überwachen mit

drbd-overview

oder mit

cat /proc/drbd

Nachdem die Replikation vollständig abgeschlossen ist, den Slave (pille-01) auch wieder zum Primary machen

drbdadm primary nfs_data

Mount wiederherstellen und den NFS Server starten

mount /drbd
service nfs-kernel-server start

That’s all, DRBD up and running, feel free to change and play with the configs 🙂