Distributed Replicated Block Device (DRBD) - disrribuované zariadenie s replikovanými blokmi je zariadenie, ktoré zrkadlí svoje bloky navzájom medzi viacerými stanicami. Replikácia je pritom neviditeľná pre ostatné aplikácie v systéme. Zrkadlený môže byť ktorýkoľvek blok pevných diskov, diskových oddielov, diskových polí RAID, logických zväzkov, atď.
Ak chceme systém drbd začať používať, najskôr musíme nainštalovať potrebné balíky. Do príkazového riadka zadáme:
sudo apt-get install drbd8-utils
![]() |
Ak používate virtuálne jadro virtual kernel ako súčasť virtuálneho počítača, je potrebné modul drbd ručne skompilovať. Jednoduchší spôsob je nainštalovanie balíka linux-server do virtuálneho počítača. |
---|---|
V tejto časti si povieme ako drbd nastaviť tak, aby medzi dvoma stanicami replikoval samostatný diskový oddiel so súborovým systémom ext3 pripojený k /srv
. Veľkosť diskového oddielu nie je podstatná, ale na oboch počítačoch musí byť rovnaká.
Dve stanice sa v našom príklade budú volať drbd01 a drbd02.
Je potrebné, aby bol nastavený preklad adries prostredníctvom DNS alebo na oboch staniciach prostredníctvom súboru /etc/hosts
. Viac informácií sa nachádza v kapitole Služba prekladu doménových mien (DNS).
Systém drbd najskôr nastavíme na prvej stanici úpravou súboru /etc/drbd.conf
:
global { usage-count no; }
common { syncer { rate 100M; } }
resource r0 {
protocol C;
startup {
wfc-timeout 15;
degr-wfc-timeout 60;
}
net {
cram-hmac-alg sha1;
shared-secret "secret";
}
on drbd01 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.0.1:7788;
meta-disk internal;
}
on drbd02 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.0.2:7788;
meta-disk internal;
}
}
![]() |
Súbor |
---|---|
Teraz skopírujeme súbor /etc/drbd.conf
na druhú stanicu:
scp /etc/drbd.conf drbd02:~
Na stanici drbd02 súbor premiestnime do priečinka /etc
:
sudo mv drbd.conf /etc/
Teraz na oboch staniciach spustíme drbd démon:
sudo /etc/init.d/drbd start
Potom použijeme nástroj drbdadm, ktorým inicializujeme metaúložisko. Na každej stanici spustíme:
sudo drbdadm create-md r0
Na stanici drbd01 alebo na tej, ktorá má byť hlavá, zadáme:
sudo drbdadm -- --overwrite-data-of-peer primary all
Po spustení predchádzajúceho príkazu sa začnú dáta synchronizovať s druhou stanicou. Ak chceme vidieť do akej miery je úloha hotová, na stanici drbd02 zadáme:
watch -n1 cat /proc/drbd
Výpis prerušíme stlačením kombinácie kláves Ctrl+c.
Nakoniec vytvoríme súborový systém na /dev/drbd0
a pripojíme ho:
sudo mkfs.ext3 /dev/drbd0
sudo mount /dev/drbd0 /srv
Ak chceme zistiť, či sa dáta synchronizujú medzi dvoma stanicami, na stanici drbd01 skopírujeme nejaké súbory do priečinka /srv
:
sudo cp -r /etc/default /srv
Potom odpojíme priečinok /srv
:
sudo umount /srv
Nastavíme primárny server do úlohy sekundárneho:
sudo drbdadm secondary r0
Teraz sekundárny server povýšime do úlohy primárneho:
sudo drbdadm primary r0
Nakoniec pripojíme diskový oddiel:
sudo mount /dev/drbd0 /srv
Po použití príkazu ls uvidíme súbor /srv/default
, ktorý sme nakopírovali na drbd01 (predtým bol primárny).
Viac informácií o DRBD sa nachádza na stránke DRBD web site.
Man stránka drbd.conf man page obsahuje detailný popis možností použitých v tejto príručke.
Oplatí sa pozrieť aj drbdadm man page.
Viac informácií sa dá nájsť aj na stránke DRBD Ubuntu Wiki.