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
/etc/drbd.conf
sono disponibili molte opzioni, ma per questo esempio i valori predefinito sono sufficienti. -
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/
-
Su entrambi gli host, avviare il demone drbd:
sudo /etc/init.d/drbd start
-
Utilizzando l'utilità drbdadm, inizializzare l'archivio dei meta-dati. Su ogni singolo server eseguire il seguente comando:
sudo drbdadm create-md r0
-
Sull'host drbd01, o su qualsiasi host primario configurato, digitare:
sudo drbdadm -- --overwrite-data-of-peer primary all
-
Una volta eseguito il comando precedente, i dati vengono sincronizzati con l'host secondario. Per visualizzare l'avanzamento, sull'host drbd02 digitare:
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 man di drbd.conf contiene molte informazioni riguardo le opzioni non descritte in questa guida.
-
Inoltre, consultare anche la pagina man di drbdadm.