principe_gnbd.jpgPourquoi GNBD ?

Il existe plusieurs moyens de partager un disque via un réseau, les plus connus sont NFS ou Samba. iSCSI a également le vent en poupe, toutefois GNBD possède l'avantage d'être plus performant que iSCSI et de pouvoir utiliser le système de fichier GFS. Sa configuration est de plus très simple.

Le principe est de mettre à disposition des périphériques de stockage, dans notre exemple un file-system, via le réseau et de pouvoir l'utiliser sur des machines distantes, comme s'il s'agissait d'une partition locale. Bien entendu une fois la partition présente en local, on peut la formater.

GNBD ne se limite pas à l'export de partitions, il est possible d'exporter un device complet et ainsi de le partitionner, voir d'implanter LVM.

GNBD utilise un serveur qui exporte les données à partager, puis un client dont le rôle est d'importer le périphérique exporté précédemment.

Très important, ce billet est testé sur Debian Lenny

Configuration du serveur GNBD

Pour l'exemple le serveur debian01 va exporter un de ses file-systems utilisant la partition /dev/sda10. Installer le package de gestion

aptitude install gnbd-server

Puis configurer le fichier /etc/cluster/gnbdexports.conf et y ajouter la configuration pour exporter la partition /dev/sda10

# <device>    <exportname>   <options>
/dev/sda10    gamma          -c

Le label “gamma” servira au client pour importer la ressource partagée. Puis editer /etc/default/gnbd-server

GNBD_OPTIONS="-n"

L'option -n pour indiquer qu'il ne faut pas rechercher un cluster. Et enfin demarrer le serveur GNBD

/etc/init.d/gnbd-server start

Configuration du client

Le serveur debian02 sera le client du serveur GNBD debian01. Installer les package suivants :

aptitude install gnbd-client redhat-cluster-modules-2.6.26-2-686

Charger le module gnbd

modprobe gnbd

Puis importer depuis debian01

gnbd_import -i debian01 -n

Cette commande a créé un device type /dev/gnbd/gamma que l'on utilise pour monter le file-system en local.

mkdir /u10
mount /dev/gnbd/gamma /u10

Il est maintenant possible d'accéder au disque partagé comme sur un disque local.