DRBD Configuration · 6 min read · Jan 30, 2026

Réplique du troisième nœud DRBD 8.3 avec Debian Etch

Réplique du troisième nœud DRBD 8.3 avec Debian Etch

Guide d’installation et de configuration pour DRBD 8.3 + Debian Etch

Configuration du troisième nœud

par Brian Hellman

La récente version de DRBD 8.3 inclut maintenant la fonctionnalité Le troisième nœud comme un composant disponible gratuitement. Ce document couvrira les bases de la configuration d’un troisième nœud sur une installation standard de Debian Etch. À la fin de ce tutoriel, vous disposerez d’un appareil DRBD qui peut être utilisé comme un SAN, une cible iSCSI, un serveur de fichiers ou un serveur de base de données.

Remarque : Les clients de support LINBIT peuvent sauter la section 1 et utiliser les dépôts de paquets.

LINBIT a des solutions de troisième nœud hébergées disponibles, veuillez les contacter à [email protected] pour plus d’informations.

Préface :

La configuration est la suivante :

  • Trois serveurs : alpha, bravo, foxtrot
  • alpha et bravo sont les nœuds locaux primaire et secondaire
  • foxtrot est le troisième nœud qui se trouve sur un réseau distant
  • Les deux alpha et bravo ont des interfaces sur le réseau 192.168.1.x (eth0) pour la connectivité externe.
  • Un lien croisé existe sur alpha et bravo (eth1) pour la réplication utilisant 172.16.6.10 et .20
  • Heartbeat fournit une IP virtuelle de 192.168.5.2 pour communiquer avec le nœud de récupération après sinistre situé dans un emplacement géographiquement diversifié

Section 1 : Installation de la source

Ces étapes doivent être effectuées sur chacun des 3 nœuds.

Prérequis :

  • make
  • gcc
  • bibliothèques de développement glibc
  • générateur de scanner flex
  • en-têtes pour le noyau actuel

Entrez ce qui suit à la ligne de commande en tant qu’utilisateur privilégié pour satisfaire ces dépendances :

apt-get install make gcc libc6 flex linux-headers-uname -r libc6-dev linux-kernel-headers

Une fois les dépendances installées, téléchargez DRBD. La dernière version peut toujours être obtenue à http://oss.linbit.com/drbd/. Actuellement, c’est 8.3.

cd /usr/src/
wget http://oss.linbit.com/drbd/8.3/drbd-8.3.0.tar.gz

Après le téléchargement, complétez les étapes suivantes :

  • Décompressez DRBD
  • Entrez le répertoire source
  • Compilez la source
  • Installez DRBD

tar -xzvf drbd-8.3.0.tar.gz
cd /usr/src/drbd-8.3.0/
make clean all
make install

Maintenant, chargez et vérifiez le module :

modprobe drbd
cat /proc/drbd

version : 8.3.0 (api:88/proto:86-89)
GIT-hash : 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 construit par root@alpha, 2009-02-05 10:36:11

Une fois cela complété sur chacun des trois nœuds, continuez à la section suivante.

Section 2 : Configuration de Heartbeat

Configurer un troisième nœud implique de superposer DRBD sur DRBD. Une IP virtuelle est nécessaire pour que le troisième nœud se connecte, pour cela nous allons configurer une simple configuration Heartbeat v1. Cette section ne sera effectuée que sur alpha et bravo.

Installez Heartbeat :

apt-get install heartbeat

Éditez le fichier authkeys :

vi /etc/ha.d/authkeys

auth 1
1 sha1 votremotdepasseultrasupersecretici

Une fois le fichier créé, changez les permissions sur le fichier. Heartbeat ne démarrera pas si cette étape n’est pas suivie.

chmod 600 /etc/ha.d/authkeys

Copiez le fichier authkeys vers bravo :

scp /etc/ha.d/authkeys bravo:/etc/ha.d/

Éditez le fichier ha.cf :

vi /etc/ha.d/ha.cf
debugfile /var/log/ha-debug
    logfile /var/log/ha-log
    logfacility     local0
    keepalive 1
    deadtime 10
    warntime 5
    initdead 60
    udpport 694
    ucast eth0 192.168.1.10
    ucast eth0 192.168.1.20
    auto_failback off
    node alpha
    node bravo

Copiez le fichier ha.cf vers bravo :

scp /etc/ha.d/ha.cf bravo:/etc/ha.d/

Éditez le fichier haresources, l’IP créée ici sera l’IP à laquelle notre troisième nœud se réfère.

vi /etc/ha.d/haresources
alpha IPaddr::192.168.5.2/24/eth0

Copiez le fichier haresources vers bravo :

scp /etc/ha.d/haresources bravo:/etc/ha.d/

Démarrez le service heartbeat sur les deux serveurs pour activer l’IP virtuelle :

alpha:/# /etc/init.d/heartbeat start
bravo:/# /etc/init.d/heartbeat start

Heartbeat activera la nouvelle interface (eth0:0).

Remarque : Il peut falloir jusqu’à une minute à heartbeat pour activer l’interface.

alpha:/# ifconfig eth0:0

eth0:0 Link encap:Ethernet HWaddr 00:08:C7:DB:01:CC
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Section 3 : Configuration de DRBD

La configuration de DRBD se fait via le fichier drbd.conf. Cela doit être le même sur tous les nœuds (alpha, bravo, foxtrot). Veuillez noter que le compteur d’utilisation est réglé sur oui, ce qui signifie qu’il notifiera Linbit que vous avez installé DRBD. Aucune information personnelle n’est collectée. Veuillez consulter cette page pour plus d’informations :

global { usage-count yes; }

resource data-lower {
  protocol C;
  net {
    shared-secret "LINBIT";
  }
syncer {
    rate 12M;
}

  on alpha {
    device     /dev/drbd1;
    disk       /dev/hdb1;
    address    172.16.6.10:7788;
    meta-disk  internal;
  }

  on bravo {
    device    /dev/drbd1;
    disk      /dev/hdd1;
    address   172.16.6.20:7788;
    meta-disk internal;
  }
}

  resource data-upper {
  protocol A;
  syncer {
    after data-lower;
    rate 12M;
    al-extents 513;
  }
  net {
        shared-secret "LINBIT";
  }
  stacked-on-top-of data-lower {
        device /dev/drbd3;
        address 192.168.5.2:7788; # IP fournie par Heartbeat
        }

  on foxtrot {
    device     /dev/drbd3;
    disk       /dev/sdb1;
    address    192.168.5.3:7788; # IP publique du nœud de sauvegarde
    meta-disk  internal;
  }
}

Section 4 : Préparation des appareils DRBD

Maintenant que la configuration est en place, créez les métadonnées sur alpha et bravo.

alpha:/usr/src/drbd-8.3.0# drbdadm create-md data-lower

Écriture des métadonnées…
initialisation du journal d’activité
BITMAP non initialisé
Nouveau bloc de métadonnées drbd créé avec succès.

bravo:/usr/src/drbd-8.3.0# drbdadm create-md data-lower

Écriture des métadonnées…
initialisation du journal d’activité
BITMAP non initialisé
Nouveau bloc de métadonnées drbd créé avec succès.

Maintenant, démarrez DRBD sur alpha et bravo :

alpha:/usr/src/drbd-8.3.0# /etc/init.d/drbd start
bravo:/usr/src/drbd-8.3.0# /etc/init.d/drbd start

Vérifiez que les appareils DRBD de niveau inférieur sont connectés :

cat /proc/drbd

version : 8.3.0 (api:88/proto:86-89)
GIT-hash : 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 construit par root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r—
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:19530844

Dites à alpha de devenir le nœud primaire :

REMARQUE : Comme l’indique la commande, cela va écraser toutes les données sur bravo : C’est le bon moment pour aller chercher votre boisson préférée.

alpha:/# drbdadm – –overwrite-data-of-peer primary data-lower
alpha:/# cat /proc/drbd

version : 8.3.0 (api:88/proto:86-89)
GIT-hash : 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 construit par root@alpha, 2009-02-05 10:36:11
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r—
ns:3088464 nr:0 dw:0 dr:3089408 al:0 bm:188 lo:23 pe:6 ua:53 ap:0 ep:1 wo:b oos:16442556
[==>……………..] synchronisé : 15.9% (16057/19073)M
fin : 0:16:30 vitesse : 16,512 (8,276) K/sec

Après la synchronisation des données, créez les métadonnées sur data-upper sur alpha, suivies de foxtrot.

Notez que la ressource est data-upper et que l’option –stacked est uniquement sur alpha.

alpha:~# drbdadm –stacked create-md data-upper

Écriture des métadonnées…
initialisation du journal d’activité
BITMAP non initialisé
Nouveau bloc de métadonnées drbd créé avec succès.
succès

foxtrot:/usr/src/drbd-8.3.0# drbdadm create-md data-upper

Écriture des métadonnées…
initialisation du journal d’activité
BITMAP non initialisé
Nouveau bloc de métadonnées drbd créé avec succès.

Activez la ressource empilée, puis faites d’alpha le primaire de data-upper :

alpha:/# drbdadm --stacked adjust data-upper

foxtrot:~# drbdadm adjust data-upper
foxtrot:~# cat /proc/drbd

version : 8.3.0 (api:88/proto:86-89)
GIT-hash : 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 construit par root@foxtrot, 2009-02-02 10:28:37
1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent A r—
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:19530208

alpha:~# drbdadm –stacked – –overwrite-data-of-peer primary data-upper
alpha:~# cat /proc/drbd

version : 8.3.0 (api:88/proto:86-89)
GIT-hash : 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 construit par root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—
ns:19532532 nr:0 dw:1688 dr:34046020 al:1 bm:1196 lo:156 pe:0 ua:0 ap:156 ep:1 wo:b oos:0
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent A r—
ns:14512132 nr:0 dw:0 dr:14512676 al:0 bm:885 lo:156 pe:32 ua:292 ap:0 ep:1 wo:b oos:5018200
[=============>……] synchronisé : 74.4% (4900/19072)M
fin : 0:07:06 vitesse : 11,776 (10,992) K/sec

Encore un moment pour boire !

Après la synchronisation, accédez à votre appareil de bloc DRBD via /dev/drbd3. Cela écrira à la fois sur les nœuds locaux et sur le troisième nœud distant. Dans votre configuration Heartbeat, vous utiliserez le script “drbdupper” pour activer votre appareil /dev/drbd3. Amusez-vous bien !

DRBD® et LINBIT® sont des marques déposées de LINBIT, Autriche.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.