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.
Pour plus d'informations, voir: le guide utilisateur DRBD
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. Plus d'information sur LVM
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 ;-)
