Citrix Hypervisor

Multipathing de stockage

La prise en charge du multiacheminement dynamique est disponible pour les dorsaux de stockage Fibre Channel et iSCSI.

Citrix Hypervisor utilise le multiacheminement natif Linux (DM-MP), la solution générique de multiacheminement Linux, comme gestionnaire de chemins multiples. Toutefois, Citrix Hypervisor complète ce gestionnaire par des fonctionnalités supplémentaires afin que Citrix Hypervisor puisse reconnaître les fonctionnalités spécifiques au fournisseur des périphériques de stockage.

La configuration du multiacheminement fournit une redondance pour le trafic de stockage distant en cas de perte de connectivité partielle. Le multiacheminement achemine le trafic de stockage vers un périphérique de stockage sur plusieurs chemins pour assurer la redondance et augmenter le débit. Le multiacheminement est une configuration active-active. Par défaut, le multiacheminement utilise l’équilibrage de charge circulaire ou multibus selon le type de baie de stockage. Tous les itinéraires sont soumis à un trafic actif pendant le fonctionnement normal, ce qui entraîne une augmentation du débit.

Important :

Nous vous recommandons d’activer le multiacheminement pour tous les serveurs de votre pool avant de créer le SR. Si vous créez le SR avant d’activer le multiacheminement, vous devez placer vos serveurs en mode de maintenance pour activer le multiacheminement.

La liaison NIC peut également fournir une redondance pour le trafic de stockage. Pour le stockage iSCSI, nous vous recommandons de configurer le multiacheminement au lieu de la liaison de carte réseau dans la mesure du possible.

Le multiacheminement 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 la liaison NIC. Pour plus d’informations sur la liaison de carte réseau, consultez Mise en réseau.

Conditions préalables

Avant d’activer le multiacheminement, vérifiez que les instructions suivantes sont vraies :

  • Plusieurs cibles sont disponibles sur votre serveur de stockage.

    Par exemple, un back-end de stockage iSCSI interrogé pour sendtargets sur 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:litchie
    

    Toutefois, vous pouvez effectuer une configuration supplémentaire pour activer le multipath iSCSI pour les baies qui n’exposent qu’une seule cible. Pour plus d’informations, consultez Multipath 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 multichemin.

    Assurez-vous que pour chaque chemin d’accès au 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 voulez quatre chemins d’accès à votre stockage, vous devez disposer de quatre cartes réseau dont chacune possède une adresse IP configurée.

  • Pour iSCSI uniquement, chaque cible et chaque initiateur iSCSI possède un IQN unique.

  • Pour iSCSI uniquement, les ports cibles iSCSI fonctionnent en mode portail.

  • Pour les adaptateurs HBA uniquement, plusieurs adaptateurs HBA sont connectés à la structure de commutation.

Configurer le multiacheminement

Vous pouvez activer le multiacheminement dans XenCenter ou sur l’interface de ligne de commande xe.

Pour activer le multiacheminement à l’aide de XenCenter

  1. Dans le volet Ressources XenCenter, cliquez avec le bouton droit sur le serveur et choisissez Enter le mode de maintenance.

  2. Attendez que le serveur réapparaisse dans le volet Ressources avec l’icône du mode de maintenance (un carré bleu) avant de continuer.

  3. Dans l’onglet Général du serveur, cliquez sur Propriétés, puis accédez à l’onglet Multiacheminement .

  4. Pour activer le multiacheminement, activez la case à cocher Activer le multiacheminement sur ce serveur .

  5. Cliquez sur OK pour appliquer le nouveau paramètre. XenCenter enregistre la nouvelle configuration de stockage pendant un court délai.

  6. Dans le volet Ressources, cliquez avec le bouton droit sur le serveur et choisissez Quitter le mode de maintenance.

  7. Répétez ces étapes pour configurer le multiacheminement sur tous les serveurs du pool.

Assurez-vous de configurer le multiacheminement sur tous les serveurs du pool. Tous les câbles et, dans le cas d’iSCSI, les configurations de sous-réseau doivent correspondre aux cartes réseau correspondantes sur chaque serveur.

Pour activer le multiacheminement à l’aide de l’interface de ligne de commande xe

  1. Ouvrez une console sur le serveur Citrix Hypervisor.

  2. Débranchez tous les PBD du serveur à l’aide de la commande suivante :

    xe pbd-unplug uuid=<pbd_uuid>
    <!--NeedCopy-->
    

    Vous pouvez utiliser la commande xe pbd-list pour trouver l’UUID des PBD.

  3. Définissez la valeur du paramètre multipathing sur true à l’aide de la commande suivante :

    xe host-param-set uuid=<host uuid> multipathing=true
    <!--NeedCopy-->
    
  4. S’il existe des SR existants sur le serveur qui s’exécutent en mode chemin unique mais qui ont plusieurs chemins d’accès :

    • Migrez ou suspendez tous les invités en cours d’exécution avec des disques virtuels dans les SR concernés

    • Rebranchez le PBD de tous les SR concernés pour les reconnecter à l’aide du multiacheminement :

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  5. Répétez ces étapes pour configurer le multiacheminement sur tous les serveurs du pool.

Assurez-vous de configurer le multiacheminement sur tous les serveurs du pool. Tous les câbles et, dans le cas d’iSCSI, les configurations de sous-réseau doivent correspondre aux cartes réseau correspondantes sur chaque serveur.

Désactiver le multiacheminement

Vous pouvez désactiver le multiacheminement dans XenCenter ou sur l’interface de ligne de commande xe.

Pour désactiver le multiacheminement à l’aide de XenCenter

  1. Dans le volet Ressources XenCenter, cliquez avec le bouton droit sur le serveur et choisissez Enter le mode de maintenance.

  2. Attendez que le serveur réapparaisse dans le volet Ressources avec l’icône du mode de maintenance (un carré bleu) avant de continuer.

  3. Dans l’onglet Général du serveur, cliquez sur Propriétés, puis accédez à l’onglet Multiacheminement .

  4. Pour désactiver le multiacheminement, désactivez la case à cocher Activer le multiacheminement sur ce serveur .

  5. Cliquez sur OK pour appliquer le nouveau paramètre. XenCenter enregistre la nouvelle configuration de stockage pendant un court délai.

  6. Dans le volet Ressources, cliquez avec le bouton droit sur le serveur et choisissez Quitter le mode de maintenance.

  7. Répétez ces étapes pour configurer le multiacheminement sur tous les serveurs du pool.

Pour désactiver le multiacheminement à l’aide de l’interface de ligne de commande xe

  1. Ouvrez une console sur le serveur Citrix Hypervisor.

  2. Débranchez tous les PBD du serveur à l’aide de la commande suivante :

    xe pbd-unplug uuid=<pbd_uuid>
    <!--NeedCopy-->
    

    Vous pouvez utiliser la commande xe pbd-list pour trouver l’UUID des PBD.

  3. Définissez la valeur du paramètre multipathing sur false à l’aide de la commande suivante :

    xe host-param-set uuid=<host uuid> multipathing=false
    <!--NeedCopy-->
    
  4. S’il existe des SR existants sur le serveur qui s’exécutent en mode chemin unique mais qui ont plusieurs chemins d’accès :

    • Migrez ou suspendez tous les invités en cours d’exécution avec des disques virtuels dans les SR concernés

    • Débranchez et rebranchez le PBD de tout SR affecté pour les reconnecter en utilisant le multiacheminement :

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  5. Répétez ces étapes pour désactiver le multiacheminement sur tous les serveurs du pool.

Outils multipath

La prise en charge des chemins multiples dans Citrix Hypervisor est basée sur le mappeur de périphériques multipathd components. L’API Storage Manager gère automatiquement l’activation et la désactivation des nœuds multipath. Contrairement aux outils dm-multipath standard de Linux, les nœuds de mappage de périphériques ne sont pas créés automatiquement pour tous les LUN du système. Les nœuds de mappage de périphériques ne sont provisionnés que lorsque les LUN sont activement utilisés par la couche de gestion du stockage. Par conséquent, il n’est pas nécessaire d’utiliser les outils de l’interface de ligne de commande dm-multipath pour interroger ou actualiser les nœuds de table DM dans Citrix Hypervisor.

S’il est nécessaire d’interroger manuellement l’état des tables de mappage de périphériques ou de répertorier les nœuds multipath actifs du mappeur de périphériques sur le système, utilisez l’utilitaire mpathutil suivant :

mpathutil list
<!--NeedCopy-->
mpathutil status
<!--NeedCopy-->

Multipath iSCSI pour les baies qui n’exposent qu’une seule cible

Vous pouvez configurer Citrix Hypervisor pour utiliser le multipath iSCSI avec des baies de stockage qui n’exposent qu’une seule cible iSCSI et un seul IQN, via une adresse IP. Par exemple, vous pouvez suivre ces étapes pour configurer les baies de stockage unifiées Dell EqualLogic série PS et FS.

Par défaut, Citrix Hypervisor n’établit qu’une seule connexion par cible iSCSI. Par conséquent, avec la configuration par défaut, il est recommandé d’utiliser la liaison de carte réseau pour réaliser le basculement et l’équilibrage de charge. La procédure de configuration décrite dans cette section décrit une autre configuration, dans laquelle plusieurs connexions iSCSI sont établies pour une seule cible iSCSI. La liaison NIC n’est pas requise.

Remarque :

La configuration suivante n’est prise en charge que pour les serveurs exclusivement attachés à des baies de stockage qui n’exposent qu’une seule cible iSCSI. Ces baies de stockage doivent être qualifiées pour cette procédure avec Citrix Hypervisor.

Pour configurer le multipath :

  1. Sauvegardez toutes les données que vous souhaitez protéger.

  2. Dans le volet Ressources XenCenter, cliquez avec le bouton droit sur le serveur et choisissez Enter le mode de maintenance.

  3. Attendez que le serveur réapparaisse dans le volet Ressources avec l’icône du mode de maintenance (un carré bleu) avant de continuer.

  4. Dans l’onglet Général du serveur, cliquez sur Propriétés, puis accédez à l’onglet Multiacheminement .

  5. Pour activer le multiacheminement, activez la case à cocher Activer le multiacheminement sur ce serveur .

  6. Cliquez sur OK pour appliquer le nouveau paramètre. XenCenter enregistre la nouvelle configuration de stockage pendant un court délai.

  7. Dans la console du serveur, configurez deux à quatre interfaces iSCSI ouvertes. Chaque interface iSCSI est utilisée pour établir un chemin distinct. Les étapes suivantes illustrent le processus pour deux interfaces :

    1. Configurez deux interfaces iSCSI, exécutez les commandes suivantes :

      iscsiadm -m iface --op new -I c_iface1
      iscsiadm -m iface --op new -I c_iface2
      

      Assurez-vous que les noms d’interface comportent 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.

    2. Liez les interfaces iSCSI à xenbr1 et xenbr2, à l’aide des 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 xenbr2
      

      Remarque :

      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. Il suppose également que les cartes NIC utilisées pour le réseau de stockage sont NIC1 et NIC2. Si ce n’est pas le cas, reportez-vous à la topologie de votre réseau pour découvrir les interfaces réseau et les cartes réseau à utiliser dans ces commandes.

  8. Dans le volet Ressources XenCenter, cliquez avec le bouton droit sur le serveur et choisissez Quitter le mode de maintenance. Ne reprenez pas encore vos machines virtuelles.

  9. Dans la console du serveur, 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
    
  10. Supprimez les entrées périmées contenant les 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>
    
  11. Détachez le LUN et attachez-le à nouveau. Pour ce faire, procédez de l’une des manières suivantes :

    • Après avoir effectué les étapes précédentes sur tous les serveurs d’un pool, vous pouvez utiliser XenCenter pour détacher et rattacher le LUN pour l’ensemble du pool.
    • Vous pouvez également débrancher et détruire le PBD de chaque serveur, puis réparer le SR.

      1. Exécutez les commandes suivantes pour débrancher et détruire le PBD :

        1. Trouvez l’UUID du SR :

          xe sr-list
          
        2. Obtenez la liste des PBD associés au SR :

          xe pbd-list sr-uuid=<sr_uuid>
          
        3. Dans la sortie de la commande précédente, recherchez l’UUID du PBD du référentiel de stockage iSCSI dont l’ID SCSI ne correspond pas.

        4. Débranchez et détruisez le PBD que vous avez identifié.

          xe pbd-unplug uuid=<pbd_uuid>
          xe pbd-destroy uuid=<pbd_uuid>
          
      2. Réparez le stockage dans XenCenter.

  12. Vous pouvez désormais reprendre vos machines virtuelles.

Multipathing de stockage