Installation de GlusterFS sur InfiniBand

Les notes disponibles ci-dessous sont issues des rushs de documentation d'installation sur le cluster du CBP : 48 noeuds Sun v22z.

L'objectif est d'installer GlusterFS sur les noeuds v22z de 33 à 48 avec la machine x2100 comme maître.

Prérequis

  • le système installé est une Debian stable Squeeze 6, sur le maître comme sur les noeuds
  • le paquet clustershell est installé sur le maître
  • le maître peut se connecter sur les noeuds sans login/mot de passe
  • le paquet glusterfs courant est disponible sur le maître

Installation

Préparation sur le maître

Les commandes suivantes sont à taper comme root :

# Installation des paquets necessaires à GlusterFS
apt-get install fuse-utils
# Telechargement de la version de GlusterFS pour Debian
cd /root
wget http://download.gluster.com/pub/gluster/glusterfs/LATEST/Ubuntu/11.10/glusterfs_3.2.5-1_with_rdma_amd64.deb
# Installation de GlusterFS
dpkg -i /root/glusterfs_3.2.5-1_with_rdma_amd64.deb

Préparation sur les noeuds

Le disque /dev/sda sera utilisé sur chacun des noeuds !

Sur notre plate-forme, le système n'est pas local et les disques locaux peuvent être utilisés. Il est vraisemblable que cela ne soit pas le cas chez vous !

# Demarrage du démon GlusterFS
clush -b -w v22z[33-48] '/etc/init.d/glusterd restart'
# Configuration pour un demarrage automatique de GlusterFS
clush -b -w v22z[33-48] 'update-rc.d glusterd defaults'

# Purge violente de la table de partitions
clush -b -w v22z[33,48] 'dd if=/dev/zero of=/dev/sdb bs=512 count=65536'
# Creation d'une table de partitions
clush -b -w v22z[33-48] 'parted -s -- /dev/sdb mklabel msdos'
# Creation d'une partition sur toute la taille du disque
clush -b -w v22z[33-48] 'parted -s -- /dev/sdb mkpart primary 1 -1'
# Affichage de la table de partition (pour verifier que les 3 dernieres operations)
clush -b -w v22z[33-48] 'fdisk -l /dev/sdb'
# Formatage de la partition 
clush -b -w v22z[33-48] 'mkfs.btrfs  /dev/sdb1'
# Creation d'un point d'accrochage de la partition
clush -b -w v22z[33-48] 'mkdir /media/sdb'
# Montage de la partition
clush -b -w v22z[33-48] 'mount -o noatime,nodiratime /dev/sdb1 /media/sdb'
# Ajout de l'entree de la partition dans le fichier /etc/fstab
clush -b -w v22z[33-48] 'echo -e "/dev/sdb1\t/media/sdb\tauto\tnoatime,nodiratime\t0\t0" >> /etc/fstab'
# Verification de l'entree
clush -b -w v22z[33-48] 'cat /etc/fstab'
# Installation des dependances de GlusterFS
clush -b -w v22z[33-48] 'apt-get install fuse-utils'
# Copie de GlusterFS sur chaque noeud
clush -b -w v22z[33-48] --copy /root/glusterfs_3.2.5-1_with_rdma_amd64.deb --dest /root/glusterfs_3.2.5-1_with_rdma_amd64.deb
# Installation du paquet sur chaque noeud
clush -b -w v22z[33-48] 'dpkg -i glusterfs_3.2.5-1_with_rdma_amd64.deb'
# Demarrage du démon GlusterFS
clush -b -w v22z[33-48] '/etc/init.d/glusterd restart'
# Configuration pour un demarrage automatique de GlusterFS
clush -b -w v22z[33-48] 'update-rc.d glusterd defaults'

Configuration

L'accrochage d'un noeuds au maître se fait par la commande gluster peer probe :

for node in $(nodeset -e v22z[33-48] );  
do 
gluster peer probe $node; 
done

COMMAND='gluster volume create ib2stripe2 stripe 2 transport rdma'
for node in $(nodeset -e v22z[33-40] );  
do
    COMMAND=$COMMAND" "$node:"/media/sdb " 
done
echo $COMMAND
COMMAND='gluster volume create ib2stripe4 stripe 4 transport rdma'
for node in $(nodeset -e v22z[41-48] );  
do
    COMMAND=$COMMAND" "$node:"/media/sdb " 
done
echo $COMMAND
Creation of volume raid has been successful. Please start the volume to access data.
gluster volume start ib2stripe

Starting volume ib2stripe has been successful

mkdir /media/glusterfs.ib2stripe
mount -t glusterfs localhost:ib2stripe /media/glusterfs.ib2stripe
gluster volume info