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).