Multipathing de stockage
La prise en charge du multipathing dynamique est disponible pour les back-ends de stockage Fibre Channel et iSCSI.
XenServer® utilise le multipathing natif de Linux (DM-MP), la solution générique de multipathing Linux, comme gestionnaire de multipathing. Cependant, XenServer complète ce gestionnaire avec des fonctionnalités supplémentaires afin que XenServer puisse reconnaître les fonctionnalités spécifiques au fournisseur des périphériques de stockage.
La configuration du multipathing offre une redondance pour le trafic de stockage distant en cas de perte partielle de connectivité. Le multipathing achemine le trafic de stockage vers un périphérique de stockage sur plusieurs chemins pour la redondance et un débit accru. Vous pouvez utiliser jusqu’à 16 chemins vers un seul LUN. Le multipathing est une configuration actif-actif. Par défaut, le multipathing utilise l’équilibrage de charge de type round-robin ou multibus, selon le type de baie de stockage. Tous les chemins ont un trafic actif pendant le fonctionnement normal, ce qui entraîne un débit accru.
Important :
Nous vous recommandons d’activer le multipathing pour tous les hôtes de votre pool avant de créer le SR. Si vous créez le SR avant d’activer le multipathing, vous devez mettre vos hôtes en mode maintenance pour activer le multipathing.
L’agrégation de cartes réseau peut également fournir une redondance pour le trafic de stockage. Pour le stockage iSCSI, nous recommandons de configurer le multipathing plutôt que l’agrégation de cartes réseau chaque fois que possible.
Le multipathing n’est pas efficace dans les scénarios suivants :
- Périphériques de stockage NFS
- Vous disposez d’un nombre limité de cartes réseau et devez acheminer le trafic iSCSI et le trafic de fichiers (NFS ou SMB) sur la même carte réseau
Dans ces cas, envisagez plutôt d’utiliser l’agrégation de cartes réseau. Pour plus d’informations sur l’agrégation de cartes réseau, consultez Mise en réseau.
Prérequis
Avant d’activer le multipathing, vérifiez que les affirmations suivantes sont vraies :
-
Plusieurs cibles sont disponibles sur votre serveur de stockage.
Par exemple, un back-end de stockage iSCSI interrogé pour
sendtargetssur un portail donné renvoie plusieurs cibles, comme dans l’exemple suivant :iscsiadm -m discovery --type sendtargets --portal 192.168.0.161 192.168.0.161:3260,1 iqn.strawberry:litchie 192.168.0.204:3260,2 iqn.strawberry:litchieCependant, vous pouvez effectuer une configuration supplémentaire pour activer le multipathing iSCSI pour les baies qui n’exposent qu’une seule cible. Pour plus d’informations, consultez Multipathing iSCSI pour les baies qui n’exposent qu’une seule cible.
-
Pour iSCSI uniquement, le domaine de contrôle (dom0) possède une adresse IP sur chaque sous-réseau utilisé par le stockage multipath.
Assurez-vous que pour chaque chemin que vous souhaitez avoir vers le stockage, vous disposez d’une carte réseau et qu’une adresse IP est configurée sur chaque carte réseau. Par exemple, si vous souhaitez quatre chemins vers votre stockage, vous devez disposer de quatre cartes réseau, chacune avec une adresse IP configurée.
-
Pour iSCSI uniquement, chaque cible et initiateur iSCSI possède un IQN unique.
-
Pour iSCSI uniquement, les ports cibles iSCSI fonctionnent en mode portail.
-
Pour HBA uniquement, plusieurs HBA sont connectés au fabric du commutateur.
-
Lorsque vous configurez des interfaces secondaires, chaque interface secondaire doit se trouver sur un sous-réseau distinct. Par exemple, si vous souhaitez configurer deux interfaces secondaires supplémentaires pour le stockage, vous avez besoin d’adresses IP sur trois sous-réseaux différents – un sous-réseau pour l’interface de gestion, un sous-réseau pour l’interface secondaire 1 et un sous-réseau pour l’interface secondaire 2.

Ce diagramme montre comment les deux cartes réseau de l’hôte dans une configuration iSCSI multipath doivent se trouver sur des sous-réseaux différents. Dans ce diagramme, la carte réseau 1 de l’hôte, ainsi que le commutateur 1 et la carte réseau 1 des deux contrôleurs de stockage, se trouvent sur un sous-réseau différent de la carte réseau 2, du commutateur 2 et de la carte réseau 2 des contrôleurs de stockage.
Activer le multipathing
Vous pouvez activer le multipathing dans XenCenter® ou sur l’interface de ligne de commande xe.
Pour activer le multipathing à l’aide de XenCenter
-
Dans le volet Ressources de XenCenter, cliquez avec le bouton droit sur l’hôte et choisissez Entrer en mode maintenance.
-
Attendez que l’hôte réapparaisse dans le volet Ressources avec l’icône du mode maintenance (un carré bleu) avant de continuer.
-
Sous l’onglet Général de l’hôte, cliquez sur Propriétés, puis accédez à l’onglet Multipathing.
-
Pour activer le multipathing, sélectionnez la case à cocher Activer le multipathing sur ce serveur.
-
Cliquez sur OK pour appliquer le nouveau paramètre. Il y a un court délai pendant que XenCenter enregistre la nouvelle configuration de stockage.
-
Dans le volet Ressources, cliquez avec le bouton droit sur l’hôte et choisissez Quitter le mode maintenance.
-
Répétez ces étapes pour activer le multipathing sur tous les hôtes du pool.
Assurez-vous d’activer le multipathing sur tous les hôtes du pool. Tous les câblages et, dans le cas de l’iSCSI, les configurations de sous-réseau doivent correspondre aux cartes réseau correspondantes sur chaque hôte.
Pour activer le multipathing à l’aide de l’interface de ligne de commande xe
-
Ouvrez une console sur l’hôte XenServer.
-
Débranchez tous les PBD sur l’hôte à l’aide de la commande suivante :
xe pbd-unplug uuid=<pbd_uuid> <!--NeedCopy-->Vous pouvez utiliser la commande
xe pbd-listpour trouver l’UUID des PBD. -
Définissez la valeur du paramètre
multipathingsurtrueà l’aide de la commande suivante :xe host-param-set uuid=<host uuid> multipathing=true <!--NeedCopy--> -
S’il existe des SR sur le serveur fonctionnant en mode chemin unique mais qui ont plusieurs chemins :
-
Migrez ou suspendez tous les invités en cours d’exécution avec des disques virtuels dans les SR affectés
-
Rebranchez le PBD de tous les SR affectés pour les reconnecter en utilisant le multipathing :
xe pbd-plug uuid=<pbd_uuid> <!--NeedCopy-->
-
-
Répétez ces étapes pour activer le multipathing sur tous les hôtes du pool.
Assurez-vous d’activer le multipathing sur tous les hôtes du pool. Tous les câblages et, dans le cas de l’iSCSI, les configurations de sous-réseau doivent correspondre aux cartes réseau correspondantes sur chaque hôte.
Désactiver le multipathing
Vous pouvez désactiver le multipathing dans XenCenter ou sur l’interface de ligne de commande xe.
Pour désactiver le multipathing à l’aide de XenCenter
-
Dans le volet Ressources de XenCenter, cliquez avec le bouton droit de la souris sur l’hôte et choisissez Entrer en mode maintenance.
-
Attendez que l’hôte réapparaisse dans le volet Ressources avec l’icône du mode maintenance (un carré bleu) avant de continuer.
-
Dans l’onglet Général de l’hôte, cliquez sur Propriétés, puis accédez à l’onglet Multipathing.
-
Pour désactiver le multipathing, décochez la case Activer le multipathing sur ce serveur.
-
Cliquez sur OK pour appliquer le nouveau paramètre. Il y aura un court délai pendant que XenCenter enregistre la nouvelle configuration de stockage.
-
Dans le volet Ressources, cliquez avec le bouton droit de la souris sur l’hôte et choisissez Quitter le mode maintenance.
-
Répétez ces étapes pour configurer le multipathing sur tous les hôtes du pool.
Pour désactiver le multipathing à l’aide de l’interface de ligne de commande xe
-
Ouvrez une console sur l’hôte XenServer.
-
Débranchez tous les PBD de l’hôte à l’aide de la commande suivante :
xe pbd-unplug uuid=<pbd_uuid> <!--NeedCopy-->Vous pouvez utiliser la commande
xe pbd-listpour trouver l’UUID des PBD. -
Définissez la valeur du paramètre
multipathingsurfalseà l’aide de la commande suivante :xe host-param-set uuid=<host uuid> multipathing=false <!--NeedCopy--> -
S’il existe des SR sur le serveur fonctionnant en mode chemin unique mais ayant plusieurs chemins :
-
Migrez ou suspendez les invités en cours d’exécution avec des disques virtuels dans les SR affectés
-
Débranchez et rebranchez le PBD de tous les SR affectés pour les reconnecter en utilisant le multipathing :
xe pbd-plug uuid=<pbd_uuid> <!--NeedCopy-->
-
-
Répétez ces étapes pour désactiver le multipathing sur tous les hôtes du pool.
Configurer le multipathing
Pour apporter des modifications temporaires supplémentaires à la configuration du multipathing, créez des fichiers avec le suffixe .conf dans le répertoire /etc/multipath/conf.d. Ajoutez la configuration supplémentaire dans ces fichiers. Multipath recherche alphabétiquement dans le répertoire les fichiers se terminant par .conf et en lit les informations de configuration.
Ne modifiez pas le fichier /etc/multipath.conf. Ce fichier est écrasé par les mises à jour de XenServer. Si vous souhaitez apporter des modifications permanentes à votre configuration de multipathing, contactez votre fournisseur de stockage qui pourra demander à notre équipe d’ingénierie partenaire d’ajouter ces modifications de manière permanente.
Multipathing iSCSI sur un seul sous-réseau
Vous pouvez configurer XenServer pour utiliser le multipathing iSCSI avec des baies de stockage qui exposent leurs cibles et IQN(s) sur un seul sous-réseau. Par exemple, vous pouvez suivre ces étapes pour configurer les baies de stockage Dell EqualLogic PS et FS de la série unifiée.
Par défaut, XenServer établit une seule connexion par cible iSCSI. Par conséquent, avec la configuration par défaut, il est recommandé d’utiliser l’agrégation de cartes réseau (NIC bonding) pour assurer la tolérance aux pannes et l’équilibrage de charge. La procédure de configuration décrite dans cette section décrit une configuration alternative, où plusieurs connexions iSCSI sont établies pour un seul sous-réseau ou une seule cible. L’agrégation de cartes réseau n’est pas requise.
Remarque :
La configuration suivante n’est prise en charge que pour les serveurs exclusivement connectés à des baies de stockage qui exposent leurs cibles et IQN(s) via un seul sous-réseau. Ces baies de stockage doivent être qualifiées pour cette procédure avec XenServer.
Pour configurer le multipathing :
-
Sauvegardez toutes les données que vous souhaitez protéger.
-
Dans le volet Ressources de XenCenter, cliquez avec le bouton droit sur l’hôte et choisissez Entrer en mode maintenance.
-
Attendez que l’hôte réapparaisse dans le volet Ressources avec l’icône du mode maintenance (un carré bleu) avant de continuer.
-
Dans l’onglet Général de l’hôte, cliquez sur Propriétés, puis accédez à l’onglet Multipathing.
-
Pour activer le multipathing, cochez la case Activer le multipathing sur ce serveur.
-
Cliquez sur OK pour appliquer le nouveau paramètre. Il y aura un court délai pendant que XenCenter enregistre la nouvelle configuration de stockage.
-
Dans la console de l’hôte, configurez deux à quatre interfaces Open-iSCSI. Chaque interface iSCSI est utilisée pour établir un chemin distinct. Les étapes suivantes décrivent le processus pour deux interfaces :
-
Configurez deux interfaces iSCSI, exécutez les commandes suivantes :
iscsiadm -m iface --op new -I c_iface1 iscsiadm -m iface --op new -I c_iface2Assurez-vous que les noms d’interface ont le préfixe
c_. Si les interfaces n’utilisent pas cette norme de dénomination, elles sont ignorées et l’interface par défaut est utilisée à la place.Remarque :
Cette configuration entraîne l’utilisation de l’interface par défaut pour toutes les connexions. Cela indique que toutes les connexions sont établies à l’aide d’une seule interface.
-
Lie les interfaces iSCSI à xenbr1 et xenbr2, en utilisant les commandes suivantes :
iscsiadm -m iface --op update -I c_iface1 -n iface.net_ifacename -v xenbr1 iscsiadm -m iface --op update -I c_iface2 -n iface.net_ifacename -v xenbr2Remarque :
Cette configuration suppose que les interfaces réseau configurées pour le domaine de contrôle (y compris xenbr1 et xenbr2) et xenbr0 sont utilisées pour la gestion. Elle suppose également que les cartes réseau utilisées pour le réseau de stockage sont NIC1 et NIC2. Si ce n’est pas le cas, reportez-vous à votre topologie réseau pour découvrir les interfaces réseau et les cartes réseau à utiliser dans ces commandes.
-
-
Dans le volet Ressources de XenCenter, cliquez avec le bouton droit sur l’hôte et choisissez Quitter le mode maintenance. Ne reprenez pas encore vos machines virtuelles.
-
Dans la console de l’hôte, exécutez les commandes suivantes pour découvrir les sessions et vous y connecter :
iscsiadm -m discovery -t st -p <IP of SAN> iscsiadm -m node -L all -
Supprimez les entrées obsolètes contenant d’anciennes informations de session à l’aide des commandes suivantes :
cd /var/lib/iscsi/send_targets/<IP of SAN and port, use ls command to check that> rm -rf <iqn of SAN target for that particular LUN> cd /var/lib/iscsi/nodes/ rm -rf <entries for that particular SAN> -
Détachez le LUN et rattachez-le. Vous pouvez le faire de l’une des manières suivantes :
- Après avoir effectué les étapes précédentes sur tous les hôtes d’un pool, vous pouvez utiliser XenCenter pour détacher et rattacher le LUN pour l’ensemble du pool.
-
Alternativement, vous pouvez débrancher et détruire le PBD pour chaque hôte, puis réparer le SR.
-
Exécutez les commandes suivantes pour débrancher et détruire le PBD :
-
Trouvez l’UUID du SR :
xe sr-list -
Obtenez la liste des PBD associés au SR :
xe pbd-list sr-uuid=<sr_uuid> -
Dans la sortie de la commande précédente, recherchez l’UUID du PBD du référentiel de stockage iSCSI avec un ID SCSI non concordant.
-
Débranchez et détruisez le PBD que vous avez identifié.
xe pbd-unplug uuid=<pbd_uuid> xe pbd-destroy uuid=<pbd_uuid>
-
-
Réparez le stockage dans XenCenter.
-
-
Vous pouvez maintenant reprendre vos machines virtuelles.