DRBD (Distributed Replicated Block Device) permet de créer un périphérique synchronisé entre deux serveurs.
Testé avec Debian Wheezy.
Nous allons voir comment installer et configurer une ressource DRBD.
A faire sur les deux hôtes :
# apt-get install -y drbd8-utils
# cp /etc/drbd.d/global_common.conf{,.origin}
On modifie le fichier /etc/drbd.d/global_common.conf pour ajouter ces options :
global {
usage-count yes;
}
common {
protocol C;
net {
sndbuf-size 512k;
}
syncer {
rate 30M;
}
}
On créé le fichier /etc/drbd.d/r0.res :
resource r0 {
device /dev/drbd1;
disk /dev/vdb;
meta-disk internal;
on nasha1 {
address 10.42.2.28:7789;
}
on nasha2 {
address 10.42.2.30:7789;
}
}
Cette commande créera la ressource :
# drbdadm create-md r0
Nous allons maintenant effectuer une première synchronisation des ressources sur chacun des serveurs.
Il faut faire attention au serveur sur lequel on exécute les commandes.
On dit au serveur esclave que la ressource r0 est invalide :
root@nasha2# drbdadm up r0
root@nasha2# drbdadm invalidate r0
Cela permet de resynchroniser la ressource à partir du maître. On peut maintenant activer la ressource r0 sur l’autre serveur :
root@nasha1# drbdadm up r0
La ressource devrait être en train de se synchroniser entre les deux serveurs :
# cat /proc/drbd
version: 8.3.11 (api:88/proto:86-96)
srcversion: F937DCB2E5D83C6CCE4A6C9
1: cs:SyncSource ro:Secondary/Secondary ds:UpToDate/Inconsistent C r-----
ns:1577080 nr:0 dw:0 dr:1577080 al:0 bm:96 lo:0 pe:182 ua:0 ap:0 ep:1 wo:f o
os:50850812
[>....................] sync'ed: 3.1% (49656/51196)Mfinish: 1:54:05 spe
ed: 7,416 (6,704) K/sec
Une fois synchronisé, on peut marquer notre serveur comme primaire :
root@nasha1# drbdadm primary r0
Il faut ajouter cette commande dans le fichier de configuration global :
net {
allow-two-primaries;
}
Note : il faut installer un système de fichier supportant le clustering comme GFS2 ou OCFS2 sous peine d’avoir des corruptions et des plantages.
Supprimer une ressource :
# drbdadm down r0
# drbdadm disconnect r0