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