Configuration DRBD · 5 min read · Jan 28, 2026
Configuration d'exemple de DRBD sur CentOS 4.5
Configuration d’exemple de DRBD sur CentOS 4.5
Qu’est-ce que DRBD ?
DRBD est l’abréviation de Distributed Replicated Block Device. DRBD est un dispositif de bloc conçu pour construire des clusters à haute disponibilité. Cela se fait en miroir d’un dispositif de bloc entier via (un réseau dédié). Vous pouvez le voir comme un RAID1 réseau.
Exigences préalables à la configuration :
J’ai utilisé deux nœuds avec les paramètres système suivants :
- cnode1.rnd (nom d’hôte) avec l’adresse IP 172.16.4.80. Système d’exploitation CentOS 4.5, deux disques durs SCSI de 18 Go. En ce qui concerne la partition, j’ai utilisé le schéma suivant sur cnode1.rnd : /dev/sda1 / 13257MB ext3 primaire /dev/sda2 4095MB swap primaire /dev/sdb1 non monté 128MB ext3 primaire (pour les métadonnées de DRBD) /dev/sdb2 non monté 4306MB ext3 primaire (utilisé comme disque de DRBD)
- cnode2.rnd (nom d’hôte) avec l’adresse IP 172.16.4.81. Système d’exploitation CentOS 4.5 un disque IDE de 10 Go. Le schéma de partition suivant a été utilisé sur cnode2.rnd : /dev/hda1 / 4503MB ext3 primaire /dev/hda2 769MB swap primaire /dev/hda3 non monté 128MB ext3 primaire (pour les métadonnées de DRBD) /dev/hda4 non monté 4306MB ext3 ; primaire (utilisé comme disque de DRBD)
Les tailles et les noms des partitions peuvent varier en fonction de la capacité du disque et des disques durs utilisés. Vous pouvez définir un schéma de partition selon vos besoins.
Mon fichier /etc/hosts sur les deux nœuds (cnode1.rnd & cnode2.rnd) ressemble à ceci :
127.0.0.1 localhost.localdomain localhost
172.16.4.80 cnode1.rnd cnode2
172.16.4.81 cnode2.rnd cnode3
Installation de DRBD :
Installez le logiciel DRBD et le module du noyau de DRBD sur cnode1.rnd et cnode2.rnd :
yum install -y kmod-drbd drbd Chargez le module du noyau de DRBD avec insmod :
insmod /lib/modules/2.6.9-55.0.9.EL/extra/drbd.ko Vérifiez avec lsmod que le module est chargé. Si vous voyez DRBD, passez à la section de configuration d’exemple.
Configuration de DRBD :
Le fichier de configuration de DRBD est /etc/drbd.conf. Nous allons donc éditer ce fichier et y apporter les modifications suivantes et le copier sur l’autre nœud ( /etc/drbd.conf sera le même sur les deux nœuds).
Sur cnode1.rnd, éditez ce fichier avec n’importe quel éditeur. J’utilise vi :
vi /etc/drbd.conf resource r0 {
protocol C;
incon-degr-cmd "halt -f";
startup {
degr-wfc-timeout 120; # 2 minutes.
}
disk {
on-io-error detach;
}
net {
}
syncer {
rate 3M;
group 1;
al-extents 257;
}
on cnode1.rnd {
device /dev/drbd0;
disk /dev/sdb2;
address 172.16.4.80:7789;
meta-disk /dev/sdb1[0];
}
on cnode2.rnd {
device /dev/drbd0;
disk /dev/hda4;
address 172.16.4.81:7789;
meta-disk /dev/hda3[0];
}
}
Enregistrez vos modifications et copiez-le sur l’autre nœud (cnode2.rnd) :
scp /etc/drbd.conf [email protected]:/etc/ Maintenant, démarrons le démon DRBD sur les deux nœuds, mais avant cela, nous voulons démarrer le démon DRBD au prochain redémarrage. Pour cela, nous utiliserons la commande chkconfig sur les deux nœuds.
chkconfig --level 235 drbd on /etc/init.d/drbd start Vous découvrirez que DRBD a démarré le processus de synchronisation. Vous pouvez le voir en cours d’exécution :
/etc/init.d/drbd status ou
cat /proc/drbd Détails techniques de la configuration drbd.conf :
Protocoles :
- Une opération d’écriture est complète dès que les données sont écrites sur le disque et envoyées au réseau.
- Une opération d’écriture est complète dès qu’un accusé de réception arrive.
- Une opération d’écriture est complète dès qu’un accusé de réception d’écriture arrive.
Nom d’hôte :
Doit correspondre exactement à la sortie de
uname -n Dispositif :
Le nœud de dispositif à utiliser : /dev/drbd0 - dispositif de bloc DRBD.
Adresse, Port :
L’adresse inet et le port à lier localement, ou à se connecter au nœud partenaire.
Meta-disk :
Les disques pour stocker les métadonnées. DRBD vous permet soit de placer ses métadonnées sur le même dispositif de support où il met les données de production utilisables réelles (métadonnées internes), soit sur un dispositif de bloc séparé (métadonnées externes). J’ai alloué 128 Mo pour les métadonnées sur un dispositif de bloc de métadonnées externe. Cependant, vous pouvez consulter le tableau ci-dessous pour estimer les tailles des métadonnées
| Taille du dispositif de bloc | Métadonnées DRBD |
| 1 Go | 2 Mo |
| 100 Go | 5 Mo |
| 1 To | 33 Mo |
| 4 To | 128 Mo |
Incon-degr-cmd :
Que doit-on faire si le cluster démarre en mode dégradé, mais sait qu’il a des données incohérentes (le dispositif de niveau inférieur signale une erreur d’E/S).
on-io-error detach :
Si le dispositif de niveau inférieur signale une erreur d’E/S, le nœud abandonne son dispositif de stockage de support et continue en mode sans disque.
degr-wfc-timeout :
Attendre le délai d’attente de connexion, si ce nœud était un cluster dégradé. Cela est utilisé à la place de wfc-timeout (attendre le délai d’attente du cluster).
Syncer :
Limiter la bande passante utilisée par le processus de resynchronisation.
groupe :
Tous les dispositifs d’un même groupe sont resynchronisés en parallèle. La resynchronisation des groupes est sérialisée dans l’ordre croissant.
Al-extents :
Effectue automatiquement la détection de zone chaude. Avec ce paramètre, vous contrôlez la taille maximale de la zone chaude. Chaque étendue marque 4 Mo du stockage de support (= dispositif de niveau inférieur). Dans le cas où un nœud primaire quitte le cluster de manière inattendue, les zones couvertes par l’ensemble actif doivent être resynchronisées lors de la réintégration du nœud défaillant. La structure de données est stockée dans la zone de métadonnées, donc chaque changement de l’ensemble actif est une opération d’écriture sur le dispositif de métadonnées. Un nombre plus élevé d’étendues donne des temps de resynchronisation plus longs mais moins de mises à jour des métadonnées.
Ce qu’il faut faire et ne pas faire :
N’essayez pas de monter un DRBD en état secondaire. Une fois que vous avez configuré DRBD, ne le contournez jamais ou n’accédez pas directement au dispositif sous-jacent !
Tester DRBD :
Faites de cnode1.rnd le nœud primaire et montez le dispositif de bloc du nœud primaire (cnode1.rnd) sur /mnt/disk :
drbdsetup /dev/drbd0 primary --do-what-I-say mount /dev/drbd0 /mnt/disk Copiez quelques fichiers et dossiers dessus :
cp -r /root/documents /mnt/disk Maintenant, démontez le dispositif de bloc de DRBD et faites du nœud primaire “secondaire” :
umount /mnt/disk/ drbdadm secondary all Faites de cnode2.rnd le nœud primaire et montez le dispositif de bloc sur /mnt/disk :
drbdsetup /dev/drbd0 primary --do-what-I-say mount /dev/drbd0 /mnt/diskVous constaterez que les documents existent sur cnode2.rnd.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.