Introduction
DRBD est un système de réplication de disque au travers d’un réseau. Il permet de « recopier » le contenu d’un disque vers un serveur distant.
Ceci est particulièrement intéressant (et utilisé) dans les architectures hautement disponibles (Architectures « HA »).
Principe
DRBD est un module noyau qui se comporte comme un driver de système de fichier. Toutes modification est « interceptée » et envoyée au miroir via le réseau.
Par défaut, DRBD fonctionne en mode Primaire / Secondaire. Ceci signifie que l’un des disques supporte les lectures / écritures, mais que le second n’accepte que les opérations en lecture.
Dans les dernières version de DRBD, il est possible d’obtenir des disques répliqués en mode primary / primary. Cela signifie que les 2 disques supportent les écritures. Encore faut-il un système de fichier qui le supporte. Ce n’est pas le cas de systèmes de fichiers « classiques » tels que EXT2/3/4, ReiserFS, …
Néanmoins, ce système est intéressant dans le cas du fail-over IP: vous n’aurez pas besoin d’activer les écriture sur le disque de secours, c’est déjà fait ! Par exemple, DRBD en mode primary / primary est très intéressant pour la virtualisation avec, par exemple, Xen.
Configuration
Globalement, tout se passe dans le fichier /etc/drbd.conf
sous GNU/Debian Linux.
La configuration suivante suppose:
- 2 PC avec 1 interface réseau Giga dédiée. Le premier a l’IP 192.168.0.0/31, le second 192.168.0.1/31
- Un disque configuré en LVM avec un VG test_vg.
Ceci définit le comportement global de DRBD:
Pour chaque ressource DRBD:
Ici, nous définissons le comportement de DRBD pour une ressource. DRBD va créer un device /dev/drbd1 qui s’appuiera sur /dev/test_vg/lv_test
La réplication s’eefectuera entre le node1 (IP 192.168.0.1:7801) et le node2 (IP 192.168.0.0:7801)
Résumé des principales commandes
Une fois la ressource définie, voici les commandes à exécuter sur les nodes:
Une fois la synchro terminée, on peut activer le mode primary/primary sur le noeud secondaire.
À chaque étape, à partir du moment où DRBD est actif, vous pouvez contrôler l’état de DRBD.
Voilà, notre « disque » répliqué est prêt. À partir d’ici, il n’y a plus de primaire ou de secondaire. Il y a 2 noeud DRBD primaires ! Le premier qui écrit gagne 😉