Dans cet article nous allons voir la mise en place d'une partition LVM répliquée sur deux noeuds utilisant DRBD (Distributed Replicated Block Device).
Architecture cible
Noeud 1 Nom NCL1 : 192.168.10.92/24 10.10.10.1/24
Noeud 2 Nom NCL2 : 192.168.10.93/24 10.10.10.2/24
Le réseau 10.10.10.0/24 est uniquement utilisé pour la réplication DRBD
Prérequis
Disposer d'un serveur Linux Debian
Deux cartes réseaux. Une pour l'accès iSCSI et une pour la synchronisation DRBD
Procédure
DRBD version 8.3
A faire sur les deux serveurs DRBD
Modification des fichiers hosts
# nano /etc/hosts
A adapter suivant vos besoins
127.0.0.1 localhost
192.168.10.92 ncl1.labo.lan
10.10.10.1 ncl1
10.10.10.2 ncl2
Installation des paquets nécessaires
A faire sur les deux serveurs DRBD
# apt-get install drbd8-utils lvm2
Création du groupe de volume
A faire sur les deux serveurs DRBD
Création d'un groupe GR-LUN sur le disque /dev/sdb
# vgcreate GR-LUN /dev/sdb
Création du volume logique
A faire sur les deux serveurs DRBD
Création d'un volume logique LUN759 de 698Go dans le groupe GR-LUN
# lvcreate -L 698G -n LUN750 GR-LUN
Création du fichier de configuration DRBD
A faire sur les deux serveurs DRBD
# nano /etc/drbd.d/rLUN.res
resource rLUN { protocol C; startup { become-primary-on both; } disk { on-io-error detach; } net { allow-two-primaries; after-sb-0pri discard-least-changes; after-sb-1pri violently-as0p; after-sb-2pri violently-as0p; rr-conflict violently; } syncer { rate 1000M; } on ncl1 { # nom du serveur 1 address 10.10.10.1:7788; # adresse ip et port d'écoute device /dev/drbd0; disk /dev/GR-LUN/LUN750; # partition a prendre en compte meta-disk internal; } on ncl2 { # nom du serveur 2 address 10.10.10.2:7788; # adresse ip et port d'écoute device /dev/drbd0; disk /dev/GR-LUN/LUN750; # partition a prendre en compte meta-disk internal; } }
Création du volume DRBD
A faire sur les deux serveurs DRBD
# drbdadm create-md rLUN # drbdadm connect rLUN # drbdadm attach rLUN
Synchroniser les volumes DRBD depuis un des noeuds
A exécuter sur un seul des serveurs DRBD
# drbdadm -- --overwrite-data-of-peer primary rLUN
Suivi de la synchronisation
# cat /proc/drbd
Installation des paquets pour la cible iSCSI
A faire sur les deux serveurs DRBD
# apt-get install iscsitarget
Configuration de la cible iSCSI
A faire sur les deux serveurs DRBD
# nano /etc/iet/ietd.conf
Copier / Coller la configuration suivante (à adapter suivant vos besoins)
Target iqn.2015-05.ncl:rLUN.rLUN Lun 0 Path=/dev/drbd0,Type=blockio Alias rLUN
Redémarrer le service iscsitarget
# service iscsitarget restart
ou
# /etc/init.d/iscsitarget restart
Vérification volume / cible iSCSI
# cat /proc/net/iet/volume
Votre volume est maintenant répliqué su vos deux serveurs et disponible en iSCSI depuis plusieurs cible