DRBD
Pro online replikaci dat používáme DRBD.
Vytvoření externího úložiště pro metadata
lvcreate -L 256M -n drbd-meta-disk vg_main
Velikost 256MB stačí pro kapacitu 256MB * 32768 = 8 TB, viz návod Estimating meta data size.
drbd.conf
Příklad:
resource vyuka-system { protocol C; startup { wfc-timeout 0; ## Infinite! degr-wfc-timeout 120; ## 2 minutes. become-primary-on xeric; } disk { on-io-error detach; } net { # allow-two-primaries; } syncer { } on xeric { device /dev/drbd0; disk /dev/vg_main/vyuka-system; address x.y.z.w:7789; meta-disk /dev/vg_main/drbd-meta-disk[0]; } on other-server { device /dev/drbd0; disk /dev/vg_main/vyuka-root; address x.y.z.v:7889; meta-disk /dev/vlam-server/drbd-meta-disk[0]; } }
Pozn.:
- od DRBD 8.3.2 (Debian Squeeze, Ubuntu 10.04..) lze prý místo drbd[0..9]+ psát drbd_{custom device name}. Zkoušel jsem to, ale nefunguje.
- od DRBD 8.4 (Debian Sid?) bude možné tvořit multi volume DRBD resource, tzn. všechny LV půjde synchronizovat přes jediné připojení.
Spuštění synchronizace
Rozchození je jednoduché - nejdřív vytvořte v /etc/drbd.conf popis vašich DRBD zařízení (DRBD target-ů) a pak spusťte tyto 3 příkazy:
Vytvoření DRBD zařízení:
root@xeric:#drbdadm create-md {DRBD_target_z_konfiguraku}
a to samé na druhém serveru:
root@other-server:#drbdadm create-md {DRBD_target_z_konfiguraku}
Podobně na obou serverech spustit: Připojení storage k DRBD zařízení
drbdadm attach {DRBD_target_z_konfiguraku}
Připojení DRBD zařízení k protějšku na síti:
drbdadm connect {DRBD_target_z_konfiguraku}
Změna v konfiguraci
Po jakékoli změně v konfiguraci (např. změně IP adresy některého uzlu) je potřeba udělat: odpojení (staré) protistrany:
drbdadm disconnect nejaky_resource
Reload configurace drbd:
drbdadm adjust nejaky_resource
Připojení protistrany:
drbdadm connect nejaky_resource
Problém "Secondary/Secondary" po rebootu nebo restartu drbd
Defaultní konfigurace počítá s tím, že o nastavení "Primary" strany se postará HeartBeat. Pokud HeartBeat nemáte, pak vyberte jedno ze zařízení, které po rebootu zkusí být primární, a na oba stroje přidejte do konfiguráku následující řádek:
Resize DRBD resource
Resize drbd resource' resize může být spuštěno poté, co jsou LV na obou nodech resizovaná:
lvresize -L +2G /dev/vg00/example-disk
Zmena velikosti musi byt provadena na primarni node(druhy node musi byt v rezimu secondary)
drbdadm resize resource