Pourquoi 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.