Installation et configuration de DRBD

De Travail-Ivan 2

Installation et configuration de DRBD

Introduction

DRBD (Distributed Replicated Block Device) est une architecture de stockage distribuée pour GNU/Linux permettant la réplication de périphériques de bloc entre serveurs. Cette documentation explique en détail chaque commande nécessaire à sa mise en place.

Installation

Installation des paquets et du module

# Installation du paquet contenant les utilitaires DRBD
apt install drbd-utils

# Chargement du module kernel DRBD
modprobe drbd

Explication :

  • apt install drbd-utils : Installe tous les outils nécessaires pour gérer DRBD
  • modprobe drbd : Charge le module kernel DRBD dans le système, permettant son utilisation

Configuration

Préparation des fichiers de configuration

# Sauvegarde du fichier de configuration original
cp /etc/drbd.conf /etc/drbd.conf_origin

# Vidage du fichier de configuration pour partir d'une base propre
cat /dev/null > /etc/drbd.conf

Explication :

  • cp /etc/drbd.conf /etc/drbd.conf_origin : Crée une copie de sauvegarde de la configuration par défaut
  • cat /dev/null > /etc/drbd.conf : Vide le fichier de configuration pour partir d'une base propre

Configuration DRBD détaillée

# Configuration globale
global { usage-count no; }  # Désactive le comptage d'utilisation

# Paramètres communs
common { syncer { rate 100M; } }  # Limite la bande passante de synchronisation à 100 Mo/s

# Configuration de la ressource
resource r0 {
    protocol C;  # Utilise le protocole synchrone
    startup {
        wfc-timeout 15;        # Temps d'attente max pour la connexion (15 secondes)
        degr-wfc-timeout 60;   # Temps d'attente en mode dégradé (60 secondes)
    }
    net {
        cram-hmac-alg sha1;    # Algorithme d'authentification
        shared-secret "secret"; # Clé secrète partagée
    }
    # Configuration du premier nœud
    on web1 {
        device /dev/drbd0;     # Périphérique DRBD virtuel
        disk /dev/sdb;         # Disque physique utilisé
        address 192.168.33.1:7788;  # Adresse IP et port
        meta-disk internal;     # Métadonnées stockées sur le même disque
    }
    # Configuration du second nœud
    on web2 {
        device /dev/drbd0;
        disk /dev/sdb;
        address 192.168.33.2:7788;
        meta-disk internal;
    }
}

Activation et initialisation

Commandes d'activation

# Arrêt du service DRBD
systemctl stop drbd

# Création des métadonnées
drbdadm create-md r0

# Activation de la ressource
drbdadm up r0

# Définition du nœud primaire
drbdadm primary r0 --force

# Démarrage du service
systemctl start drbd

Explication des commandes :

  • systemctl stop drbd : Arrête le service DRBD pour effectuer la configuration initiale
  • drbdadm create-md r0 : Initialise les métadonnées pour la ressource 'r0'
  • drbdadm up r0 : Active la ressource DRBD 'r0'
  • drbdadm primary r0 --force : Force le nœud actuel comme primaire (--force est nécessaire pour la première initialisation)
  • systemctl start drbd : Démarre le service DRBD

Vérification du statut

cat /proc/drbd

Explication de la sortie :

version: 8.4.10 (api:1/proto:86-101)
srcversion: 15055BDD6F0D23278182874
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
  • cs:Connected : État de la connexion entre les nœuds
  • ro:Primary/Secondary : Rôles des nœuds
  • ds:UpToDate/UpToDate : État des données sur chaque nœud

Création et montage du système de fichiers

# Création du système de fichiers ext4
mkfs.ext4 /dev/drbd0

# Création du point de montage
mkdir /data

# Montage du périphérique DRBD
mount /dev/drbd0 /data

Explication :

  • mkfs.ext4 /dev/drbd0 : Crée un système de fichiers ext4 sur le périphérique DRBD
  • mkdir /data : Crée le répertoire qui servira de point de montage
  • mount /dev/drbd0 /data : Monte le périphérique DRBD sur le point de montage

Procédure de basculement (Failover)

Sur le nœud primaire actuel

# Démontage du système de fichiers
umount /data

# Passage en mode secondaire
drbdadm secondary r0

Explication :

  • umount /data : Démonte proprement le système de fichiers avant le basculement
  • drbdadm secondary r0 : Change le rôle du nœud en secondaire

Sur le nouveau nœud primaire

# Passage en mode primaire
drbdadm primary r0

# Montage du système de fichiers
mount /dev/drbd0 /data

Explication :

  • drbdadm primary r0 : Fait passer le nœud en mode primaire
  • mount /dev/drbd0 /data : Monte le système de fichiers pour le rendre accessible

Bonnes pratiques

  • Toujours vérifier l'état de synchronisation avant un basculement
  • Effectuer des tests réguliers de basculement
  • Surveiller les logs système pour détecter d'éventuelles anomalies
  • Maintenir une documentation à jour des procédures de basculement

Dépannage

Commandes utiles

  • drbdadm status : Affiche l'état détaillé de DRBD
  • drbdadm role r0 : Affiche le rôle du nœud pour la ressource r0
  • drbdadm dstate r0 : Affiche l'état des données

Voir aussi