DRBD: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 1: | Zeile 1: | ||
==konfigurationsdatei== | ==konfigurationsdatei== | ||
− | + | global { | |
+ | usage-count yes; | ||
+ | } | ||
+ | common { | ||
+ | syncer { | ||
+ | rate 10M; | ||
+ | } | ||
+ | protocol C; | ||
+ | handlers { | ||
+ | pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f"; | ||
+ | pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f"; | ||
+ | local-io-error "echo o > /proc/sysrq-trigger ; halt -f"; | ||
+ | outdate-peer "/usr/sbin/drbd-peer-outdater"; | ||
+ | } | ||
+ | startup { | ||
+ | } | ||
+ | disk { | ||
+ | on-io-error detach; | ||
+ | } | ||
+ | net { | ||
+ | after-sb-0pri disconnect; | ||
+ | after-sb-1pri disconnect; | ||
+ | after-sb-2pri disconnect; | ||
+ | rr-conflict disconnect; | ||
+ | } | ||
+ | } | ||
+ | resource data { | ||
+ | device /dev/drbd0; | ||
+ | meta-disk internal; | ||
+ | on emi { | ||
+ | disk /dev/sdd; | ||
+ | address 10.0.0.1:7788; | ||
+ | } | ||
+ | on lilly { | ||
+ | disk /dev/sdb; | ||
+ | address 10.0.0.2:7788; | ||
+ | } | ||
+ | } | ||
+ | <-- | ||
#/etc/drbd.conf | #/etc/drbd.conf | ||
global { | global { | ||
Zeile 62: | Zeile 100: | ||
formatieren. | formatieren. | ||
root@thorin:~# mkfs.ext3 /dev/drbd0 | root@thorin:~# mkfs.ext3 /dev/drbd0 | ||
+ | ---!> | ||
==Split Brain recovery manuell== | ==Split Brain recovery manuell== |
Version vom 5. April 2013, 10:11 Uhr
konfigurationsdatei
global {
usage-count yes;
} common {
syncer { rate 10M; } protocol C; handlers { pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f"; pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f"; local-io-error "echo o > /proc/sysrq-trigger ; halt -f"; outdate-peer "/usr/sbin/drbd-peer-outdater"; } startup { } disk { on-io-error detach; } net { after-sb-0pri disconnect; after-sb-1pri disconnect; after-sb-2pri disconnect; rr-conflict disconnect; }
} resource data {
device /dev/drbd0; meta-disk internal; on emi { disk /dev/sdd; address 10.0.0.1:7788; } on lilly { disk /dev/sdb; address 10.0.0.2:7788; }
} <--
#/etc/drbd.conf global { usage-count yes; } common { syncer { rate 10M; } } resource data { protocol C; handlers { pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f"; pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f"; local-io-error "echo o > /proc/sysrq-trigger ; halt -f"; outdate-peer "/usr/sbin/drbd-peer-outdater"; } startup { } disk { on-io-error detach; } net { allow-two-primaries; after-sb-0pri disconnect; after-sb-1pri disconnect; after-sb-2pri disconnect; rr-conflict disconnect; } syncer { rate 10M; al-extents 257; } on thorin { device /dev/drbd0; disk /dev/sda3; address 172.18.241.29:7788; meta-disk /dev/sda5 [0]; } on thrain { device /dev/drbd0; disk /dev/sda3; address 172.18.241.30:7788; meta-disk /dev/sda5 [0]; } }
konfigurationsdatei auf andere node kopieren
root@thorin:~# scp /etc/drbd.conf thrain:/etc
auf beiden seiten md kreieren
root@thorin:~# drbdadm create-md data root@thrain:~# drbdadm create-md data
partitionen aktivieren
root@thorin:~# drbdadm up data root@thrain:~# drbdadm up data
eine seite auf master setzen.
root@thorin:~# drbdsetup /dev/drbd0 primary -o
formatieren.
root@thorin:~# mkfs.ext3 /dev/drbd0
---!>
Split Brain recovery manuell
Auf dem Secondary Node folgendes ausführen:
drbdadm secondary data drbdadm disconnect data drbdadm -- --discard-my-data connect data
und auf dem Primary Node:
drbdadm connect data
Das System stellt sich dann von selbst wieder her, wenn keine anderen Probleme vorliegen.
Zustand checken
root@reliant:~# drbd-overview 0:galactica-services SyncTarget Primary/Primary Inconsistent/UpToDate C r---- [====>...............] sync'ed: 25.7% (38072/51196)M 1:orion Connected Primary/Primary UpToDate/UpToDate C r----
Hozhammermethode
drbdadm -- --overwrite-data-of-peer primary data
Nützliche Kommandos für drbdadm
Der Befehl drbdadm ist vergleichbar mit mdadm bei Softraids. Er kann mit verschiedenen Parametern dazu benutzt werden, DRBD-Devices wie oben bereits gezeigt zu erstellen, aber auch zu ändern, zu (de-)aktivieren oder zu löschen.
Volle Neusynchronisation
von /dev/drbd0 mittels der DRBD-Ressource 'home-data' (Status in /proc/drbd)
drbdadm attach home-data
Trennen der Verbindung von Laufwerk und DRBD-Ressource:
drbdadm detach home-data
Verbinden des DRBD-Treibers mit dem anderen Node:
drbdadm connect home-data
Bestehende DRBD-Verbindung zum anderen Node trennen:
drbdadm disconnect home-data
Masterrolle agbgeben:
drbdadm secondary home-data
Masterrolle übernehmen:
drbdadm primary home-data
Übernahme von Änderungen an /etc/drbd.conf:
drbdadm adjust home-data
Statusabfrage der Verbindung:
drbdadm role home-data