DRDB (Distributed Replicated Block Device) replica i device a blocchi tra diversi host. La replica è trasparente alle applicazioni sul sistema host e qualsiasi device a blocchi (disco fisso, partizione, RAID, volume logico) può essere replicato.
Per utilizzare drbd, per prima cosa è necessario installare i pacchetti necessari. In un terminale digitare:
sudo apt-get install drbd8-utils
![]() |
|
Se si sta usando il kernel virtuale come parte di una macchina virtuale, è necessario compilare il modulo drbd. Potrebbe anche essere più semplice installare il pacchetto linux-server nella macchina virtuale. |
In questa sezione viene indicato come configurare drbd per replicare tra due host una partizione /srv
separata con file system ext3. La dimensione della partizione non è rilevante, ma entrambe le partizioni devono avere la stessa dimensione.
I due host in questo esempio sono chiamati drbd01 e drbd02 ed è necessario configurarne la risoluzione del nome attraverso DNS o con il file /etc/hosts
. Per maggiori informazioni, consultare Capitolo 7, DNS (Domain Name Service).
Per configurare drbd, sul primo host modificare il file /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; } }
![]() |
|
All'interno del file |
Copiare il file /etc/drbd.conf
sul secondo host:
scp /etc/drbd.conf drbd02:~
Sull'host drbd02, spostare il file in /etc
:
sudo mv drbd.conf /etc/
Utilizzando l'utilità drbdadm, inizializzare l'archivio dei meta-dati. Su ogni singolo server eseguire il seguente comando:
sudo drbdadm create-md r0
Su entrambi gli host, avviare il demone drbd:
sudo /etc/init.d/drbd start
Sull'host drbd01, o su qualsiasi host primario configurato, digitare:
sudo drbdadm -- --overwrite-data-of-peer primary all
Una volta eseguito il comando precedente, inizierà la sincronizzazione dei dati con l'host secondario. Per visualizzare l'avanzamento, su drbd02, digitare il seguente comando:
watch -n1 cat /proc/drbd
Per fermare l'operazione di controllo, premere Ctrl+c.
Infine, aggiungere un file system a /dev/drbd0
e montarlo:
sudo mkfs.ext3 /dev/drbd0 sudo mount /dev/drbd0 /srv
Per verificare che i dati siano effettivamente sincronizzati tra gli host, copiare alcuni file sull'host primario, drbd01, nella directory /srv
:
sudo cp -r /etc/default /srv
Smontare /srv
:
sudo umount /srv
Retrocedere il server primario a ruolo di secondario:
sudo drbdadm secondary r0
Ora, promuovere il server secondario a primario:
sudo drbdadm primary r0
Per completare, montare la partizione:
sudo mount /dev/drbd0 /srv
Usando ls dovrebbe essere possibile vedere il file /srv/default
copiato dal precedente host primario drbd01.
Per maggiori informazioni riguardo DRBD, consultare il sito web di DRBD.
La pagina di manuale di drbd.conf contiene ulteriori informazioni riguardo le opzioni disponibili.
Consultare anche la pagina di manuale di drbdadm.
Ulteriori informazioni sono disponibili nella documentazione online.