Afin d’illustrer ce que l’on vient de voir, mais, cette fois-ci au niveau de disques de type LUN, issus d’une baie de stockage, on prendra l’exemple du virtualiseur IBM Storage Volume Controler permettant de sélectionner les volumes découpés au sein de baies hétérogènes. On va ainsi découvrir les trois catégories d’opérations :
Mais, généralement, par mesure de sécurité, les volumes des baies de stockage sont accessibles par différents chemins pilotés par les contrôleurs HBA (Host Bus Adapter). Ce mécanise de sécurisation des accès au LUN, s’appelle le multipath, il permet, en cas de panne de pouvoir toujours accéder aux données hébergées sur la LUN :

Depuis la version RHEL 6 (ou CentOS 6), la gestion du multipathing est directement intégrée au système d’exploitation. On peut donc dès le démarrage, activer au niveau du BIOS Emulex les différents chemins vus par les cartes HBA. Ainsi, au boot les différents paths seront tous vus.
REMARQUE : au niveau de GNU/Linux, le multipathing s’administre via le fichier /etc/multipath.conf, contrôlé par l’utilitaire mpathconf, qui permet d’ajouter, de modifier ou de retirer des chemins (voire des LUNs).
Le fichier de configuration se compose de sections permettant de gérer les différentes LUN sous forme de liste privilégiée (whitelist) ou à ignorer (blacklist). Les principales sections sont généralement les suivantes :
Lors de la manipulation des LUN, issus du Storage Virtualizer Controler, vis-à-vis du système d’exploitation, il s’agit de relever le n° d’identifiant de la LUN et de la reporter dans les sections [blacklists_exceptions] et [multipaths].
Exemple : pour une LUN ayant l’identifiant wwid "3600507680181057f4800000000000ed1" on devra déclarer dans le fichier multipath.conf les lignes suivantes :

On va donc voir maintenant comment déclarer une nouvelle LUN au niveau du système d’exploitation GNU/Linux. Lorsque la LUN est initialisée sur le Storage Volume Controler, il faut alors reporter dans le fichier /etc/multipath.conf son identifiant wwid, comme décrit ci-dessus.
Ensuite, il faut initialiser la découverte de la nouvelle LUN, au niveau des contrôleurs disques du serveur :
REMARQUE : sur Internet, on trouve des scripts permettant de remplacer la saisie manuelle de toutes ces commandes. Il en existe un : lun_scan.sh permettant l’initialisation de la LUN et sa découverte par le système.
(où x représente la position du périphérique sur le bus SCSI). Il faut donc exécuter cette commande autant de fois qu’il n’y a de chemins présentés. Ensuite, il faut recharger la configuration du daemon multipathd :
Afin de vérifier que la nouvelle LUN est bien présente maintenant sur le système, on peut exécuter la commande suivante :
A ce stade, on se retrouve dans la même situation que précédemment, concernant l’ajout d’un nouveau volume (ou d’une nouvelle partition), en mode “local“. On doit alors pouvoir créer un volume physique, puis un groupe de volumes et un ou plusieurs volumes logiques :
Il ne reste plus alors qu’à modifier le fichier /etc/fstab pour rendre ce montage systématique lors de la phase de démarrage du système et de créer le point de montage et son système de fichiers associé :
Afin de modifier la taille d’une LUN déjà existante sur le serveur, on doit le faire en premier lieu au niveau de l’interface graphique Storage Volume Controler, puis ensuite, sur le serveur lui-même.
Afin de permettre l’ajout de volumétrie (ou la réduction), il faut modifier le fichier rescan de /sys/block/sdx/device en forçant la valeur à 1 :
Si chaque contrôleur possède quatre voies d’accès en mode multipath, il faudra effectuer cette commande huit fois sur les chemins ci-dessous :

On peut alors recharger la configuration du service multipathd en exécutant la commande suivante :
Une fois que la nouvelle volumétrie est activée, on peut alors étendre le volume physique, le volume logique et le système de fichiers :
Avant de pouvoir supprimer une LUN, il est impératif de démonter le système de fichiers :
REMARQUE : il faut alors modifier le fichier /etc/fstab afin de supprimer l’enregistrement du montage en question.
Ensuite, on peut supprimer le volume logique, suivi de son groupe de volumes (si celui-ci est vide de tout autre volume logique) et pour finir de son volume physique :
Pour finir, il faut aussi modifier le fichier /etc/multipath.conf et supprimer les occurrences de la LUN que l’on souhaite enlever :

Enfin, on peut alors recharger la configuration du service multipathd et s’assurer que la LUN a bien été supprimée :
Ce qui a été mis en œuvre, dans cet exemple, pour la baie de stockage Storage Volume Controler peut également s’appliquer à d’autres marques de baie de stockage ou à d’autres modèles de gestion. Le mécanisme de multipathing est parfaitement transportable à d’autres architectures et permet de sécuriser les chemins d’accès aux différents volumes présentés par le virtualiseur tout en s’appuyant sur le modèle LVM.