DRBD kasutamine Debianiga
Allikas: Kuutõrvaja
Sisukord
Sissejuhatus
DRDB (Distributed Replicated Block Device) http://www.drbd.org/ tarkvara võimaldab seadistada kahe arvuti lokaalsed plokkseadmed tööle nii, et taustal sünkroniseeritakse ühe arvuti (primaarne) plokkseadmele tehtud muudatusi teise arvuti (sekundaarne) plokkseadmele. Vahel öeldakse DRBD kohta network RAID1. DRBD sobib nn cold-standby lahenduse seadistamiseks, kus üks süsteem ei teeninda seni kuni teine pakub teenust.
DRBD kasutamise näite skeem
Olgu kasutada kaks arvutit
teenuse kliendid | | primaarne | sekundaarne --|------------|-------------|-- | | _|_ www _|_ www | | | | |___| |___| | /srv/www | /srv/www | -> /dev/drbd0 | -> /dev/drbd0 | -> /dev/sdb | -> /dev/sdb | | --|--------------------------|------------------- DRBD andmevahetuse subnet
- /dev/sdb - kummaski arvuti olev lokaalne plokkseade, mis on seadistatud käima DRBD nö backendina
- /dev/drbd0 - loogiline seade, millele on moodustatud failisüsteem
- /srv/www - failisüsteemi ühenduspunkt
Tarkvara paigaldamine
DRBD skeemis osalevatele arvutitele tuleb paigaldada DRBD tarkvara, mis esineb kahes paketis
# apt-get install drbd8-modules-2.6-xen-amd64 drbd8-utils
DRDB osaliste seadistamine
DRBD tööd juhib juhib seadistusfail /etc/drbd.conf, mis peab olema kõigis osalistes samasugune. DRBD töötamisel ei tööta deemonprotsess, vaid nn tuuma lõimed.
Nt võiks kasutada sellist seadistusfaili
# egrep -v "^$|^ +#|^#" drbd.conf global { usage-count yes; } common { syncer { rate 10M; } } resource r0 { 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"; } startup { degr-wfc-timeout 120; # 2 minutes. } disk { on-io-error detach; } net { after-sb-0pri disconnect; after-sb-1pri disconnect; after-sb-2pri disconnect; rr-conflict disconnect; } syncer { rate 10M; al-extents 257; } on arendus64 { device /dev/drbd0; disk /dev/sdb; address 192.168.10.51:7788; meta-disk internal; } on arendus64-2 { device /dev/drbd0; disk /dev/sdb; address 192.168.10.52:7788; meta-disk internal; } }