DRBD kasutamine Debianiga

Allikas: Kuutõrvaja
Redaktsioon seisuga 22. juuni 2009, kell 20:44 kasutajalt Imre (arutelu | kaastöö) (Tarkvara paigaldamine)

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;
   }
 }

Kasulikud lisamaterjalid