DRBD

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání

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, ale každý DRBD resource musí mít min. 128MB metadat - viz tento report.

Proto jako velikost metadat dejte 128MB * počet DRBD zařízení.

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