1. Linux
          2. Utilitaires systèmes
              13. DRBD
 2. Principes et Configuration en ligne de commande

  Charger le module:

# modprobe drbd

vérifier le chargement:

# cat /proc/drbd
0: cs: Unconfigured
1: cs: Unconfigured

Le nombre de devices DRBD est configurable dans le fichier drbd.conf (2 par défaut).

  Activation rapide

Ecrire un fichier /etc/drbd.conf identique sur les 2 machines.

Sur chaque machine faire un:

# drbdadm up all

Puis sur le master faire:

# drbdadm primary all
ou: # drbdadm -- --do-what-I-say primary all

(l'option --do-what-I-say est abrégée en -d)

  Activer DRBD sur un filesystem existant

  Activation du slave

On associe un périphérique drbd à une partition réelle (qui ne doit pas être montée !). A partir de la version 0.7, la syntaxe a changé, il faut ajouter la localisation des méta données, d'où les arguments supplémentaires (/dev/sda6 et 0):

slave# drbdsetup /dev/drbd0 disk /dev/sda5 /dev/sda6 0

Le méta-device qui contient les index est /dev/sda6 et on utilise l'indice 0. Si la valeur est internal (au lieu de /dev/sda6), 128 Mo seront pris sur /dev/sda5 pour les index (donc prévoir 132 Mo au cas où...).

Configurer la connexion réseau:

slave# drbdsetup /dev/drbd0 net 192.168.1.101:7788 192.168.1.100 C
slave# drbdsetup /dev/drbd0 secondary

La syntaxe est de la forme:

drbdsetup périph net iplocale:port ipdistante:port protocole

Le périphérique est de la forme /dev/drbdx. Si le port n'est pas indiqué, c'est le 7788 par défaut. Il faut affecter un port par paire de réplicats fonctionnant sur un même host.

Le protocole peut être A, B ou C (pour des liaisons distantes importantes, le protocole A avec un buffer d'émission important est avantageux).

Les différents protocoles déterminent quand on considère qu'une opération d'écriture est terminée:

  Activation du master

master# drbdsetup /dev/drbd0 disk /dev/hda7 /dev/hda8 0
master# drbdsetup /dev/drbd0 net 192.168.1.100 192.168.1.101 C

On vérifie dans le log que la connexion est établie.

master# drbdsetup /dev/drbd0 primary

La synchronisation doit avoir lieu. Surveiller avec un "cat /proc/drbd".

master# mkfs -b 4096 /dev/drbd0
master# mount /dev/drbd0 /mnt/drbd

Note: si la commande "primary" sort une erreur, ajouter l'option --do-what-i-say

  Commandes annexes

# Déconnecter les périphériques
all# drbdsetup /dev/drbd0 disconnect

# Effacer la configuration
all# drbdsetup /dev/drbd0 down

Notes:

- faire des "petits" volumes: c'est plus rapide à resynchroniser en cas de pb (200 Mo plutôt que 2 Go)

- le débit réseau est limité par défaut à 250 Ko/s. C'est configurable (commande syncer)

  Simuler une panne du Primaire

pri# drbdsetup /dev/drbd0 disconnect

sec# drbdsetup /dev/drbd0 disconnect
sec# drbdsetup /dev/drbd0 primary
sec# mount /dev/drbd0 ...

sec# cp ....

pri# umount /dev/drbd0
pri# drbdsetup /dev/drbd0 secondary
pri# drbdadm connect ressource

sec# drbdadm connect ressource

  Notes

Penser à protéger le flux par un VPN

 


Table des matières Index