3.7 KiB
3.7 KiB
DRBD
Introduction
DRBD :
- Distributed Replicated Block Device en anglais, périphérique en mode bloc répliqué et distribué en français,
- Architecture de stockage distribuée pour GNU/Linux,
- Permet la réplication de périphériques de bloc (disques, partitions, volumes logiques etc.) entre des serveurs,
- Open source et support commercial,
- Est composé d'un module noyau et d'outils d'administration en user space,
- peut être utilisé aussi bien en dessous qu'au-dessus de la pile de Linux LVM,
- Support de la répartition de charge depuis la version 8,
- Réplication entre 2 serveurs, plus à partir de la version 9.
- Peut être intégré à un cluster (Pacemaker par exemple),
- Est intégré au projet Linux HA.
Réplication de données
La réplication des données est réalisée :
- En temps réel et en permanence : pendant que les applications modifient les données présentes sur le block device,
- De façon transparente (réplication au niveau block device) : les applications n'ont pas conscience que ces données sont stockées et répliquées,
-
De façon synchrone ou asynchrone :
- Synchrone : l'écriture sur le block device entraine la mise à jour sur l'ensemble des serveurs avant la notification de fin d'écriture,
- Asynchrone : la notification de fin d'écriture est réalisée avant la réplication de la données sur les autres serveurs.
Principes de fonctionnement
- DRBD ajoute une couche logique de block device (conventionnellement nommée /dev/drbdX, ou X est le numéro de périph. mineur),
- Les écritures sur le noeud primaire sont transférées sur le block device et propagées au noeud secondaire pour que celui-ci transfère les données à son block device,
- Les lectures sont effectées localement.
-
En cas de défaillance du nœud primaire :
- Un orchestrateur promeut le nœud slave dans un état master,
- Quand l'ancien nœud master, précédemment défaillant, revient, le système peut ou non l'élever au rôle de master, après une synchronisation des données du périphérique.
- L'algorithme de synchronisation de DRBD est efficace : seuls les blocs qui ont changé durant la panne doivent être resynchronisés, plutôt que le périphérique dans son entièreté.
Les outils
drbdadm
Outil d'administration de haut niveau de DRBD. Il utilise le fichier de config /etc/drbd.conf
et sert d'interface avec
les outils suivants.
Création d'une ressource (à faire sur chacun des serveurs)
drbdadm create-md <resource>
modprobe drbd
drbdadm up <resource>
Pour forcer un serveur à passer master (suite à un split-brain par exemple)
L'autre server devenant alors slave et devant synchroniser ses données avec celles du nouveau maitre :
drbdadm -- --overwrite-data-of-peer primary <resource>
drbdsetup
Outil du configuration du module DRBD après son chargement.
drbdmeta
Outil permettant la manipulation des métadonnées des structures de DRBD.