Configuration du device mapper multipath

Red Hat Enterprise Linux 9

Utilisation de la fonction Device Mapper Multipath

Red Hat Customer Content Services

Résumé

Cette collection de documentation fournit des instructions sur la manière de configurer et de gérer la fonctionnalité Device Mapper Multipath (DM Multipath) sur Red Hat Enterprise Linux 9.

Rendre l'open source plus inclusif

Red Hat s'engage à remplacer les termes problématiques dans son code, sa documentation et ses propriétés Web. Nous commençons par ces quatre termes : master, slave, blacklist et whitelist. En raison de l'ampleur de cette entreprise, ces changements seront mis en œuvre progressivement au cours de plusieurs versions à venir. Pour plus de détails, voir le message de notre directeur technique Chris Wright.

Fournir un retour d'information sur la documentation de Red Hat

Nous apprécions vos commentaires sur notre documentation. Faites-nous savoir comment nous pouvons l'améliorer.

Soumettre des commentaires sur des passages spécifiques

  1. Consultez la documentation au format Multi-page HTML et assurez-vous que le bouton Feedback apparaît dans le coin supérieur droit après le chargement complet de la page.
  2. Utilisez votre curseur pour mettre en évidence la partie du texte que vous souhaitez commenter.
  3. Cliquez sur le bouton Add Feedback qui apparaît près du texte en surbrillance.
  4. Ajoutez vos commentaires et cliquez sur Submit.

Soumettre des commentaires via Bugzilla (compte requis)

  1. Connectez-vous au site Web de Bugzilla.
  2. Sélectionnez la version correcte dans le menu Version.
  3. Saisissez un titre descriptif dans le champ Summary.
  4. Saisissez votre suggestion d'amélioration dans le champ Description. Incluez des liens vers les parties pertinentes de la documentation.
  5. Cliquez sur Submit Bug.

Chapitre 1. Vue d'ensemble du multipathing du device mapper

Avec Device mapper multipathing (DM Multipath), vous pouvez configurer plusieurs chemins d'E/S entre les nœuds de serveur et les baies de stockage dans un seul périphérique. Ces chemins d'E/S sont des connexions physiques de réseau de stockage (SAN) qui peuvent inclure des câbles, des commutateurs et des contrôleurs distincts. Le multipathing regroupe les chemins d'E/S et crée un nouveau périphérique composé des chemins regroupés.

DM Multipath fournit :

Redondance
DM Multipath peut assurer le basculement dans une configuration active/passive. Dans une configuration active/passive, seul un sous-ensemble de chemins est utilisé à tout moment pour les E/S. Si un élément d'un chemin d'E/S, tel que le câble, le commutateur ou le contrôleur, tombe en panne, DM Multipath passe à un autre chemin.
Note

Le nombre de chemins dépend de la configuration. En général, les configurations DM Multipath ont 2, 4 ou 8 chemins d'accès au stockage, mais il s'agit d'une configuration courante et d'autres nombres sont possibles pour les chemins d'accès.

Amélioration des performances
DM Multipath peut être configuré en mode actif/actif, dans lequel les E/S sont réparties sur les chemins d'accès selon la méthode round-robin. Dans certaines configurations, DM Multipath peut détecter la charge sur les chemins d'E/S et rééquilibrer dynamiquement la charge.

1.1. Configuration multipath active/passive avec un dispositif RAID

Dans cette configuration, il y a deux adaptateurs de bus hôte (HBA) sur le serveur, deux commutateurs SAN et deux contrôleurs RAID. Les défaillances possibles dans cette configuration sont les suivantes :

  • Défaillance du HBA
  • Défaillance du câble Fibre Channel
  • Défaillance d'un commutateur SAN
  • Défaillance du port du contrôleur de réseau

Lorsque DM Multipath est configuré, une défaillance à l'un de ces points fait basculer DM Multipath sur le chemin d'E/S alternatif. L'image suivante décrit la configuration avec deux chemins d'E/S du serveur vers un périphérique RAID. Ici, un chemin d'E/S passe par hba1, SAN1 et cntrlr1 et un second chemin d'E/S passe par hba2, SAN2 et cntrlr2.

Figure 1.1. Configuration multipath active/passive avec un dispositif RAID

Active/Passive multipath configuration with one RAID device

1.2. Configuration multipath active/passive avec deux dispositifs RAID

Dans cette configuration, il y a deux HBA sur le serveur, deux commutateurs SAN et deux périphériques RAID avec deux contrôleurs RAID chacun. Lorsque DM Multipath est configuré, une défaillance à l'un des points du chemin d'E/S vers l'un des périphériques RAID entraîne le basculement de DM Multipath vers le chemin d'E/S alternatif pour ce périphérique. L'image suivante décrit la configuration avec deux chemins d'E/S vers chaque périphérique RAID. Ici, il y a deux chemins d'E/S vers chaque périphérique RAID.

Figure 1.2. Configuration multipath active/passive avec deux dispositifs RAID

Active/Passive multipath configuration with two RAID device

1.3. Configuration multipath active/active avec un dispositif RAID

Dans cette configuration, il y a deux HBA sur le serveur, deux commutateurs SAN et deux contrôleurs RAID. L'image suivante décrit la configuration avec deux chemins d'E/S du serveur vers un périphérique de stockage. Ici, les E/S peuvent être réparties entre ces deux chemins.

Figure 1.3. Configuration multipath active/active avec un dispositif RAID

Active/Active multipath configuration with one RAID device

1.4. Composants DM Multipath

Le tableau suivant décrit les composants de DM Multipath.

Tableau 1.1. Composants du DM Multipath

Composant

Description

dm_multipath module du noyau

Réachemine les E/S et prend en charge le basculement des chemins et des groupes de chemins.

mpathconf service public

Configure et active le multipathing du device mapper.

multipath commande

Répertorie et configure les dispositifs à trajets multiples. Il est également exécuté par udev chaque fois qu'un périphérique de bloc est ajouté, afin de déterminer si le périphérique doit faire partie d'un périphérique à trajets multiples ou non.

multipathd démon

Crée et supprime automatiquement les périphériques à chemins multiples et surveille les chemins ; lorsque les chemins échouent et reviennent, il peut mettre à jour le périphérique à chemins multiples. Permet d'apporter des modifications interactives aux dispositifs à chemins multiples. Recharge le service en cas de modification du fichier /etc/multipath.conf.

kpartx commande

Crée des périphériques de mappage de périphériques pour les partitions d'un périphérique. Cette commande est automatiquement exécutée par udev lorsque des périphériques à chemins multiples sont créés pour créer des périphériques de partition au-dessus d'eux. La commande kpartx est fournie dans son propre paquetage, mais le paquetage device-mapper-multipath en dépend.

mpathpersist

Configure les réservations persistantes SCSI-3 sur les périphériques à chemins multiples. Cette commande fonctionne de la même manière que sg_persist pour les périphériques SCSI qui ne sont pas à chemins multiples, mais elle gère la mise en place de réservations persistantes sur tous les chemins d'un périphérique à chemins multiples. Elle se coordonne avec multipathd pour s'assurer que les réservations sont configurées correctement sur les chemins qui sont ajoutés ultérieurement. Pour utiliser cette fonctionnalité, l'attribut reservation_key doit être défini dans le fichier /etc/multipath.conf. Sinon, le démon multipathd ne vérifiera pas les réservations persistantes pour les chemins nouvellement découverts ou rétablis.

1.5. La commande multipath

La commande multipath permet de détecter et de combiner plusieurs chemins d'accès aux périphériques. Elle fournit une série d'options que vous pouvez utiliser pour administrer vos appareils à chemins multiples.

Le tableau suivant décrit certaines options de la commande multipath qui peuvent s'avérer utiles.

Tableau 1.2. Options utiles de la commande multipath

OptionDescription

-l

Affiche la configuration multipath actuelle recueillie à partir de sysfs et du mappeur de périphériques.

-ll

Affiche la configuration multipath actuelle recueillie à partir de sysfs, du mappeur de périphériques et de tous les autres composants disponibles sur le système.

-f device

Supprimez le périphérique à trajets multiples nommé.

-F

Supprimez tous les dispositifs à trajets multiples inutilisés.

-w device

Supprime le site wwid de l'appareil spécifié du fichier wwids.

-W

Réinitialiser le fichier wwids pour n'inclure que les dispositifs multipath actuels.

1.6. Sortie de la commande Multipath

Lorsque vous créez, modifiez ou répertoriez un appareil à trajets multiples, vous obtenez un affichage de la configuration actuelle de l'appareil. Le format est le suivant.

  • Pour chaque appareil à trajets multiples :
action_if_any: alias (wwid_if_different_from_alias) dm_device_name_if_known vendor,product size=size features='features' hwhandler='hardware_handler' wp=write_permission_if_known
  • Pour chaque groupe de chemins :
- - policy='scheduling_policy' prio=prio_if_known status=path_group_status_if_known
  • Pour chaque chemin :
 `- host:channel:id:lun devnode major:minor dm_status_if_known path_status online_status

Par exemple, la sortie d'une commande multipath peut se présenter comme suit :

3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 7:0:0:0 sdf 8:80  active ready  running

Si le chemin est en place et prêt pour les E/S, l'état du chemin est ready ou ghost. Si le chemin est en panne, l'état est faulty ou shaky. L'état du chemin est mis à jour périodiquement par le démon multipathd en fonction de l'intervalle d'interrogation défini dans le fichier /etc/multipath.conf.

Les autres valeurs possibles de l'état du chemin sont les suivantes.

  • i/o pending: Le vérificateur vérifie activement ce chemin, et l'état sera mis à jour sous peu.
  • i/o timeout: C'est la même chose que faulty. Elle indique à l'utilisateur que le vérificateur n'a pas renvoyé de succès ou d'échec avant la fin du délai d'attente.
  • removed: Le chemin a été supprimé du système et sera bientôt supprimé du dispositif à trajets multiples. Il est traité de la même manière que faulty.
  • wild multipathd n'a pas pu exécuter le vérificateur de chemin, en raison d'une erreur interne ou d'un problème de configuration. C'est à peu près la même chose que , sauf que multipath sautera de nombreuses actions sur le chemin. faulty
  • unchecked: Le vérificateur de chemin ne s'est pas exécuté sur ce chemin, soit parce qu'il vient d'être découvert, soit parce qu'il n'y a pas de vérificateur de chemin assigné, soit parce que le vérificateur de chemin a rencontré une erreur. Ce message est traité de la même manière que wild.
  • delayed: Le vérificateur de chemin indique que le chemin est en place, mais multipath retarde le rétablissement du chemin parce que le chemin a récemment échoué plusieurs fois et que multipath a été configuré pour retarder les chemins dans ce cas.

En termes de noyau, l'état dm est similaire à l'état path. L'état dm active couvre les états path ready et ghost. L'état du chemin pending n'a pas d'état dm équivalent. Tous les autres états de chemin d'accès correspondent à l'état dm failed. L'état dm conservera son statut actuel jusqu'à ce que le vérificateur de chemin ait terminé.

Les valeurs possibles pour online_status sont running et offline. L'état offline signifie que ce périphérique SCSI a été désactivé.

Note

Lorsque vous créez ou modifiez un périphérique multipath, multipath imprime la configuration du périphérique. Cependant, certaines caractéristiques, par exemple les autorisations d'écriture, et d'autres informations sur les caractéristiques peuvent être inconnues. Il peut y avoir une différence entre la sortie et les caractéristiques que vous avez sélectionnées lors de la création ou de la modification. Il s'agit d'un comportement normal. Répertoriez le dispositif après sa création pour voir l'état correct.

1.7. Affichage de la configuration des trajets multiples

Vous pouvez utiliser les commandes -l et multipath pour afficher la configuration actuelle des chemins multiples. L'option -l affiche la topologie des chemins multiples à partir des informations contenues dans sysfs et du mappeur de périphériques. L'option -ll affiche les informations de l'option -l en plus de tous les autres composants disponibles du système.

Lors de l'affichage de la configuration des chemins multiples, vous pouvez spécifier un niveau de verbosité avec l'option -v de la commande multipath. L'option -v0 ne produit aucun résultat. En spécifiant -v1, vous n'obtenez que les noms des chemins multiples créés ou mis à jour, que vous pouvez ensuite transmettre à d'autres outils tels que kpartx. L'option -v2 permet d'imprimer tous les chemins d'accès, chemins multiples et cartes de périphériques détectés. Pour obtenir des informations encore plus détaillées, vous pouvez également spécifier -v3, -v4 ou -v5.

L'exemple suivant montre la sortie d'une commande multipath -l.

# multipath -l
3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-- policy='round-robin 0' prio=1 status=enabled
  `- 7:0:0:0 sdf 8:80  active ready  running

L'exemple suivant montre la sortie d'une commande multipath -ll.

# multipath -ll
3600d0230000000000e13955cc3757801 dm-10 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-- policy='round-robin 0' prio=1 status=enabled
| `- 19:0:0:1 sdc 8:32  active ready  running
`-- policy='round-robin 0' prio=1 status=enabled
  `- 18:0:0:1 sdh 8:112 active ready  running
3600d0230000000000e13955cc3757803 dm-2 WINSYS,SF2372
size=125G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 19:0:0:3 sde 8:64  active ready  running
  `- 18:0:0:3 sdj 8:144 active ready  running

1.8. Ressources supplémentaires

  • multipath(8) et multipathd(8) pages de manuel
  • /etc/multipath.conf fichier

Chapitre 2. Dispositifs à trajets multiples

DM Multipath permet d'organiser les chemins d'E/S de manière logique, en créant un périphérique multipath unique au-dessus des périphériques sous-jacents. Sans DM Multipath, le système traite chaque chemin entre un nœud de serveur et un contrôleur de stockage comme un périphérique distinct, même si le chemin d'E/S relie le même nœud de serveur au même contrôleur de stockage.

2.1. Identificateurs de dispositifs à trajets multiples

Lorsque de nouveaux appareils sont contrôlés par DM Multipath, ils sont créés dans les répertoires /dev/mapper/ et /dev/.

Note

Les dispositifs de la forme /dev/dm-X sont réservés à un usage interne et ne doivent jamais être utilisés directement par l'administrateur.

Les paragraphes suivants décrivent les noms des périphériques multipath :

  • Lorsque l'option de configuration user_friendly_names est définie sur no, le nom du périphérique à trajets multiples est défini sur World Wide Identifier (WWID). Par défaut, le nom d'un dispositif à trajets multiples est défini sur son WWID. Le nom du dispositif serait /dev/mapper/WWID. Il est également créé dans le répertoire /dev/, sous le nom de /dev/dm-X.
  • Vous pouvez également définir l'option user_friendly_names sur yes dans le fichier /etc/multipath.conf. Ainsi, l'option alias de la section multipath est remplacée par un nom unique de nœud de la forme mpathN. Le nom du dispositif serait /dev/mapper/mpathN et /dev/dm-X. Mais il n'est pas garanti que le nom du dispositif soit le même sur tous les nœuds utilisant le dispositif à trajets multiples. De même, si vous définissez l'option alias dans le fichier /etc/multipath.conf, le nom n'est pas automatiquement cohérent sur tous les nœuds de la grappe.
Note

Cela ne devrait pas poser de problème si vous utilisez LVM pour créer des périphériques logiques à partir du périphérique multipath. Pour que les noms de vos périphériques à chemins multiples restent cohérents dans chaque nœud, Red Hat recommande de désactiver l'option user_friendly_names.

Par exemple, un nœud avec deux HBA attachés à un contrôleur de stockage avec deux ports au moyen d'un seul commutateur FC non zoné voit quatre dispositifs : /dev/sda, /dev/sdb, /dev/sdc, et /dev/sdd. DM Multipath crée un périphérique unique avec un WWID unique qui réachemine les E/S vers ces quatre périphériques sous-jacents en fonction de la configuration multipath.

Outre les options user_friendly_names et alias, un dispositif à trajets multiples possède également d'autres attributs. Vous pouvez modifier ces attributs pour un périphérique multipath spécifique en créant une entrée pour ce périphérique dans la section multipaths du fichier /etc/multipath.conf.

Ressources supplémentaires

2.2. Dispositifs à chemins multiples dans les volumes logiques

Après avoir créé des périphériques multipath, vous pouvez utiliser les noms des périphériques multipath comme vous le feriez avec un nom de périphérique physique lors de la création d'un volume physique LVM (Logical Volume Manager). Par exemple, si /dev/mapper/mpatha est le nom d'un périphérique multipath, la commande pvcreate /dev/mapper/mpatha marque /dev/mapper/mpatha comme volume physique.

Vous pouvez utiliser le périphérique physique LVM résultant lorsque vous créez un groupe de volumes LVM, comme vous le feriez avec n'importe quel autre périphérique physique LVM.

Pour filtrer tous les dispositifs sd dans le fichier /etc/lvm/lvm.conf, ajoutez le filtre filter = [ "r/block/", "r/disk/", "r/sd./", "a/./" ] dans la section devices du fichier.

Note

Si vous tentez de créer un volume physique LVM sur un périphérique entier sur lequel vous avez configuré des partitions, la commande pvcreate échoue. Les programmes d'installation Anaconda et Kickstart créent des tables de partitions vides si vous n'indiquez rien d'autre pour chaque périphérique en bloc. Si vous souhaitez utiliser l'ensemble du périphérique au lieu de créer une partition, supprimez les partitions existantes du périphérique. Vous pouvez supprimer les partitions existantes à l'aide de la commande kpartx -d device et de l'utilitaire fdisk. Si votre système possède des périphériques de bloc de plus de 2 To, utilisez l'utilitaire parted pour supprimer les partitions.

Lorsque vous créez un volume logique LVM qui utilise des baies multipath active/passive comme périphériques physiques sous-jacents, vous pouvez éventuellement inclure des filtres dans le fichier /etc/lvm/lvm.conf afin d'exclure les disques qui soulignent les périphériques multipath. En effet, si la matrice passe automatiquement du chemin actif au chemin passif lorsqu'elle reçoit des entrées/sorties, le multipath basculera et reviendra en arrière chaque fois que LVM analysera le chemin passif, si ces périphériques ne sont pas filtrés.

Le noyau modifie l'état actif/passif en détectant automatiquement le gestionnaire matériel correct à utiliser. Pour les chemins actifs/passifs qui nécessitent une intervention pour changer leur état, le multipath utilise automatiquement ce gestionnaire de matériel pour le faire si nécessaire. Si le noyau ne détecte pas automatiquement le gestionnaire de matériel à utiliser, vous pouvez configurer le gestionnaire de matériel à utiliser dans le fichier multipath.conf avec l'option "hardware_handler". Pour les baies active/passive qui nécessitent une commande pour rendre le chemin passif actif, LVM affiche un message d'avertissement lorsque cela se produit.

En fonction de votre configuration, LVM peut afficher l'un des messages suivants :

  • Le LUN n'est pas prêt :

    end_request: I/O error, dev sdc, sector 0
    sd 0:0:0:3: Device not ready: <6>: Current: sense key: Not Ready
        Add. Sense: Logical unit not ready, manual intervention required
  • Lire l'échec :

    /dev/sde : échec de la lecture après 0 de 4096 à 0 : erreur d'entrée/sortie

Les raisons des erreurs mentionnées sont les suivantes :

  • Les chemins multiples ne sont pas configurés sur les périphériques de stockage qui fournissent des chemins actifs/passifs à une machine.
  • Les chemins sont accessibles directement, au lieu de passer par le dispositif à chemins multiples.

Ressources supplémentaires

Chapitre 3. Configuration de DM Multipath

Vous pouvez configurer DM Multipath à l'aide de l'utilitaire mpathconf. Cet utilitaire crée ou modifie le fichier de configuration /etc/multipath.conf multipath en fonction des scénarios suivants :

  • Si le fichier /etc/multipath.conf existe déjà, l'utilitaire mpathconf le modifiera.
  • Si le fichier /etc/multipath.conf n'existe pas, l'utilitaire mpathconf créera le fichier /etc/multipath.conf à partir de zéro.

3.1. Vérification du paquet device-mapper-multipath

Avant d'installer DM Multipath sur votre système, assurez-vous que votre système est à jour et qu'il comprend le paquetage device-mapper-multipath.

Procédure

  1. Vérifiez si votre système comprend le paquetage device-mapper-multipath:

    # rpm -q device-mapper-multipath
    device-mapper-multipath-current-package-version

    Si votre système n'inclut pas le paquet, le message suivant s'affiche :

    package device-mapper-multipath n'est pas installé
  2. Si votre système n'inclut pas le paquetage, installez-le en exécutant la commande suivante :

    # dnf install device-mapper-multipath

3.2. Mise en place de DM Multipath pour une configuration basique de basculement

Utilisez la procédure suivante pour configurer DM Multipath pour une configuration de basculement de base si vous devez éditer le fichier /etc/multipath.conf avant de démarrer le démon multipathd.

Procédure

  1. Activer le fichier de configuration multipath :

    # mpathconf --enable
  2. Modifiez le fichier /etc/multipath.conf si nécessaire. Les paramètres par défaut de DM Multipath sont compilés dans le système et ne doivent pas être explicitement définis dans le fichier /etc/multipath.conf.

    La valeur par défaut de path_grouping_policy est fixée à failover, de sorte que, dans cet exemple, il n'est pas nécessaire de modifier le fichier /etc/multipath.conf.

    La section initial defaults du fichier de configuration configure votre système de sorte que les noms des périphériques multipath soient de la forme /dev/mapper/mpathn;. Sans ce paramètre, les noms des périphériques multipath seraient aliasés avec le WWID du périphérique. Si vous ne souhaitez pas utiliser des noms conviviaux, vous pouvez entrer la commande suivante :

    # mpathconf --enable --user_friendly_names n

    Si vous devez modifier le fichier de configuration multipath après avoir démarré le démon multipath, vous devez exécuter la commande systemctl reload multipathd.service pour que les modifications soient prises en compte.

  3. Enregistrez le fichier de configuration et quittez l'éditeur, si nécessaire.
  4. Démarrez le démon multipath et créez les périphériques multipath :

    # systemctl start multipathd.service
Note

Si vous supprimez le paquet device-mapper-multipath, vous ne supprimez pas le fichier /etc/multipath.conf, ni aucun fichier du répertoire /etc/multipath, car ce répertoire peut contenir d'autres fichiers que ceux énumérés actuellement. Vous devrez peut-être supprimer ces fichiers manuellement lors d'installations ultérieures du paquet device-mapper-multipath.

3.3. Ignorer les disques locaux lors de la génération de périphériques multipath

Certaines machines ont des cartes SCSI locales pour leurs disques internes et DM Multipath n'est pas recommandé pour ces périphériques. Si vous attribuez la valeur on au paramètre de configuration find_multipaths, il n'est pas nécessaire de désactiver le multipathing sur ces périphériques.

Si vous ne définissez pas le paramètre de configuration find_multipaths sur on, vous pouvez utiliser la procédure suivante pour modifier le fichier de configuration DM Multipath afin d'ignorer les disques locaux lors de la configuration du multipath.

Procédure

  1. Déterminez quels sont les disques internes. Dans ces exemples, /dev/sda est le disque interne :

    • Afficher les dispositifs à trajets multiples existants :

      # multipath -v2 -l
      
      SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 dm-2 WINSYS,SF2372
      size=33 GB features="0" hwhandler="0" wp=rw
      `-+- policy='round-robin 0' prio=0 status=active
        |- 0:0:0:0 sda 8:0 active undef running
    • Affiche les périphériques multipath supplémentaires que DM Multipath pourrait créer :

      # multipath -v2 -d
      
      : SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 undef WINSYS,SF2372
      size=33 GB features="0" hwhandler="0" wp=undef
      `-+- policy='round-robin 0' prio=1 status=undef
        |- 0:0:0:0 sda 8:0  undef ready running
  2. Modifiez la section blacklist du fichier /etc/multipath.conf pour inclure ce dispositif.

    Identifiez le périphérique à l'aide de son attribut WWID. Bien que vous puissiez identifier le périphérique sda à l'aide d'un type devnode, cette procédure n'est pas sûre, car il n'est pas garanti que /dev/sda soit le même au redémarrage.

    Dans l'exemple précédent, le WWID du dispositif /dev/sda est SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1. Pour ignorer ce périphérique, il faut inclure ce qui suit dans le fichier /etc/multipath.conf:

    blacklist {
          wwid SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1
    }
  3. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  4. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

Ressources supplémentaires

  • multipath.conf(5) page de manuel

3.4. Configuration de périphériques de stockage supplémentaires

Par défaut, DM Multipath prend en charge les baies de stockage les plus courantes, qui supportent DM Multipath.

Procédure

  • Afficher la valeur de la configuration par défaut, y compris les appareils pris en charge :

    # multipathd show config
    # multipath -t
  • Facultatif : Pour ajouter un périphérique de stockage supplémentaire qui n'est pas pris en charge par défaut en tant que périphérique à trajets multiples connu, modifiez le fichier /etc/multipath.conf et insérez les informations appropriées sur le périphérique.

    L'exemple suivant illustre comment ajouter des informations sur la série HP Open-V. L'appareil est mis en file d'attente pendant une minute ou 12 tentatives et 5 secondes par tentative après l'échec de tous les chemins d'accès.

    devices {
            device {
                    vendor "HP"
                    product "OPEN-V"
                    no_path_retry 12
            }
    }

3.5. Mise en place du multipathing dans le système de fichiers initramfs

Vous pouvez configurer le multipathing dans le système de fichiers initramfs. Vous n'avez pas besoin de le configurer si vous n'utilisez pas les périphériques que vous voulez multipatcher, jusqu'à ce que le démarrage quitte le système de fichiers initramfs.

Conditions préalables

  • Vous avez configuré DM multipath dans votre système.

Procédure

  • Reconstruisez le système de fichiers initramfs avec les fichiers de configuration multipath en exécutant la commande suivante :

    # dracut --force --add multipath

    Si vous exécutez multipath à partir du système de fichiers initramfs et que vous modifiez les fichiers de configuration de multipath, vous devez reconstruire le système de fichiers initramfs pour que les modifications soient prises en compte. Lorsqu'un périphérique racine utilise multipath, l'exécution de la commande dracut ajoute automatiquement le module multipath au système de fichiers initramfs.

  • Facultatif : Si vous avez besoin que le multipath fonctionne dans l'initramfs, mais que vous ne configurez pas un périphérique racine multipath, exécutez :

    # echo add_dracutmodules+=\"multipath\" > /etc/dracut.conf.d/multipath.conf
    # dracut --force
Note

La commande dracut inclut multipath dans le fichier initramfs, même si multipath n'est plus nécessaire. Pour ne plus inclure multipath, exécutez :

# rm /etc/dracut.conf.d/multipath.conf
# dracut --force

Chapitre 4. Activation du multipathing sur les périphériques NVMe

Vous pouvez multipather les périphériques Non-volatile Memory Express™ (NVMe™) qui sont connectés à votre système sur un transport fabric, tel que Fibre Channel (FC). Vous pouvez choisir entre plusieurs solutions de multipathing.

4.1. Multipathing NVMe natif et DM Multipath

Les périphériques Non-volatile Memory Express™ (NVMe™) prennent en charge une fonctionnalité de multipathing native. Lors de la configuration du multipathing sur NVMe, vous pouvez choisir entre le cadre DM Multipath standard et le multipathing NVMe natif.

DM Multipath et le multipathing NVMe natif prennent tous deux en charge le schéma de multipathing ANA (Asymmetric Namespace Access) des périphériques NVMe. ANA identifie des chemins optimisés entre le contrôleur et l'hôte et améliore les performances.

Lorsque le multipathing NVMe natif est activé, il s'applique globalement à tous les périphériques NVMe. Il peut offrir de meilleures performances, mais ne contient pas toutes les fonctionnalités offertes par DM Multipath. Par exemple, le multipathing NVMe natif ne prend en charge que les méthodes de sélection de chemin numa et round-robin.

Par défaut, le multipathing NVMe est activé dans Red Hat Enterprise Linux 9 et constitue la solution de multipathing recommandée.

4.2. Activation de DM Multipath sur les périphériques NVMe

Le paramètre par défaut du noyau pour l'option nvme_core.multipath est défini sur Y, ce qui signifie que le multipathing Non-volatile Memory Express™ (NVMe™) natif est activé. Vous pouvez activer DM Multipath sur les périphériques NVMe connectés en désactivant le multipathing NVMe natif.

Conditions préalables

Procédure

  1. Vérifier si le multipathing NVMe natif est activé :

    # cat /sys/module/nvme_core/parameters/multipath

    La commande affiche l'un des éléments suivants :

    N
    Le multipathing NVMe natif est désactivé.
    Y
    Le multipathing NVMe natif est activé.
  2. Si le multipathing NVMe natif est activé, désactivez-le en utilisant l'une des méthodes suivantes :

    • Utilisation d'une option du noyau :

      1. Ajoutez l'option nvme_core.multipath=N à la ligne de commande :

        # grubby --update-kernel=ALL --args="nvme_core.multipath=N"
      2. Sur l'architecture IBM Z 64 bits, mettez à jour le menu de démarrage :

        # zipl
      3. Redémarrer le système.
    • Utilisation d'un fichier de configuration du module du noyau :

      1. Créez le fichier de configuration /etc/modprobe.d/nvme_core.conf avec le contenu suivant :

        options nvme_core multipath=N
      2. Sauvegarder le fichier initramfs:

        # cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname r).bak.$(date %m\r%H%M%S).img
      3. Reconstruire le site initramfs:

        # cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
        # dracut --force --verbose
      4. Redémarrer le système.
  3. Activer DM Multipath :

    # systemctl enable --now multipathd.service
  4. Distribuer les E/S sur tous les chemins disponibles. Ajoutez le contenu suivant dans le fichier /etc/multipath.conf:

    devices {
            device {
                    vendor "NVME"
                    product ".*"
                    path_grouping_policy group_by_prio
            }
    }
    Note

    Le fichier de configuration /sys/class/nvme-subsystem/nvme-subsys0/iopolicy n'a aucun effet sur la distribution des E/S lorsque DM Multipath gère les périphériques NVMe.

  5. Rechargez le service multipathd pour appliquer les changements de configuration :

    # multipath -r

Vérification

  • Vérifiez si le multipathing NVMe natif est désactivé :

    # cat /sys/module/nvme_core/parameters/multipath
    N
  • Vérifiez que DM multipath reconnaît les périphériques nvme :

    # multipath -l
    
    eui.00007a8962ab241100a0980000d851c8 dm-6 NVME,NetApp E-Series
    size=20G features='0' hwhandler='0' wp=rw
    `-+- policy='service-time 0' prio=0 status=active
      |- 0:10:2:2 nvme0n2 259:3 active undef running
    `-+- policy='service-time 0' prio=0 status=enabled
      |- 4:11:2:2 nvme4n2 259:28 active undef running
    `-+- policy='service-time 0' prio=0 status=enabled
      |- 5:32778:2:2 nvme5n2 259:38 active undef running
    `-+- policy='service-time 0' prio=0 status=enabled
      |- 6:32779:2:2 nvme6n2 259:44 active undef running

4.3. Activation du multipathing NVMe natif

Si le multipathing NVMe natif est désactivé, vous pouvez l'activer à l'aide de la solution suivante.

Conditions préalables

Procédure

  1. Vérifier si le multipathing NVMe natif est activé dans le noyau :

    # cat /sys/module/nvme_core/parameters/multipath

    La commande affiche l'un des éléments suivants :

    N
    Le multipathing NVMe natif est désactivé.
    Y
    Le multipathing NVMe natif est activé.
  2. Si le multipathing NVMe natif est désactivé, activez-le en utilisant l'une des méthodes suivantes :

    • Utilisation d'une option du noyau :

      1. Supprime l'option nvme_core.multipath=N de la ligne de commande du noyau :

        # grubby --update-kernel=ALL --remove-args="nvme_core.multipath=N"
      2. Sur l'architecture IBM Z 64 bits, mettez à jour le menu de démarrage :

        # zipl
      3. Redémarrer le système.
    • Utilisation d'un fichier de configuration du module du noyau :

      1. Supprimez le fichier de configuration /etc/modprobe.d/nvme_core.conf:

        # rm /etc/modprobe.d/nvme_core.conf
      2. Sauvegarder le fichier initramfs:

        # cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date %m-\r%H%M%S).img
      3. Reconstruire le site initramfs:

        # dracut --force --verbose
      4. Redémarrer le système.
  3. Facultatif : Sur le système en cours d'exécution, modifiez la stratégie d'E/S sur les périphériques NVMe afin de répartir les E/S sur tous les chemins disponibles :

    # echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
  4. Facultatif : Définissez la politique d'E/S de manière persistante à l'aide des règles udev. Créez le fichier /etc/udev/rules.d/71-nvme-io-policy.rules avec le contenu suivant :

    ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"

Vérification

  1. Vérifiez que votre système reconnaît les périphériques NVMe. L'exemple suivant suppose que vous avez un sous-système de stockage NVMe over fabrics connecté avec deux espaces de noms NVMe :

    # nvme list
    
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme0n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
  2. Liste de tous les sous-systèmes NVMe connectés :

    # nvme list-subsys
    
    nvme-subsys0 - NQN=testnqn
    \
     +- nvme0 fc traddr=nn-0x20000090fadd597a:pn-0x10000090fadd597a host_traddr=nn-0x20000090fac7e1dd:pn-0x10000090fac7e1dd live
     +- nvme1 fc traddr=nn-0x20000090fadd5979:pn-0x10000090fadd5979 host_traddr=nn-0x20000090fac7e1dd:pn-0x10000090fac7e1dd live
     +- nvme2 fc traddr=nn-0x20000090fadd5979:pn-0x10000090fadd5979 host_traddr=nn-0x20000090fac7e1de:pn-0x10000090fac7e1de live
     +- nvme3 fc traddr=nn-0x20000090fadd597a:pn-0x10000090fadd597a host_traddr=nn-0x20000090fac7e1de:pn-0x10000090fac7e1de live

    Vérifiez le type de transport actif. Par exemple, nvme0 fc indique que l'appareil est connecté via le transport Fibre Channel, et nvme tcp indique que l'appareil est connecté via TCP.

  3. Si vous avez modifié les options du noyau, vérifiez si le multipathing NVMe natif est activé sur la ligne de commande du noyau :

    # cat /proc/cmdline
    
    BOOT_IMAGE=[...] nvme_core.multipath=Y
  4. Si vous avez modifié la stratégie d'E/S, vérifiez que round-robin est la stratégie d'E/S active sur les périphériques NVMe :

    # cat /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
    
    round-robin

Ressources supplémentaires

Chapitre 5. Modification du fichier de configuration de DM Multipath

Par défaut, DM Multipath fournit des valeurs de configuration pour les utilisations les plus courantes du multipathing. En outre, DM Multipath prend en charge les baies de stockage les plus courantes qui prennent elles-mêmes en charge DM Multipath. Vous pouvez remplacer les valeurs de configuration par défaut de DM Multipath en modifiant le fichier de configuration /etc/multipath.conf. Si nécessaire, vous pouvez également ajouter au fichier de configuration une baie de stockage non prise en charge par défaut.

Pour obtenir des informations sur les valeurs de configuration par défaut, y compris sur les appareils pris en charge, exécutez l'une des commandes suivantes :

# multipathd show config
# multipath -t
Note

Si vous exécutez multipath à partir du système de fichiers initramfs et que vous modifiez les fichiers de configuration de multipath, vous devez reconstruire le système de fichiers initramfs pour que les modifications soient prises en compte

Dans le fichier de configuration multipath, vous ne devez spécifier que les sections dont vous avez besoin pour votre configuration ou que vous devez modifier par rapport aux valeurs par défaut. Si certaines sections du fichier ne sont pas pertinentes pour votre environnement ou si vous n'avez pas besoin de modifier les valeurs par défaut, vous pouvez les laisser en commentaires, comme dans le fichier initial.

Le fichier de configuration autorise la syntaxe de description des expressions régulières.

5.1. Aperçu du fichier de configuration

Le fichier de configuration multipath est divisé en plusieurs sections :

liste noire
Liste des dispositifs spécifiques qui ne seront pas pris en compte pour les trajets multiples.
blacklist_exceptions
Liste des dispositifs à trajets multiples qui seraient autrement ignorés selon les paramètres de la section blacklist.
défauts
Paramètres généraux par défaut pour DM Multipath.
multitrajets
Paramètres des caractéristiques des différents dispositifs à trajets multiples. Ces valeurs remplacent ce qui est spécifié dans les sections overrides, devices, et defaults du fichier de configuration.
dispositifs
Paramètres pour les contrôleurs de stockage individuels. Ces valeurs remplacent celles spécifiées dans la section defaults du fichier de configuration. Si vous utilisez une baie de stockage qui n'est pas prise en charge par défaut, vous devrez peut-être créer une sous-section devices pour votre baie.
dérogations
Paramètres appliqués à tous les appareils. Ces valeurs remplacent ce qui est spécifié dans les sections devices et defaults du fichier de configuration.

Lorsque le système détermine les attributs d'un dispositif à trajets multiples, il vérifie les paramètres des différentes sections du fichier multipath.conf dans l'ordre suivant :

  1. multipaths section
  2. overrides section
  3. devices section
  4. defaults section

5.2. Fichier de configuration par défaut

Le fichier de configuration /etc/multipath.conf contient une section defaults. Cette section comprend la configuration par défaut de Device Mapper (DM) Multipath. Les valeurs par défaut peuvent différer en fonction des paramètres initiaux de l'appareil.

Si vous installez votre machine sur un périphérique à chemins multiples, la configuration par défaut des chemins multiples s'applique automatiquement. Si vous n'avez pas configuré le multipathing lors de l'installation, exécutez la commande to suivante pour obtenir la configuration par défaut :

# mpathconf --enable

La configuration par défaut comprend les éléments suivants :

# For a complete list of the default configuration values, run either
# multipath -t
# or
# multipathd show config
#
# For a list of configuration options with descriptions, see the multipath.conf
# man page
defaults
{         user_friendly_names yes         find_multipaths yes }

Le tableau suivant décrit les attributs définis dans la section defaults du fichier de configuration multipath.conf. Les attributs spécifiés dans la section multipaths ont une priorité plus élevée que les valeurs de la section devices. Les attributs spécifiés dans la section devices ont une priorité plus élevée que les valeurs par défaut. Utilisez la section overrides pour définir les valeurs des attributs pour tous les types de dispositifs, même si ces types de dispositifs ont une entrée de configuration intégrée dans la section devices. La section overrides n'a pas d'attributs obligatoires. Cependant, tout attribut défini dans cette section est prioritaire sur les valeurs des sections devices ou defaults.

Tableau 5.1. Configuration par défaut des chemins multiples

AttributDescription

polling_interval

Spécifie l'intervalle entre deux vérifications du chemin en secondes. Pour des chemins fonctionnant correctement, l'intervalle entre les vérifications augmente progressivement jusqu'à max_polling_interval. La valeur par défaut est 5.

max_polling_interval

Spécifie la longueur maximale de l'intervalle entre deux vérifications du chemin d'accès en secondes.

The default value is 4 * polling_interval.

find_multipaths

Définit le mode de configuration des dispositifs à trajets multiples. Les valeurs disponibles sont les suivantes :

no: Si find_multipaths est défini sur no, multipath applique les règles selon la valeur strict et le démon multipathd applique les règles selon la valeur greedy.

yes: S'il existe au moins deux périphériques qui ne sont pas sur le site blacklist et qui ont le même identificateur mondial (WWID), ou si multipath a créé un périphérique multipath avec un WWID de périphérique auparavant (même si ce périphérique multipath n'est plus présent), le périphérique est traité comme un chemin de périphérique multipath.

greedy: Les sites multipathd et multipath traitent chaque périphérique non inscrit sur la liste noire comme un chemin de périphérique à trajets multiples.

smart: Multipath considère automatiquement que tout périphérique non inscrit sur la liste noire est un périphérique multipath path. Si un second chemin, avec le même WWID, n'apparaît pas dans le délai fixé pour find_multipaths_timeout, multipath libère le périphérique et l'autorise à être utilisé par le reste du système. Le démon multipathd applique les mêmes règles que pour la valeur yes.

strict: Cette valeur ne traite un périphérique comme un chemin d'accès à trajets multiples que si vous créez un périphérique à trajets multiples avec le WWID du périphérique.

La valeur par défaut est off. Le fichier par défaut multipath.conf définit find_multipaths comme yes.

find_multipaths_timeout

Il s'agit du délai d'attente en secondes pour les chemins supplémentaires après la détection du premier, si l'option find_multipaths smart est activée. Les valeurs possibles sont les suivantes :

Positive value: Si la valeur est positive, le délai s'applique à tous les appareils qui ne figurent pas sur la liste noire.

Negative value: S'il est défini avec une valeur négative, le délai ne s'applique qu'aux périphériques connus qui ont une entrée dans la table matérielle multipath, soit dans la table intégrée, soit dans une section device. Les autres périphériques inconnus utilisent un délai de 1 seconde seulement pour éviter les retards de démarrage. Les autres périphériques inconnus utilisent un délai d'attente de seulement 1 seconde pour éviter les retards de démarrage.

0: Le système applique la valeur par défaut intégrée pour cet attribut.

La valeur par défaut pour le matériel connu est -10. Cela signifie que les appareils connus ont un délai d'attente de 10 secondes. Les appareils inconnus ont un délai d'attente de 1 seconde. Si l'attribut find_multipaths a une valeur autre que smart, cet attribut n'a aucun effet.

uxsock_timeout

Définir le délai d'attente des commandes interactives multipathd en millisecondes.

Pour les systèmes comportant un grand nombre d'appareils, les commandes interactives multipathd peuvent dépasser le délai et échouer. Dans ce cas, augmentez ce délai pour résoudre le problème.

La valeur par défaut est 4000.

reassign_maps

Activer la réaffectation des cartes de mappes de périphériques. Avec cette option, le démon multipathd réaffecte les mappes de périphériques existantes pour qu'elles pointent toujours vers le périphérique multipath, et non vers les périphériques de blocs sous-jacents. Les valeurs possibles sont yes et no. La valeur par défaut est no.

verbosity

La valeur de verbosité par défaut est 2. Les valeurs supérieures augmentent le niveau de verbosité. Les niveaux valides se situent entre 0 et 4.

path_selector

Spécifie l'algorithme par défaut à utiliser pour déterminer le chemin à emprunter pour l'opération d'E/S suivante. Les valeurs possibles sont les suivantes :

round-robin 0: Boucle sur tous les chemins du groupe de chemins, en envoyant à chacun le même nombre de demandes d'E/S, déterminé par rr_min_io ou rr_min_io_rq.

queue-length 0: Envoyer le groupe suivant de demandes d'E/S par le chemin ayant le moins de demandes d'E/S en attente.

service-time 0: Envoyer le groupe suivant de demandes d'E/S par le chemin dont le temps de service estimé est le plus court. Ce temps est déterminé en divisant la taille totale des E/S en attente sur chaque chemin par le débit relatif.

La valeur par défaut est service-time 0.

path_grouping_policy

Spécifie la stratégie de groupement de chemins par défaut à appliquer aux chemins multiples non spécifiés. Les valeurs possibles sont les suivantes :

failover: 1 chemin par groupe de priorité.

multibus: Tous les chemins valides dans 1 groupe de priorité.

group_by_serial: 1 groupe de priorité par numéro de série détecté.

group_by_prio: 1 groupe de priorité par valeur de priorité de chemin. Les priorités sont déterminées par l'attribut prio.

group_by_node_name: 1 groupe de priorité par nom de nœud cible. Le répertoire /sys/class/fc_transport/target*/node_name contient les noms des nœuds cibles.

La valeur par défaut est failover.

uid_attrs

Cette option permet d'activer la fusion de uevents par WWID. Cette action peut améliorer l'efficacité du traitement des événements. Il s'agit également d'une méthode alternative pour configurer les propriétés udev à utiliser pour déterminer les identifiants de chemin uniques (WWID).

La valeur de cette option est une liste d'enregistrements séparés par des espaces, comme type:ATTR, où type est comparé au début du nom du nœud du périphérique, et ATTR est le nom de la propriété udev à utiliser pour faire correspondre les périphériques.

Si vous configurez cette option et qu'elle correspond au nom du nœud d'un périphérique, elle remplace toutes les autres méthodes configurées pour déterminer le WWID de ce périphérique.

Vous pouvez activer la fusion uevent en définissant cette valeur sur sd:ID_SERIAL dasd:ID_UID nvme:ID_WWN.

La valeur par défaut est unset.

prio

Spécifie la fonction par défaut à appeler pour obtenir une valeur de priorité de chemin. Par exemple, les bits ALUA dans SPC-3 fournissent une valeur exploitable prio. Les valeurs possibles sont les suivantes :

const: Attribuer une priorité de 1 à tous les chemins.

emc: Génère la priorité des chemins pour les baies EMC.

sysfs: Génère la priorité du chemin à partir de sysfs. Ce prioritizer accepte la valeur optionnelle prio_arg exclusive_pref_bit . La valeur sysfs utilise les attributs sysfs access_state et preferred_path.

alua: Génère la priorité du chemin en fonction des paramètres SCSI-3 ALUA. Si vous spécifiez prio alua et prio_args exclusive_pref_bit dans la configuration de votre périphérique, multipath crée un groupe de chemins qui contient uniquement le chemin avec l'ensemble exclusive_pref_bit et attribue à ce groupe de chemins la priorité la plus élevée. Reportez-vous à la page de manuel multipath.conf(5) pour plus d'informations sur ce type de cas.

ontap: Génère la priorité des chemins d'accès pour les baies NetApp.

rdac: Génère la priorité du chemin pour le contrôleur LSI/Engenio RDAC.

hp_sw: Génère la priorité de chemin pour le contrôleur Compaq/HP en mode actif/standby.

hds: Génère la priorité du chemin pour les baies de stockage Hitachi HDS Modular.

random: Génère une priorité aléatoire entre 1 et 10.

weightedpath: Génère la priorité du chemin en fonction de l'expression régulière et de la priorité fournie en tant qu'argument. Nécessite le mot-clé prio_args.

path_latency: Génère la priorité du chemin sur la base d'un algorithme de latence. Nécessite le mot-clé prio_args.

ana: Génère la priorité du chemin en fonction des paramètres NVMe ANA. Cette routine de priorité dépend du matériel.

datacore: Génère la priorité du chemin pour certaines baies de stockage DataCore. Nécessite le mot-clé prio_args. Cette routine de priorité dépend du matériel.

iet: Génère une priorité de chemin pour les cibles iSCSI en fonction de leur adresse IP. Nécessite le mot-clé prio_args. Cette routine de priorité n'est disponible qu'avec iSCSI.

La valeur par défaut dépend du paramètre detect_prio. Si detect_prio est défini sur yes, l'algorithme de priorité par défaut est sysfs. La seule exception concerne la série E de NetAPP, pour laquelle la valeur par défaut est alua. Si detect_prio est défini sur no, l'algorithme de priorité par défaut est const.

prio_args

Arguments à transmettre à la fonction prio. Ceci ne s'applique qu'aux prioriseurs suivants :

weighted: A besoin d'une valeur de la forme <hbtl,devname,serial,wwn> <regex1> <prio1> <regex2> <prio2>

hbtl: La valeur Regex peut être au format SCSI H:B:T:L. Par exemple : 1:0:.:. , *:0:0:.

devname: La valeur Regex peut être au format du nom de l'appareil. Par exemple : sda, sd.e.

serial: La valeur Regex peut être sous forme de numéro de série. Recherchez serial en passant par sysfs, ou en exécutant la commande multipathd show paths format "%z".

wwn: La valeur Regex peut se présenter sous la forme host_wwnn:host_wwpn:target_wwnn:target_wwpn. Ces valeurs peuvent être recherchées par le biais de sysfs ou en exécutant la commande multipathd show paths format %N:%R:%n:%r".

path_latency: Requiert une valeur sous la forme io_num= <integer> base_num=<integer>.

io_num: Le nombre d'IO de lecture, continuellement envoyés au chemin actuel. Cette valeur permet de calculer la latence moyenne du chemin. Les valeurs valides sont Integer, [2, 200].

base_num: La valeur du nombre de base de l'échelle logarithmique. Cette valeur permet de répartir les différents rangs de priorité. Les valeurs valides sont Integer, [2, 10]. La valeur maximale de la latence moyenne est 100s et la valeur minimale de la latence moyenne est 1us.

alua: Si la valeur exclusive_pref_bit est définie, les chemins dont la valeur preferred_path_bit est définie créent toujours leur propre groupe de chemins.

sysfs: Si la valeur exclusive_pref_bit est définie, les chemins dont la valeur preferred_path_bit est définie créent toujours leur propre groupe de chemins.

datacore: Requiert une valeur de la forme timeout=<milliseconds> preferredsds=<name>.

preferredsds: Cette valeur est obligatoire et représente le nom préféré du SDS.

timeout: Cette valeur est facultative. Définit le délai d'attente pour la demande en millisecondes.

iet: Requiert une valeur de la forme preferredip=<ip_address>.

preferredip: Cette valeur est obligatoire. Il s'agit de l'adresse IP préférée, en notation décimale pointée, pour les cibles iSCSI.

La valeur par défaut est unset.

features

Les caractéristiques supplémentaires par défaut des dispositifs à trajets multiples, au format : "number_of_features_plus_arguments feature1 …​".

Les valeurs possibles pour features sont les suivantes :

queue_if_no_path: C'est la même chose que de régler no_path_retry sur queue.

pg_init_retries n: Réessayer l'initialisation du groupe de chemins jusqu'à n fois avant d'échouer. Le nombre doit être compris entre 1 et 50.

pg_init_delay_msecs msecs: Nombre de millisecondes avant que pg_init n'entame une nouvelle tentative. Ce nombre doit être compris entre 0 et 60000.

queue_mode mode: Sélectionnez le mode de mise en file d'attente par dispositif à trajets multiples. Les valeurs possibles de mode sont bio, rq ou mq, ce qui correspond respectivement à bio-based, request-based et block-multiqueue request-based (blk-mq).

Par défaut, la valeur est unset.

path_checker

Spécifie la méthode par défaut pour déterminer l'état des chemins. Les valeurs possibles sont les suivantes :

readsector0: Lire le premier secteur de l'appareil.

tur: Émettre une commande TEST UNIT READY à l'intention de l'appareil.

emc_clariion: Interroger la page EVPD spécifique à EMC Clariion (0xC0) pour déterminer le chemin d'accès.

hp_sw: Vérifier l'état du chemin d'accès pour les baies de stockage HP dotées d'un micrologiciel actif ou en attente.

rdac: Vérifier l'état du chemin pour le contrôleur de stockage LSI/Engenio RDAC.

directio: Lire le premier secteur avec l'E/S directe.

cciss_tur: Vérifier l'état du chemin pour les contrôleurs HP/COMPAQ Smart Array(CCISS). Cela dépend du matériel.

none: Ne vérifie pas le dispositif. Renvoie à l'utilisation des valeurs récupérées sur sysfs.

La valeur par défaut est tur.

alias_prefix

Cet attribut représente le préfixe user_friendly_names.

La valeur par défaut est mpath.

failback

Gère la reprise des groupes de chemins. Les valeurs possibles sont les suivantes :

immediate: Spécifie un retour immédiat sur le groupe de chemins de priorité la plus élevée qui contient des chemins actifs.

manual: Spécifie qu'il n'y a pas de retour en arrière immédiat, mais que le retour en arrière ne peut se faire qu'avec l'intervention de l'opérateur.

followover: Spécifie que la reprise automatique ne peut être effectuée que lorsque le premier chemin d'un groupe de chemins devient actif. Cela permet d'éviter qu'un nœud ne bascule automatiquement lorsqu'un autre nœud a demandé le basculement.

Une valeur numérique supérieure à zéro spécifie une reprise différée et est exprimée en secondes.

La valeur par défaut est manual.

rr_min_io

Spécifie le nombre de requêtes d'E/S à acheminer vers un chemin avant de passer au chemin suivant dans le groupe de chemins actuel. Ce paramètre ne concerne que les systèmes utilisant des noyaux antérieurs à la version 2.6.31. Les systèmes plus récents doivent utiliser rr_min_io_rq. La valeur par défaut est 1000.

rr_min_io_rq

Spécifie le nombre de requêtes d'E/S à acheminer vers un chemin avant de passer au chemin suivant dans le groupe de chemins actuel. Utilise un device-mapper-multipath basé sur les requêtes. Ce paramètre peut être utilisé sur les systèmes utilisant les noyaux actuels. Sur les systèmes utilisant des noyaux antérieurs à 2.6.31, utilisez rr_min_io. La valeur par défaut est 1.

no_path_retry

Une valeur numérique pour cet attribut spécifie le nombre de fois que le vérificateur de chemin doit échouer pour tous les chemins dans un dispositif à chemins multiples, avant de désactiver la mise en file d'attente.

Une valeur de fail indique une défaillance immédiate, sans mise en file d'attente.

Une valeur de queue indique que la file d'attente ne doit pas s'arrêter tant que le chemin n'est pas fixé.

La valeur par défaut est fail.

user_friendly_names

Les valeurs possibles sont les suivantes :

yes: Spécifie que le système peut utiliser le fichier /etc/multipath/bindings pour attribuer un alias unique et permanent au chemin d'accès multiple, sous la forme mpath<n>.

no: Le système utilise le WWID comme alias pour le chemin multiple. Tout alias spécifique à un périphérique défini dans la section multipaths du fichier de configuration remplace ce nom.

La valeur par défaut est no.

queue_without_daemon

S'il a pour valeur no, le démon multipathd désactive la mise en file d'attente pour tous les périphériques lorsqu'il s'arrête. La valeur par défaut est no.

flush_on_last_del

S'il a pour valeur yes, le démon multipathd désactive la mise en file d'attente lorsque le dernier chemin d'accès à un périphérique est supprimé. La valeur par défaut est no.

max_fds

Définit le nombre maximum de descripteurs de fichiers ouverts qui peuvent être ouverts par multipath et le démon multipathd. Cela équivaut à la commande ulimit -n. La valeur par défaut est max, ce qui correspond à la limite système de /proc/sys/fs/nr_open.

checker_timeout

Le délai d'attente à utiliser pour les hiérarchiseurs et les vérificateurs de chemin qui émettent des commandes SCSI avec un délai d'attente explicite, en secondes. Le répertoire sys/block/sd<x>/device/timeout contient la valeur par défaut.

fast_io_fail_tmo

Le nombre de secondes que la couche SCSI attend après la détection d'un problème sur un port distant FC, avant d'interrompre les E/S vers les périphériques sur ce port distant. Cette valeur doit être inférieure à la valeur de dev_loss_tmo. La valeur de off désactive le délai d'attente. La valeur par défaut est 5. L'option fast_io_fail_tmo remplace les valeurs des options recovery_tmo et replacement_timeout des périphériques de chemin d'accès sous-jacents.

dev_loss_tmo

Le nombre de secondes que la couche SCSI attend après la détection d'un problème sur un port distant FC, avant de le retirer du système. La valeur infinie correspond à 2147483647 secondes, soit 68 ans. Le système d'exploitation détermine la valeur par défaut.

eh_deadline

Spécifie le nombre maximum de secondes que la couche SCSI consacre à la gestion des erreurs en cas de défaillance des périphériques SCSI. Après ce délai, la couche SCSI effectue une réinitialisation complète de l'adaptateur de bus hôte. Ce paramètre est nécessaire dans les cas où rport n'est jamais perdu, de sorte que fast_io_fail_tmo et dev_loss_tmo ne se déclenchent jamais, mais que les commandes scsi restent bloquées. Lorsque le gestionnaire d'erreurs SCSI effectue la réinitialisation de l'adaptateur de bus hôte, cela affecte tous les chemins cibles de cet adaptateur de bus hôte. La valeur eh_deadline ne doit être définie que dans les cas où toutes les cibles des adaptateurs de bus hôte affectés sont à chemins multiples.

La valeur par défaut est unset.

detect_prio

Si ce paramètre est défini sur yes, multipath détecte si le périphérique est un périphérique SCSI qui prend en charge l'accès aux unités logiques asymétriques (ALUA) ou un périphérique NVMe qui prend en charge l'accès asymétrique à l'espace de noms (ANA). Si le périphérique prend en charge ALUA, multipath lui attribue automatiquement le prioritizer alua. Si le périphérique prend en charge l'ANA, le multipath lui attribue automatiquement le prioritizer ana.

Si detect_prio est défini sur no, ou si le dispositif ne prend pas en charge ALUA ou ANA, l'attribut prio définit le prioritizer.

La valeur par défaut est yes.

uid_attribute

Spécifie l'attribut udev à utiliser pour le WWID de l'appareil.

La valeur par défaut dépend du périphérique : ID_SERIAL pour les périphériques SCSI, ID_UID pour les périphériques DASD et ID_WWN pour les périphériques NVMe.

force_sync

S'il est défini à yes, ce paramètre empêche les vérificateurs de chemin d'accès de fonctionner en mode asynchrone. Cela signifie qu'un seul vérificateur s'exécute à la fois. Ceci est utile dans les cas où de nombreux vérificateurs multipathd s'exécutent en parallèle, et peut causer une pression importante sur le processeur.

La valeur par défaut est no.

strict_timing

S'il a pour valeur yes, le démon multipathd démarre une nouvelle boucle de vérification de chemin après exactement une seconde, de sorte que chaque vérification de chemin se produise aux secondes exactement définies pour polling_interval. Sur les systèmes très sollicités, la vérification des chemins peut prendre plus d'une seconde. Les ticks manquants sont pris en compte dans le tour suivant. Un avertissement s'affiche si les vérifications de chemin prennent plus de temps que les secondes définies pour polling_interval.

La valeur par défaut est no.

retrigger_tries, retrigger_delay

Utilisez les paramètres retrigger_tries et retrigger_delay en conjonction pour que multipathd redéclenche les uevents. Si udev ne parvient pas à traiter complètement l'original uevents, multipath ne peut pas utiliser le dispositif. Le paramètre retrigger_tries définit le nombre de fois que multipath tente de redéclencher un uevent, dans le cas où un dispositif n'est pas complètement configuré. Le paramètre retrigger_delay définit le nombre de secondes entre les tentatives. Ces deux options acceptent des nombres supérieurs ou égaux à 0. La définition du paramètre retrigger_tries sur 0 désactive les tentatives de redéclenchement. La définition du paramètre retrigger_delay sur 0 entraîne la réémission de uevent lors de la prochaine boucle du vérificateur de chemin.

La valeur par défaut de retrigger_tries est 3. La valeur par défaut de retrigger_delay est 10.

missing_uev_wait_timeout

Cet attribut contrôle le nombre de secondes pendant lesquelles le démon multipathd attend de recevoir un événement de changement de udev pour un périphérique multipath nouvellement créé. Ensuite, il active automatiquement les rechargements de périphériques. Dans la plupart des cas, multipathd retarde les rechargements sur un périphérique jusqu'à ce qu'il reçoive un changement uevent du chargement initial de la table.

La valeur par défaut est 30.

deferred_remove

Si la valeur est yes, multipathd effectue une suppression différée, au lieu d'une suppression normale, lorsque le dernier périphérique de chemin d'accès est supprimé. Cela garantit que si un périphérique à plusieurs chemins est en cours d'utilisation lorsqu'une suppression régulière est effectuée et que celle-ci échoue, le périphérique est automatiquement supprimé lorsque le dernier utilisateur ferme le périphérique. La valeur par défaut est no.

san_path_err_threshold, san_path_err_forget_rate, san_path_err_recovery_time

Si vous donnez à ces trois attributs une valeur supérieure à zéro, ils permettent au démon multipathd d'empêcher la réintégration des chemins douteux, en surveillant la fréquence des échecs du vérificateur de chemins. Si un vérificateur de chemin échoue plus souvent que la valeur de l'attribut san_path_err_threshold, dans les vérifications san_path_err_forget_rate, le démon multipathd ne rétablit pas le chemin tant que la valeur de l'attribut san_path_err_recovery_time en secondes ne s'est pas écoulée, sans qu'aucun vérificateur de chemin n'ait échoué.

Voir la section Shaky paths detection du site multipath.conf(5) pour plus d'informations.

La valeur par défaut est no.

marginal_path_double_failed_time, marginal_path_err_sample_time, marginal_path_err_rate_threshold, marginal_path_err_recheck_gap_time

Si marginal_path_double_failed_time, marginal_path_err_rate_threshold, et marginal_path_err_recheck_gap_time sont définis sur des entiers supérieurs à 0 et que marginal_path_err_sample_time est défini sur un entier supérieur à 120, ils permettent au démon multipathd d'empêcher les chemins douteux de se rétablir, en testant le taux d'échec des entrées/sorties des chemins qui échouent de manière répétée.

Si un chemin échoue deux fois pendant la période définie dans l'attribut marginal_path_double_failed_time en secondes, le démon multipathd ne le rétablit pas immédiatement lorsque le vérificateur de chemin détermine qu'il est rétabli. Au lieu de cela, multipathd émet un flux régulier d'E/S de lecture vers le chemin pour la valeur définie dans l'attribut marginal_path_err_sample_time en secondes. Si le nombre d'erreurs par millier d'E/S est supérieur à la valeur définie dans l'attribut marginal_path_err_rate_threshold, multipathd attend marginal_path_err_recheck_gap_time secondes, puis lance un autre cycle de test du chemin avec des E/S de lecture. Dans le cas contraire, multipathd rétablit le chemin.

Voir la section Shaky paths detection du site multipath.conf(5) pour plus d'informations.

La valeur par défaut est no.

marginal_pathgroups

Les valeurs possibles sont les suivantes :

on: Lorsque l'une des méthodes de détection des chemins marginaux détermine qu'un chemin est marginal, le système rétablit le chemin et le place dans un groupe de chemins distinct. Ce groupe n'entre en vigueur qu'après que tous les groupes de chemins non marginaux ont été essayés. Cela permet d'éviter que des erreurs d'entrée-sortie se produisent alors que le système peut encore utiliser certains chemins marginaux. Le chemin retourne dans un groupe de chemins normal dès qu'il n'est plus surveillé pendant une période configurée.

off: Les attributs delay_*_checks, marginal_path_* et san_path_err_* empêchent le système de rétablir les chemins d'accès marginal ou shaky tant qu'ils n'ont pas été contrôlés pendant une période configurée.

fpin: Le démon multipathd reçoit les notifications fpin, définit l'état des chemins à marginal et regroupe les chemins, comme décrit pour la valeur on.

Les attributs marginal_path_* et san_path_err_* sont implicitement fixés à no.

Voir la section Shaky paths detection du site multipath.conf(5) pour plus d'informations.

La valeur par défaut est no.

log_checker_err

Si la valeur est once, multipathd enregistre la première erreur du vérificateur de chemin d'accès au niveau de verbosité 2. Le système consigne toute autre erreur au niveau de verbosité 3, jusqu'à ce que le périphérique soit restauré. Si le paramètre log_checker_err est défini sur always, multipathd enregistre toujours l'erreur du vérificateur de chemin au niveau de verbosité 2. La valeur par défaut est always.

skip_kpartx

Si la valeur est yes, kpartx ne crée pas automatiquement de partitions sur le périphérique. Cela vous permet de créer un périphérique à chemins multiples sans créer de partitions, même si le périphérique dispose d'une table de partition. La valeur par défaut de cette option est no.

max_sectors_kb

Cette option permet de définir le paramètre de file d'attente de périphérique max_sectors_kb à la valeur spécifiée sur tous les chemins sous-jacents d'un périphérique à chemins multiples, avant la première activation d'un périphérique à chemins multiples. Chaque fois que le système crée un nouveau périphérique à chemins multiples, celui-ci hérite de la valeur max_sectors_kb des périphériques de chemin d'accès. L'augmentation manuelle de cette valeur pour le périphérique à chemins multiples ou la diminution de cette valeur pour les périphériques de chemin d'accès peut entraîner la création d'opérations d'E/S plus importantes que celles autorisées par les périphériques de chemin d'accès. L'utilisation du paramètre max_sectors_kb est un moyen simple de définir ces valeurs, avant la création d'un périphérique multipath au-dessus des périphériques de chemin, et d'empêcher le passage d'opérations d'E/S de taille non valide. Si vous ne définissez pas ce paramètre, le pilote des périphériques de chemin d'accès le fait automatiquement et le périphérique à chemins d'accès multiples hérite de ce paramètre des périphériques de chemin d'accès.

ghost_delay

Cet attribut définit le nombre de secondes qu'attend le multipath après avoir créé un périphérique ne comportant que des chemins fantômes, avant de le marquer comme prêt à être utilisé dans systemd. Cela donne aux chemins actifs le temps d'apparaître avant que le multipath n'exécute le gestionnaire de matériel pour transformer les chemins fantômes en chemins actifs.

En fixant cette valeur à 0 ou no, multipath marque immédiatement comme prêt un périphérique qui n'a que des chemins fantômes.

La valeur par défaut est no.

enable_foreign

Cet attribut active ou désactive les bibliothèques étrangères.

La valeur est une expression régulière. Les bibliothèques étrangères sont chargées si leur nom correspond à l'expression.

Par défaut, aucune bibliothèque étrangère n'est activée. Utilisez nvme pour activer la prise en charge des chemins multiples natifs NVMe ou “.*” pour activer toutes les bibliothèques étrangères.

recheck_wwid

S'il est défini sur yes, lorsqu'un chemin défaillant est restauré, le démon multipathd vérifie à nouveau le WWID du chemin. En cas de modification du WWID, le chemin est supprimé du périphérique multipath actuel et ajouté à nouveau en tant que nouveau chemin. Le démon multipathd vérifie également à nouveau le WWID du chemin s'il est réajouté manuellement.

Cette option ne fonctionne que pour les périphériques SCSI configurés pour utiliser les valeurs par défaut uid_attribute, ID_SERIAL, ou sysfs, pour obtenir leur WWID.

La valeur par défaut est no.

remove_retries

Cette option définit le nombre de tentatives de retrait d'un périphérique en cours d'utilisation. Entre chaque tentative, multipath devient inactif pendant 1 seconde. La valeur par défaut est 0, ce qui signifie que multipath ne retente pas la suppression.

detect_checker

S'il est défini sur yes, multipath vérifie si le périphérique prend en charge ALUA ou Redundant Disk Array Controller (RDAC). Si le périphérique prend en charge ALUA, multipath lui attribue l'adresse tur path_checker . Si le périphérique prend en charge RDAC, le démon multipathd lui attribue rdac path_checker . Si le périphérique ne prend pas en charge ALUA ou RDAC, ou si l'attribut detect_checker est défini sur no, l'attribut path_checker définit le vérificateur de chemin.

La valeur par défaut est yes.

reservation_key

Le paramètre mpathpersist utilise cette clé de réservation d'action de service. Il doit être défini pour tous les dispositifs à trajets multiples utilisant des réservations persistantes et doit être identique au champ RESERVATION KEY de la liste de paramètres PERSISTENT RESERVE OUT, qui contient une valeur de 8 octets fournie par le client de l'application au serveur de dispositifs pour identifier le nexus I_T. Si vous utilisez l'option --param-aptpl lors de l'enregistrement de la clé avec mpathpersist, vous devez ajouter :aptpl à la fin de la clé de réservation.

Ce paramètre peut également être défini sur file, ce qui permet à mpathpersist de stocker automatiquement dans le fichier prkeys la clé RESERVATION KEY utilisée pour enregistrer le périphérique à chemins multiples. Le démon multipathd utilise ensuite cette clé pour enregistrer les chemins supplémentaires au fur et à mesure qu'ils apparaissent. Lorsque vous supprimez l'enregistrement, vous supprimez automatiquement la clé RESERVATION KEY du fichier prkeys. Il s'agit de unset par défaut. Si des réservations persistantes sont nécessaires, il est recommandé de définir cet attribut sur file.

all_tg_pt

Si cette option est définie sur yes lorsque mpathpersist enregistre des clés, elle traite une clé enregistrée d'un hôte à un port cible comme allant d'un hôte à tous les ports cibles. Cette option doit être définie à yes pour utiliser avec succès mpathpersist sur les matrices qui définissent et effacent automatiquement les clés d'enregistrement sur tous les ports cibles à partir d'un hôte, au lieu de le faire par port cible et par hôte. La valeur par défaut est no.

Ressources supplémentaires

  • multipath.conf(5) page de manuel

5.3. Section multipaths du fichier de configuration

Définissez les attributs de chaque périphérique multipath en utilisant la section multipaths du fichier de configuration multipath.conf. Device Mapper (DM) Multipath utilise ces attributs pour remplacer tous les autres paramètres de configuration, y compris ceux de la section overrides. Reportez-vous à la section "Configuration file overrides" pour obtenir la liste des attributs de la section overrides.

La section multipaths ne reconnaît que la sous-section multipath comme attribut. Le tableau suivant présente les attributs que vous pouvez définir dans la sous-section multipath, pour chaque dispositif à trajets multiples spécifique. Ces attributs ne s'appliquent qu'à une seule voie multiple spécifiée. Si plusieurs sous-sections multipath correspondent à un identifiant WWID (World Wide Identifier) de périphérique spécifique, le contenu de ces sous-sections est fusionné. Les paramètres des dernières entrées sont prioritaires sur les versions précédentes.

Tableau 5.2. Attributs des sous-sections à chemins multiples

AttributDescription

wwid

Spécifie le WWID du périphérique à trajets multiples auquel s'appliquent les attributs de trajets multiples. Ce paramètre est obligatoire pour cette section du fichier multipath.conf.

alias

Spécifie le nom symbolique du périphérique multipath auquel s'appliquent les attributs multipath. Si vous utilisez user_friendly_names, ne donnez pas à cette valeur la valeur mpath <n>, car cela pourrait entraîner des conflits avec un nom convivial attribué automatiquement et vous donner des noms de nœuds de périphériques incorrects.

Les attributs de la liste suivante sont facultatifs. Si vous ne les définissez pas, les valeurs par défaut des sections overrides, devices ou defaults s'appliquent. Pour une description complète de ces attributs, reportez-vous à la section Valeurs par défaut du fichier de configuration.

  • path_grouping_policy
  • path_selector
  • prio
  • prio_args
  • failback
  • no_path_retry
  • rr_min_io
  • rr_min_io_rq
  • flush_on_last_del
  • features
  • reservation_key
  • user_friendly_names
  • deferred_remove
  • san_path_err_threshold
  • san_path_err_forget_rate
  • san_path_err_recovery_time
  • marginal_path_err_sample_time
  • marginal_path_err_rate_threshold
  • marginal_path_err_recheck_gap_time
  • marginal_path_double_failed_time
  • delay_watch_checks
  • delay_wait_checks
  • skip_kpartx
  • max_sectors_kb
  • ghost_delay

L'exemple suivant montre les attributs multipath spécifiés dans le fichier de configuration pour deux périphériques multipath spécifiques. Le premier périphérique a un WWID de 3600508b4000156d70001200000b0000 et un nom symbolique de yellow.

Le deuxième périphérique multipath de l'exemple a un WWID de 1DEC_321816758474 et un nom symbolique de red.

Exemple 5.1. Spécification des attributs des chemins multiples

multipaths {
       multipath {
              wwid                  3600508b4000156d70001200000b0000
              alias                 yellow
              path_grouping_policy  multibus
              path_selector         "round-robin 0"
              failback              manual
              no_path_retry         5
       }
       multipath {
              wwid                  1DEC_321816758474
              alias                 red
        }
}

Ressources supplémentaires

5.4. Section des dispositifs du fichier de configuration

La section devices du fichier de configuration multipath.conf permet de définir les paramètres des différents types de contrôleurs de stockage. Les valeurs définies dans cette section remplacent les valeurs spécifiées dans la section defaults.

Le système identifie les types de contrôleur de stockage par les mots-clés vendor, product, et revision. Ces mots-clés sont des expressions régulières et doivent correspondre aux informations de sysfs sur le périphérique spécifique.

La section devices ne reconnaît que la sous-section device comme attribut. Si plusieurs mots-clés correspondent à un dispositif, les attributs de toutes les entrées correspondantes s'appliquent à ce dispositif. Si un attribut est spécifié dans plusieurs sous-sections device correspondantes, les versions ultérieures des entrées ont la priorité sur les entrées précédentes.

Important

Les attributs de configuration de la dernière version des sous-sections device remplacent les attributs des sous-sections devices précédentes et de la section defaults.

Le tableau suivant présente les attributs que vous pouvez définir dans la sous-section device.

Tableau 5.3. Attributs de la section Appareils

AttributDescription

vendor

Spécifie l'expression régulière qui doit correspondre au nom du fournisseur de l'appareil. Cet attribut est obligatoire.

product

Spécifie l'expression régulière qui doit correspondre au nom du produit de l'appareil. Cet attribut est obligatoire.

revision

Spécifie l'expression régulière qui doit correspondre à la révision du produit de l'appareil. Si l'attribut de révision est manquant, toutes les révisions de l'appareil sont prises en compte.

product_blacklist

Multipath utilise cet attribut pour créer une entrée de périphérique blacklist dont l'attribut vendor correspond à l'attribut vendor de cette entrée de périphérique et dont l'attribut product correspond à l'attribut product_blacklist.

vpd_vendor

Affiche les informations de la page Vital Product Data (VPD) spécifique au fournisseur, en utilisant l'abréviation de la page VPD.

Le démon multipathd utilise ces informations pour recueillir des informations spécifiques à l'appareil. Actuellement, seule la page hp3par VPD est prise en charge.

hardware_handler

Spécifie le gestionnaire de matériel à utiliser pour un type de périphérique particulier. Toutes les valeurs possibles dépendent du matériel et comprennent

emc: Gestionnaire de matériel pour les baies de classe DGC, telles que CLARiiON CX/AX et les familles EMC VNX et Unity.

rdac: Gestionnaire de matériel pour la classe RDAC de LSI/Engenio/NetApp, comme la série NetApp SANtricity E/EF, et les baies OEM d'IBM DELL SGI STK et SUN.

hp_sw: Gestionnaire de matériel pour les baies HP/COMPAQ/DEC HSG80 et MSA/HSV avec le mode Active/Standby exclusivement.

alua: Gestionnaire matériel pour les matrices compatibles SCSI-3 ALUA.

ana: Gestionnaire de matériel pour les matrices compatibles NVMe ANA.

La valeur par défaut est unset.

Important

les noyaux Linux, à partir de la version 4.3, attachent automatiquement un gestionnaire de périphérique aux périphériques connus. Cela inclut tous les périphériques supportant SCSI-3 ALUA). Le noyau ne permet pas de modifier le gestionnaire ultérieurement. Définir l'attribut hardware_handler pour de tels périphériques sur ces noyaux n'a aucun effet.

Les attributs de la liste suivante sont facultatifs. Si vous ne les définissez pas, les valeurs par défaut des sections defaults s'appliquent. Pour une description complète de ces attributs, reportez-vous à la section Défauts des fichiers de configuration.

  • path_grouping_policy
  • uid_attribute
  • getuid_callout
  • path_selector
  • path_checker
  • prio
  • prio_args
  • failback
  • alias_prefix
  • no_path_retry
  • rr_min_io
  • rr_min_io_rq
  • flush_on_last_del
  • features
  • reservation_key
  • user_friendly_names
  • deferred_remove
  • san_path_err_threshold
  • san_path_err_forget_rate
  • san_path_err_recovery_time
  • marginal_path_err_sample_time
  • marginal_path_err_rate_threshold
  • marginal_path_err_recheck_gap_time
  • marginal_path_double_failed_time
  • delay_watch_checks
  • delay_wait_checks
  • skip_kpartx
  • max_sectors_kb
  • ghost_delay
  • all_tg_pt

Ressources supplémentaires

5.5. Le fichier de configuration remplace la section

La section overrides reconnaît la sous-section facultative protocol et peut contenir plusieurs sous-sections protocol. Le système compare les dispositifs de chemin d'accès à la sous-section protocol, en utilisant l'attribut obligatoire type. Les attributs d'une sous-section protocol correspondante sont prioritaires sur les attributs du reste de la section overrides. S'il existe plusieurs sous-sections protocol correspondantes, les entrées les plus récentes ont une priorité plus élevée.

Les attributs de la liste suivante sont facultatifs. Si vous ne les définissez pas, les valeurs par défaut des sections devices ou defaults s'appliquent.

  • path_grouping_policy
  • uid_attribute
  • getuid_callout
  • path_selector
  • path_checker
  • alias_prefix
  • features
  • prio
  • prio_args
  • failback
  • no_path_retry
  • rr_min_io
  • rr_min_io_rq
  • flush_on_last_del
  • fast_io_fail_tmo
  • dev_loss_tmo
  • eh_deadline
  • user_friendly_names
  • retain_attached_hw_handler
  • detect_prio
  • detect_checker
  • deferred_remove
  • san_path_err_threshold
  • san_path_err_forget_rate
  • san_path_err_recovery_time
  • marginal_path_err_sample_time
  • marginal_path_err_rate_threshold
  • marginal_path_err_recheck_gap_time
  • marginal_path_double_failed_time
  • delay_watch_checks
  • delay_wait_checks
  • skip_kpartx
  • max_sectors_kb
  • ghost_delay
  • all_tg_pt

La sous-section protocol reconnaît l'attribut obligatoire suivant :

Tableau 5.4. Attribut de la sous-section du protocole

AttributDescription

type

Spécifie la chaîne de protocole du dispositif de chemin d'accès. Les valeurs possibles sont les suivantes :

scsi:fcp, scsi:spi, scsi:ssa, scsi:sbp, scsi:srp, scsi:iscsi, scsi:sas, scsi:adt, scsi:ata, scsi:unspec, ccw, cciss, nvme, undef

Cet attribut n'est pas une expression régulière. La chaîne du protocole du dispositif de chemin d'accès doit correspondre exactement.

Les attributs de la liste suivante sont facultatifs pour la sous-section protocol. Si vous ne les définissez pas, les valeurs par défaut des sections overrides, devices ou defaults s'appliquent.

  • fast_io_fail_tmo
  • dev_loss_tmo
  • eh_deadline

Ressources supplémentaires

5.6. DM Multipath overrides of the device timeout (dépassement du délai d'attente de l'appareil)

L'option recovery_tmo sysfs contrôle le délai d'attente pour un périphérique iSCSI particulier. Les options suivantes remplacent globalement les valeurs de recovery_tmo:

  • L'option de configuration replacement_timeout remplace globalement la valeur recovery_tmo pour tous les périphériques iSCSI.
  • Pour tous les dispositifs iSCSI gérés par DM Multipath, l'option fast_io_fail_tmo de DM Multipath remplace globalement la valeur recovery_tmo.

    L'option fast_io_fail_tmo de DM Multipath remplace également l'option fast_io_fail_tmo des périphériques Fibre Channel.

L'option DM Multipath fast_io_fail_tmo est prioritaire sur replacement_timeout. Red Hat ne recommande pas l'utilisation de replacement_timeout pour remplacer recovery_tmo dans les périphériques gérés par DM Multipath car DM Multipath réinitialise toujours recovery_tmo, lorsque le service multipathd est rechargé.

5.7. Modification des valeurs par défaut du fichier de configuration multipath

Le fichier de configuration /etc/multipath.conf comprend une section defaults qui fixe le paramètre user_friendly_names à yes, comme suit.

defaults {
        user_friendly_names yes
}

Cela écrase la valeur par défaut du paramètre user_friendly_names. Les valeurs par défaut définies dans la section defaults du fichier multipath.conf file sont utilisées par DM Multipath à moins qu'elles ne soient écrasées par les attributs spécifiés dans les sections devices, multipath ou overrides du fichier multipath.conf.

Procédure

  1. Affichez le fichier de configuration de /etc/multipath.conf, qui comprend un modèle de configuration par défaut :

    #defaults {
    #       polling_interval        10
    #       path_selector           "round-robin 0"
    #       path_grouping_policy    multibus
    #       uid_attribute           ID_SERIAL
    #       prio                    alua
    #       path_checker            readsector0
    #       rr_min_io               100
    #       max_fds                 8192
    #       rr_weight               priorities
    #       failback                immediate
    #       no_path_retry           fail
    #       user_friendly_names     yes
    #}
  2. Remplacer la valeur par défaut de n'importe quel paramètre de configuration. Vous pouvez copier la ligne correspondante de ce modèle dans la section defaults et la décommenter.

    Par exemple, pour remplacer le paramètre path_grouping_policy par multibus au lieu de la valeur par défaut failover, copiez la ligne appropriée du modèle dans la section des valeurs par défaut initiales du fichier de configuration et décommentez-la comme suit :

    defaults {
            user_friendly_names     yes
            path_grouping_policy    multibus
    }
  3. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  4. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

Ressources supplémentaires

  • multipath.conf(5) et multipathd(8) pages de manuel

5.8. Modifier les paramètres des trajets multiples pour des appareils spécifiques

Dans la section multipaths du fichier de configuration multipath.conf, vous pouvez ajouter des configurations spécifiques à un périphérique multipath individuel, référencées par le paramètre obligatoire WWID.

Ces valeurs par défaut sont utilisées par DM Multipath et remplacent les attributs définis dans les sections overrides, defaults et devices du fichier multipath.conf. La section multipaths peut contenir un nombre quelconque de sous-sections multipath.

Procédure

  1. Modifiez la section multipaths pour un dispositif à trajets multiples spécifique. L'exemple suivant montre les attributs multipath spécifiés dans le fichier de configuration pour deux dispositifs multipath spécifiques :

    • Le premier dispositif a un WWID de 3600508b4000156d70001200000b0000 et un nom symbolique de yellow.
    • Le deuxième périphérique à trajets multiples de l'exemple a un WWID de 1DEC_321816758474 et un nom symbolique de red.

    Dans cet exemple, l'attribut rr_weight est défini comme priorities.

    multipaths {
           multipath {
                  wwid                  3600508b4000156d70001200000b0000
                  alias                 yellow
                  path_grouping_policy  multibus
                  path_selector         "round-robin 0"
                  failback              manual
                  rr_weight             priorities
                  no_path_retry         5
           }
           multipath {
                  wwid                  1DEC_321816758474
                  alias                 red
                  rr_weight             priorities
            }
    }
  2. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  3. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

Ressources supplémentaires

  • multipath.conf(5) page de manuel

5.9. Modifier la configuration des trajets multiples pour des appareils spécifiques avec le protocole

Vous pouvez configurer les chemins d'accès des périphériques à trajets multiples en fonction de leur protocole de transport. En utilisant la sous-section protocol de la section overrides du fichier /etc/multipath.conf, vous pouvez remplacer les paramètres de configuration des chemins d'accès multiples sur certains chemins. Cela permet d'accéder aux périphériques à chemins multiples via plusieurs protocoles de transport, tels que Fiber Channel (FC) ou Internet Small Computer Systems Interface (iSCSI).

Les options définies dans la sous-section protocol remplacent les valeurs des sections overrides, devices et defaults. Ces options ne s'appliquent qu'aux dispositifs utilisant un protocole de transport correspondant au paramètre type de la sous-section.

Conditions préalables

  • Vous avez configuré Device Mapper (DM) multipath dans votre système.
  • Vous disposez d'appareils à chemins multiples dont les chemins n'utilisent pas tous le même protocole de transport.

Procédure

  1. Affichez le protocole du chemin d'accès spécifique en exécutant la commande suivante :

    # multipathd show paths format "%d %P"
    dev protocol
    sda scsi:ata
    sdb scsi:fcp
    sdc scsi:fcp
  2. Modifier la section overrides du fichier /etc/multipath.conf en ajoutant des sous-sections protocol pour chaque type de voie multiple.

    • Paramètres pour les dispositifs de chemin d'accès qui utilisent le protocole scsi:fcp:

      overrides {
              dev_loss_tmo 60
              fast_io_fail_tmo 8
              protocol {
                      type "scsi:fcp"
                      dev_loss_tmo 70
                      fast_io_fail_tmo 10
                      eh_deadline 360
              }
    • Paramètres pour les dispositifs de chemin d'accès qui utilisent le protocole scsi:iscsi:

      overrides {
              dev_loss_tmo 60
              fast_io_fail_tmo 8
              protocol {
                      type "scsi:iscsi"
                      dev_loss_tmo 60
                      fast_io_fail_tmo 120
              }
    • Paramètres pour les dispositifs de chemin d'accès, qui utilisent tous les autres protocoles :

      overrides {
              dev_loss_tmo 60
              fast_io_fail_tmo 8
              protocol {
                      type "<type of protocol>"
                      dev_loss_tmo 60
                      fast_io_fail_tmo 8
              }

La section overrides peut comprendre plusieurs sous-sections protocol.

Important

La sous-section protocol doit inclure un paramètre type. La configuration de tous les chemins ayant un paramètre type correspondant est alors mise à jour avec le reste des paramètres énumérés dans la sous-section protocol.

Ressources supplémentaires

  • multipath.conf(5) page de manuel

5.10. Modification des paramètres multipath pour les contrôleurs de stockage

La section devices du fichier de configuration multipath.conf définit les attributs des différents périphériques de stockage. Ces attributs sont utilisés par DM Multipath à moins qu'ils ne soient remplacés par les attributs spécifiés dans les sections multipaths ou overrides du fichier multipath.conf pour les chemins d'accès qui contiennent le périphérique. Ces attributs remplacent les attributs définis dans la section defaults du fichier multipath.conf.

Procédure

  1. Voir les informations sur la valeur de configuration par défaut, y compris les appareils pris en charge :

    # multipathd show config
    # multipath -t

    De nombreux dispositifs prenant en charge le multipathing sont inclus par défaut dans une configuration multipath.

  2. Facultatif : Si vous devez modifier les valeurs de configuration par défaut, vous pouvez les écraser en incluant une entrée dans le fichier de configuration de l'appareil qui écrase ces valeurs. Vous pouvez copier les valeurs par défaut de la configuration du périphérique que la commande multipathd show config affiche et remplacer les valeurs que vous souhaitez modifier.
  3. Ajoutez un appareil qui n'est pas configuré automatiquement par défaut à la section devices du fichier de configuration en définissant les paramètres vendor et product. Vous trouverez ces valeurs en ouvrant les fenêtres /sys/block/device_name/device/vendor et /sys/block/device_name/device/modeldevice_name est le dispositif à multipatcher, comme indiqué dans l'exemple suivant :

    # cat /sys/block/sda/device/vendor
    WINSYS
    # cat /sys/block/sda/device/model
    SF2372
  4. Facultatif : Spécifiez les paramètres supplémentaires en fonction de votre appareil spécifique :

    active/active dispositif
    Il n'est généralement pas nécessaire de définir des paramètres supplémentaires dans ce cas. Si nécessaire, vous pouvez définir path_grouping_policy en multibus. Les autres paramètres à définir sont no_path_retry et rr_min_io.
    active/passive dispositif
    S'il commute automatiquement les chemins avec des E/S vers le chemin passif, vous devez changer la fonction de vérification pour une fonction qui n'envoie pas d'E/S vers le chemin pour tester s'il fonctionne, sinon votre périphérique continuera à échouer. Cela signifie que vous avez réglé path_checker sur tur, ce qui fonctionne pour tous les périphériques SCSI qui supportent la commande Test Unit Ready, ce qui est le cas de la plupart d'entre eux.

    Si le périphérique a besoin d'une commande spéciale pour changer de chemin, la configuration de ce périphérique pour les chemins multiples nécessite un module noyau de gestion du matériel. Le gestionnaire de matériel actuellement disponible est emc. S'il n'est pas suffisant pour votre périphérique, il se peut que vous ne puissiez pas configurer le périphérique pour les chemins multiples.

    L'exemple suivant montre une entrée device dans le fichier de configuration multipath :

    #	}
    #	device {
    #		vendor			"COMPAQ  "
    #		product			"MSA1000         "
    #		path_grouping_policy	multibus
    #		path_checker		tur
    #		rr_weight		priorities
    #	}
    #}
  5. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  6. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

Ressources supplémentaires

  • multipath.conf(5) et multipathd(8) pages de manuel

5.11. Réglage des valeurs de trajets multiples pour tous les appareils

La section overrides du fichier de configuration multipath.conf vous permet de définir une valeur de configuration pour tous vos appareils. Cette section prend en charge tous les attributs pris en charge par les sections devices et defaults du fichier de configuration multipath.conf, c'est-à-dire tous les attributs de la section devices, à l'exception de vendor, product et revision.

DM Multipath utilise ces attributs pour tous les périphériques, à moins qu'ils ne soient remplacés par les attributs spécifiés dans la section multipaths du fichier multipath.conf pour les chemins qui contiennent le périphérique. Ces attributs remplacent les attributs définis dans les sections devices et defaults du fichier multipath.conf.

Procédure

  1. Remplacer les paramètres spécifiques à un appareil. Par exemple, vous pourriez vouloir que tous les dispositifs définissent no_path_retry comme fail. Utilisez la commande suivante pour désactiver la mise en file d'attente, lorsque tous les chemins ont échoué. Cette commande est prioritaire sur tous les paramètres spécifiques au dispositif.

    overrides {
            no_path_retry fail
    }
  2. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  3. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

Ressources supplémentaires

  • multipath.conf(5) page de manuel

Chapitre 6. Empêcher les dispositifs de multipathing

Vous pouvez configurer DM Multipath pour qu'il ignore les appareils sélectionnés lorsqu'il configure des appareils à trajets multiples. DM Multipath ne regroupe pas ces appareils ignorés dans un appareil à trajets multiples.

6.1. Conditions de création par DM Multipath d'un dispositif multipath pour un chemin

DM Multipath dispose d'un ensemble de règles par défaut pour déterminer s'il convient de créer un périphérique multipath pour un chemin ou d'ignorer le chemin. Vous pouvez configurer le comportement.

Si le paramètre de configuration find_multipaths a la valeur off, multipath tente toujours de créer un périphérique multipath pour chaque chemin qui n'est pas explicitement désactivé. Si le paramètre de configuration find_multipaths a la valeur on, multipath ne crée un périphérique que si l'une des conditions suivantes est remplie :

  • Il y a au moins deux chemins avec la même identification mondiale (WWID) qui ne sont pas désactivés.
  • Vous forcez manuellement la création du dispositif en spécifiant un dispositif à l'aide de la commande multipath.
  • Un chemin a le même WWID qu'un périphérique multipath créé précédemment, même si ce périphérique n'existe pas encore. Chaque fois qu'un périphérique multipath est créé, multipath se souvient du WWID du périphérique de sorte qu'il crée automatiquement le périphérique à nouveau dès qu'il voit un chemin avec ce WWID. Cela permet à multipath de choisir automatiquement les chemins corrects à transformer en périphériques multipath, sans avoir à désactiver le multipathing sur d'autres périphériques.

Si vous avez précédemment créé un dispositif à chemins multiples sans utiliser le paramètre find_multipaths et que vous définissez ensuite le paramètre à on, vous devrez peut-être supprimer du fichier /etc/multipath/wwids les WWID de tout dispositif que vous ne souhaitez pas voir créé en tant que dispositif à chemins multiples. L'exemple suivant montre un exemple de fichier /etc/multipath/wwids. Les WWID sont entourés de barres obliques (/) :

# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/3600d0230000000000e13955cc3757802/
/3600d0230000000000e13955cc3757801/
/3600d0230000000000e13955cc3757800/
/3600d02300069c9ce09d41c31f29d4c00/
/SWINSYS  SF2372         0E13955CC3757802/
/3600d0230000000000e13955cc3757803/

En plus de on et off, vous pouvez également définir find_multipaths avec les valeurs suivantes :

strict
Multipath n'accepte jamais les chemins qui n'ont pas été multipatchés auparavant et qui ne se trouvent donc pas dans le fichier /etc/multipath/wwids.
smart
Multipath accepte toujours les dispositifs non désactivés dans udev dès qu'ils apparaissent. Si multipathd ne crée pas le dispositif dans le délai fixé avec le paramètre find_multipaths_timeout, il abandonne son droit sur le dispositif.

La valeur par défaut de find_multipaths est off. Le fichier par défaut multipath.conf créé par mpathconf, cependant, fixera la valeur de find_multipaths à on.

Lorsque le paramètre find_multipaths est défini sur on, la désactivation du multipathing n'est possible que sur les périphériques disposant de plusieurs chemins d'accès que vous ne souhaitez pas voir multipathés. Pour cette raison, il n'est généralement pas nécessaire de désactiver le multipathing sur les périphériques.

Si vous ajoutez un dispositif à chemins multiples créé précédemment à blacklist, la suppression du WWID de ce dispositif du fichier /etc/multipath/wwids à l'aide de l'option -w peut permettre d'éviter des problèmes avec d'autres programmes. Par exemple, pour supprimer le dispositif /dev/sdb avec le WWID 3600d0230000000000e13954ed5f89300 du fichier /etc/multipath/wwids, vous pouvez utiliser l'une des méthodes suivantes.

  • Suppression d'un périphérique multipath en utilisant le nom du périphérique.

    #multipath -w /dev/sdb
    wwid '3600d0230000000000e13954ed5f89300' removed
  • Suppression d'un périphérique à trajets multiples à l'aide du WWID du périphérique.

    #multipath -w 3600d0230000000000e13954ed5f89300
    wwid '3600d0230000000000e13954ed5f89300' removed

Vous pouvez également utiliser l'option -W pour mettre à jour le fichier /etc/multipath/wwids. Cette option réinitialise le fichier /etc/multipath/wwids pour qu'il ne contienne que les WWID des périphériques multipath actuels. Pour réinitialiser le fichier, exécutez la commande suivante :

#multipath -W
successfully reset wwids

Ressources supplémentaires

  • multipath.conf(5) page de manuel

6.2. Critères de désactivation du multipathing sur certains appareils

Vous pouvez désactiver le multipathing sur les périphériques en fonction de l'un des critères suivants :

  • WWID
  • nom du dispositif
  • type d'appareil
  • propriété
  • protocole

Pour chaque appareil, DM Multipath évalue ces critères dans l'ordre suivant :

  1. property
  2. devnode
  3. device
  4. protocol
  5. wwid

Si un appareil s'avère être désactivé par l'un des critères mentionnés, DM Multipath l'exclut du traitement par multipathd, et n'évalue pas les critères ultérieurs. Pour chaque critère, la liste des exceptions est prioritaire par rapport à la liste des appareils désactivés, si un appareil correspond aux deux.

Note

Par défaut, plusieurs types de périphériques sont désactivés, même après avoir commenté la section initiale blacklist du fichier de configuration.

6.3. Désactivation du multipathing par WWID

Vous pouvez désactiver le multipathing sur des appareils individuels en fonction de leur identification mondiale (WWID).

Procédure

  1. Désactiver des dispositifs dans le fichier de configuration /etc/multipath.conf à l'aide de l'entrée wwid.

    L'exemple suivant montre les lignes du fichier de configuration DM Multipath qui désactivent un périphérique dont le WWID est 26353900f02796769:

    blacklist {
           wwid 26353900f02796769
    }
  2. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  3. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

6.4. Désactivation du multipathing par nom de périphérique

Vous pouvez désactiver le multipathing sur les types de périphériques par nom de périphérique, de sorte que DM Multipath ne les regroupera pas dans un périphérique multipath.

Procédure

  1. Désactiver des dispositifs dans le fichier de configuration /etc/multipath.conf à l'aide de l'entrée devnode.

    L'exemple suivant montre les lignes du fichier de configuration DM Multipath qui désactivent tous les périphériques SCSI, car il désactive également tous les périphériques sd*:

    blacklist {
           devnode "^sd[a-z]"
    }

    Vous pouvez utiliser une entrée devnode pour désactiver des périphériques individuels plutôt que tous les périphériques d'un type spécifique. Toutefois, cette méthode n'est pas recommandée car, à moins qu'il ne soit mappé de manière statique par les règles udev, rien ne garantit qu'un périphérique spécifique portera le même nom au redémarrage. Par exemple, le nom d'un périphérique peut passer de /dev/sda à /dev/sdb au redémarrage.

    Par défaut, DM Multipath désactive tous les périphériques qui ne sont pas SCSI, NVMe ou DASD, en utilisant l'entrée suivante devnode:

    blacklist {
           devnode "!^(sd[a-z]|dasd[a-z]|nvme[0-9])"
    }

    Les appareils que cette entrée désactive ne prennent généralement pas en charge DM Multipath.

  2. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  3. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

6.5. Désactivation du multipathing par type de périphérique

Vous pouvez désactiver le multipathing sur les périphériques en utilisant la section des périphériques.

Procédure

  1. Désactiver les dispositifs dans le fichier de configuration /etc/multipath.conf à l'aide de la section device.

    L'exemple suivant désactive le multipathing sur tous les périphériques IBM DS4200 et HP :

    blacklist {
           device {
                   vendor  "IBM"
                   product "3S42"       #DS4200 Product 10
           }
           device {
                   vendor  "HP"
                   product ".*"
           }
    }
  2. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  3. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

6.6. Désactivation du multipathing par la propriété udev

Vous pouvez désactiver le multipathing sur les périphériques par le biais de leur paramètre de propriété udev.

Procédure

  1. Désactivez les périphériques dans le fichier de configuration /etc/multipath.conf à l'aide du paramètre property. Ce paramètre est une chaîne d'expressions régulières qui correspond au nom de la variable d'environnement udev pour les périphériques.

    L'exemple suivant désactive le multipathing sur tous les périphériques ayant la propriété udev ID_ATA :

    blacklist {
            property "ID_ATA"
    }
  2. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  3. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

6.7. Désactivation du multipathing par protocole de périphérique

Vous pouvez désactiver le multipathing sur les appareils en utilisant le protocole de l'appareil.

Procédure

  1. Facultatif : Affichez le protocole utilisé par un chemin d'accès :

    # multipathd show paths format "%d %P"
  2. Désactiver les dispositifs dans le fichier de configuration /etc/multipath.conf à l'aide du paramètre protocol.

    Le paramètre protocol prend une expression régulière et met sur liste noire tous les dispositifs dont les chaînes de protocole correspondent. Par exemple, pour désactiver le multipathing sur tous les périphériques nvme, procédez comme suit :

    blacklist {
            protocol "nvme"
    }

    DM Multipath reconnaît les chaînes de protocole suivantes :

    • scsi:fcp
    • scsi:spi
    • scsi:ssa
    • scsi:sbp
    • scsi:srp
    • scsi:iscsi
    • scsi:sas
    • scsi:adt
    • scsi:ata
    • scsi:unspec
    • ccw
    • cciss
    • nvme:pcie
    • nvme:rdma
    • nvme:fc
    • nvme:tcp
    • nvme:loop
    • nvme:apple-nvme
    • nvme:unspec
    • undef
  3. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  4. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

6.8. Ajout d'exceptions pour les appareils dont le multipathing est désactivé

Vous pouvez activer le multipathing en ajoutant des exceptions sur les périphériques où le multipathing est actuellement désactivé.

Conditions préalables

  • Le multipathing est désactivé sur certains appareils.

Procédure

  1. Activez le multipathing sur les périphériques à l'aide de la section blacklist_exceptions du fichier de configuration /etc/multipath.conf.

    Lorsque vous spécifiez des dispositifs dans la section blacklist_exceptions du fichier de configuration, vous devez spécifier les exceptions en utilisant les mêmes critères que ceux spécifiés dans la section blacklist. Par exemple, une exception WWID ne s'applique pas aux dispositifs désactivés par une entrée devnode, même si le dispositif désactivé est associé à cette WWID. De même, les exceptions devnode ne s'appliquent qu'aux entrées devnode et les exceptions device ne s'appliquent qu'aux entrées de dispositifs.

    Exemple 6.1. Une exception par WWID

    Si vous disposez d'un grand nombre de périphériques et que vous souhaitez utiliser le multipath pour un seul d'entre eux avec le WWID 3600d0230000000000e13955cc3757803, au lieu de désactiver individuellement chacun des périphériques sauf celui que vous voulez, vous pouvez les désactiver tous, puis activer uniquement celui que vous voulez en ajoutant les lignes suivantes au fichier /etc/multipath.conf:

    blacklist {
            wwid ".*"
    }
    
    blacklist_exceptions {
            wwid "3600d0230000000000e13955cc3757803"
    }

    Vous pouvez également utiliser un point d'exclamation (!) pour inverser l'entrée blacklist, qui désactive tous les périphériques à l'exception du WWID spécifié :

    blacklist {
            wwid "!3600d0230000000000e13955cc3757803"
    }

    Exemple 6.2. Une exception par propriété udev

    Le paramètre property fonctionne différemment des autres paramètres blacklist_exception. La valeur du paramètre property doit correspondre au nom d'une variable de la base de données udev. Dans le cas contraire, le périphérique est désactivé. Ce paramètre permet de désactiver le multipathing sur certains périphériques SCSI, tels que les clés USB et les disques durs locaux.

    Pour activer le multipathing uniquement sur les périphériques SCSI qui peuvent raisonnablement être multipathés, définissez ce paramètre sur (SCSI_IDENT_|ID_WWN) comme dans l'exemple suivant :

    blacklist_exceptions {
            property "(SCSI_IDENT_|ID_WWN)"
    }
  2. Validez le fichier /etc/multipath.conf après avoir modifié le fichier de configuration multipath en exécutant l'une des commandes suivantes :

    • Pour afficher les éventuelles erreurs de configuration, exécutez la commande

      # multipath -t > /dev/null
    • Pour afficher la nouvelle configuration avec les modifications ajoutées, exécutez :

      # multipath -t
  3. Rechargez le fichier /etc/multipath.conf et reconfigurez le démon multipathd pour que les changements prennent effet :

    # service multipathd reload

Chapitre 7. Gestion des volumes multipatagés

Voici quelques commandes fournies par DM Multipath, que vous pouvez utiliser pour gérer les volumes multipath :

  • multipath
  • dmsetup
  • multipathd

7.1. Redimensionnement d'un dispositif à trajets multiples en ligne

Si vous devez redimensionner un dispositif à trajets multiples en ligne, suivez la procédure suivante.

Procédure

  1. Redimensionnez votre appareil physique.
  2. Exécutez la commande suivante pour trouver les chemins d'accès au numéro d'unité logique (LUN) :

    # multipath -l
  3. Redimensionnez vos chemins d'accès. Pour les périphériques SCSI, l'écriture d'un 1 dans le fichier rescan pour le périphérique entraîne une nouvelle analyse du pilote SCSI, comme dans la commande suivante :

    # echo 1 > /sys/block/path_device/device/rescan

    Veillez à exécuter cette commande pour chacun des dispositifs de chemin d'accès. Par exemple, si vos dispositifs de chemin d'accès sont sda, sdb, sde et sdf, vous devez exécuter les commandes suivantes :

    # echo 1 > /sys/block/sda/device/rescan
    # echo 1 > /sys/block/sdb/device/rescan
    # echo 1 > /sys/block/sde/device/rescan
    # echo 1 > /sys/block/sdf/device/rescan
  4. Redimensionnez votre appareil à trajets multiples :

    # multipathd resize map multipath_device
  5. Redimensionner le système de fichiers (en supposant qu'aucune partition LVM ou DOS n'est utilisée) :

    # resize2fs /dev/mapper/mpatha

7.2. Déplacement d'un système de fichiers racine d'un périphérique à chemin d'accès unique vers un périphérique à chemins d'accès multiples

Si vous avez installé votre système sur un périphérique à chemin unique et que vous ajoutez par la suite un autre chemin au système de fichiers racine, vous devrez déplacer votre système de fichiers racine vers un périphérique à chemins multiples. Reportez-vous à la procédure suivante pour passer d'un périphérique à chemin unique à un périphérique à chemins multiples.

Conditions préalables

  • Vous avez installé le paquetage device-mapper-multipath.

Procédure

  1. Créez le fichier de configuration /etc/multipath.conf, chargez le module multipath et activez le service multipathd systemd :

    # dnf install device-mapper-multipath
  2. Exécutez la commande suivante pour créer le fichier de configuration /etc/multipath.conf, charger le module multipath et définir chkconfig pour multipathd à on:

    # mpathconf --enable
  3. Si le paramètre de configuration find_multipaths n'est pas défini sur yes, modifiez les sections blacklist et blacklist_exceptions du fichier /etc/multipath.conf, comme décrit dans la section Empêcher les périphériques d'emprunter des chemins multiples.
  4. Pour que multipath construise un périphérique multipath au-dessus du périphérique racine dès qu'il est découvert, entrez la commande suivante. Cette commande garantit également que find_multipaths autorise le périphérique, même s'il n'a qu'un seul chemin d'accès.

    # multipath -a root_devname

    Par exemple, si le périphérique racine est /dev/sdb, entrez la commande suivante.

    # multipath -a /dev/sdb
    wwid '3600d02300069c9ce09d41c4ac9c53200' added
  5. Confirmez que votre fichier de configuration est correctement configuré en exécutant la commande multipath et recherchez dans la sortie une ligne du format suivant. Cela indique que la commande n'a pas réussi à créer le périphérique à trajets multiples.

    date  wwid: ignoring map

    Par exemple, si le WWID de l'appareil est 3600d02300069c9ce09d41c4ac9c53200, vous verrez une ligne dans la sortie telle que la suivante :

    # multipath
    Oct 21 09:37:19 | 3600d02300069c9ce09d41c4ac9c53200: ignoring map
  6. Reconstruire le système de fichiers initramfs avec multipath:

    # dracut --force -H --add multipath
  7. Arrêter la machine.
  8. Démarrer la machine.
  9. Rendre les autres chemins visibles à la machine.

Verification steps

  • Vérifiez si le périphérique à trajets multiples est créé en exécutant la commande suivante :

    # multipath -l | grep 3600d02300069c9ce09d41c4ac9c53200
    mpatha (3600d02300069c9ce09d41c4ac9c53200) dm-0 3PARdata,VV

7.3. Déplacement d'un système de fichiers swap d'un périphérique à chemin d'accès unique vers un périphérique à chemins d'accès multiples

Par défaut, les périphériques d'échange sont configurés en tant que volumes logiques. Il n'est donc pas nécessaire de suivre une procédure particulière pour les configurer en tant que périphériques à chemins multiples, à condition que vous configuriez les chemins multiples sur les volumes physiques qui constituent le groupe de volumes logiques. Toutefois, si votre périphérique d'échange n'est pas un volume LVM et qu'il est monté par nom de périphérique, vous devrez peut-être modifier le fichier /etc/fstab pour passer au nom de périphérique à chemins multiples approprié.

Procédure

  1. Ajoutez le WWID de l'appareil au fichier /etc/multipath/wwids:

    # multipath -a swap_devname

    Par exemple, si le périphérique racine est /dev/sdb, entrez la commande suivante.

    # multipath -a /dev/sdb
    wwid '3600d02300069c9ce09d41c4ac9c53200' added
  2. Confirmez que votre fichier de configuration est correctement configuré en exécutant la commande multipath et recherchez dans la sortie une ligne au format suivant :

    date  wwid: ignoring map

    Cela indique que la commande n'a pas réussi à créer le périphérique à trajets multiples.

    Par exemple, si le WWID de l'appareil est 3600d02300069c9ce09d41c4ac9c53200, vous verrez une ligne dans la sortie telle que la suivante :

    # multipath
    Oct 21 09:37:19 | 3600d02300069c9ce09d41c4ac9c53200: ignoring map
  3. Créez un alias pour le périphérique d'échange dans le fichier /etc/multipath.conf:

    multipaths {
        multipath {
            wwid WWID_of_swap_device
            alias swapdev
        }
    }
  4. Modifiez le fichier /etc/fstab et remplacez l'ancien chemin d'accès au périphérique racine par le périphérique à chemins multiples.

    Par exemple, si vous avez l'entrée suivante dans le fichier /etc/fstab:

    /dev/sdb2 swap                    swap    defaults        0 0

    Modifiez l'entrée comme suit :

    /dev/mapper/swapdev swap          swap    defaults        0 0
  5. Reconstruire le système de fichiers initramfs avec multipath :

    # dracut --force -H --add multipath
  6. Arrêter la machine.
  7. Démarrer la machine.
  8. Rendre les autres chemins visibles à la machine.

Verification steps

  • Vérifiez que le périphérique de permutation se trouve sur le périphérique à chemins multiples :

    # swapon -s

    Par exemple :

    # swapon -s
    
    Filename                Type          Size Used    Priority
    /dev/dm-3               partition     4169724 0    -2

    Le nom du fichier doit correspondre au périphérique d'échange multipath.

    # readlink -f /dev/mapper/swapdev
    /dev/dm-3

7.4. Détermination des entrées de mappeur de périphériques avec la commande dmsetup

Vous pouvez utiliser la commande dmsetup pour savoir quelles entrées de mappeur de périphériques correspondent aux périphériques multipatches.

Procédure

  • Affiche tous les dispositifs de mappage de périphériques et leurs numéros majeurs et mineurs. Les numéros mineurs déterminent le nom du périphérique dm. Par exemple, un numéro mineur de 3 correspond au périphérique multipatched /dev/dm-3.

    # dmsetup ls
    mpathd  (253:4)
    mpathep1        (253:12)
    mpathfp1        (253:11)
    mpathb  (253:3)
    mpathgp1        (253:14)
    mpathhp1        (253:13)
    mpatha  (253:2)
    mpathh  (253:9)
    mpathg  (253:8)
    VolGroup00-LogVol01     (253:1)
    mpathf  (253:7)
    VolGroup00-LogVol00     (253:0)
    mpathe  (253:6)
    mpathbp1        (253:10)
    mpathd  (253:5)

7.5. Administration du démon multipathd

Les commandes multipathd peuvent être utilisées pour administrer le démon multipathd.

Procédure

  • Affichez le format standard par défaut de la sortie de la commande multipathd show maps:

    # multipathd show maps
    name sysfs uuid
    mpathc dm-0 360a98000324669436c2b45666c567942
  • Certaines commandes multipathd comprennent une option format suivie d'un caractère générique. La commande suivante permet d'afficher la liste des caractères génériques disponibles :

    # multipathd show wildcards
  • Affiche les périphériques multipath que multipathd surveille, à l'aide d'une chaîne de format avec des caractères génériques multipath, au format normal et brut :

    list|show maps|multipaths format $format
    list|show maps|multipaths raw format $format

    La commande multipathd prend en charge les commandes de format qui affichent l'état des périphériques multipath et des chemins dans des versions de format " brut ". Au format brut, aucun en-tête n'est imprimé et les champs ne sont pas remplis pour aligner les colonnes sur les en-têtes. Au lieu de cela, les champs s'impriment exactement comme spécifié dans la chaîne de format. Cette sortie peut alors être plus facilement utilisée pour l'écriture de scripts. Vous pouvez afficher les caractères génériques utilisés dans la chaîne de format à l'aide de la commande multipathd show wildcards.

  • Affiche les chemins que multipathd surveille, à l'aide d'une chaîne de format avec des caractères génériques pour les chemins multiples, dans un format régulier et brut :

    list|show paths format $format
    list|show paths raw format $format
  • Affichez la différence entre les formats brut et non brut pour le multipathd show maps. Notez que dans le format raw, il n'y a pas d'en-tête et seulement un espace entre les colonnes :

    # multipathd show maps format "%n %w %d %s"
    name   uuid                              sysfs vend/prod/rev
    mpathc 360a98000324669436c2b45666c567942 dm-0  NETAPP,LUN
    
    # multipathd show maps raw format "%n %w %d %s"
    mpathc 360a98000324669436c2b45666c567942 dm-0 NETAPP,LUN

Ressources supplémentaires

  • multipathd(8) page de manuel

Chapitre 8. Retrait des périphériques de stockage

Vous pouvez retirer en toute sécurité un périphérique de stockage d'un système en cours d'exécution, ce qui permet d'éviter la surcharge de la mémoire du système et la perte de données.

Conditions préalables

  • Avant de retirer une unité de stockage, vous devez vous assurer que vous disposez de suffisamment de mémoire système libre en raison de l'augmentation de la charge de la mémoire système lors d'un rinçage d'E/S. Utilisez les commandes suivantes pour afficher la charge de mémoire actuelle et la mémoire libre du système :

    # vmstat 1 100
    # free
  • Red Hat ne recommande pas de supprimer un périphérique de stockage sur un système où :

    • La mémoire libre est inférieure à 5 % de la mémoire totale dans plus de 10 échantillons sur 100.
    • La permutation est active (colonnes si et so non nulles dans la sortie de la commande vmstat ).

8.1. Retrait en toute sécurité des dispositifs de stockage

Pour retirer en toute sécurité un périphérique de stockage d'un système en cours d'exécution, il faut adopter une approche de haut en bas. Commencez par la couche supérieure, qui est généralement une application ou un système de fichiers, et travaillez vers la couche inférieure, qui est le périphérique physique.

Vous pouvez utiliser les périphériques de stockage de plusieurs façons et ils peuvent avoir différentes configurations virtuelles au-dessus des périphériques physiques. Par exemple, vous pouvez regrouper plusieurs instances d'un périphérique dans un périphérique à chemins multiples, l'intégrer à un RAID ou à un groupe LVM. En outre, il est possible d'accéder aux périphériques via un système de fichiers ou directement, comme dans le cas d'un périphérique "brut".

En utilisant l'approche de haut en bas, vous devez vous assurer que

  • le dispositif que vous souhaitez supprimer n'est pas utilisé
  • toutes les E/S en attente vers le périphérique sont effacées
  • le système d'exploitation ne fait pas référence au périphérique de stockage

8.2. Suppression des périphériques de bloc et des métadonnées associées

Pour supprimer en toute sécurité un périphérique de bloc d'un système en cours d'exécution, afin d'éviter une surcharge de la mémoire système et une perte de données, vous devez d'abord supprimer les métadonnées qu'il contient. Traitez chaque couche de la pile, en commençant par le système de fichiers, puis le disque. Ces actions permettent d'éviter de placer votre système dans un état incohérent.

Utilisez des commandes spécifiques qui peuvent varier en fonction du type de dispositifs que vous supprimez :

  • lvremove vgremove et sont spécifiques à LVM. pvremove
  • Pour le RAID logiciel, exécutez mdadm pour supprimer la matrice. Pour plus d'informations, voir Gestion du RAID.
  • Pour les dispositifs de blocage cryptés à l'aide de LUKS, il existe des étapes supplémentaires spécifiques. La procédure suivante ne fonctionnera pas pour les périphériques de bloc chiffrés à l'aide de LUKS. Pour plus d'informations, voir Chiffrement des périphériques de bloc à l'aide de LUKS.
Avertissement

Le fait de renumériser le bus SCSI ou d'effectuer toute autre action qui modifie l'état du système d'exploitation sans suivre la procédure décrite ici peut entraîner des retards dus aux délais d'entrée/sortie, à la suppression inattendue de périphériques ou à la perte de données.

Conditions préalables

  • Vous disposez d'une pile de périphériques de bloc existante contenant le système de fichiers, le volume logique et le groupe de volumes.
  • Vous vous êtes assuré qu'aucune autre application ou service n'utilise le dispositif que vous souhaitez supprimer.
  • Vous avez sauvegardé les données de l'appareil que vous souhaitez supprimer.
  • Facultatif : si vous souhaitez supprimer un périphérique à chemins multiples et que vous ne pouvez pas accéder à ses périphériques de chemin, désactivez la mise en file d'attente du périphérique à chemins multiples en exécutant la commande suivante :

    # multipathd disablequeueing map multipath-device

    Cela permet aux E/S de l'appareil de tomber en panne, ce qui permet aux applications qui utilisent l'appareil de s'arrêter.

Note

La suppression des périphériques et de leurs métadonnées, couche par couche, garantit qu'aucune signature périmée ne subsiste sur le disque.

Procédure

  1. Démonter le système de fichiers :

    # umount /mnt/mount-point
  2. Retirer le système de fichiers :

    # wipefs -a /dev/vg0/myvol
    Note

    Si vous avez ajouté une entrée dans le fichier /etc/fstab pour établir une association persistante entre le système de fichiers et un point de montage, vous devez également modifier /etc/fstab à ce stade pour supprimer cette entrée.

    Poursuivez les étapes suivantes, en fonction du type de dispositif que vous souhaitez supprimer :

  3. Supprimez le volume logique (LV) qui contenait le système de fichiers :

    # lvremove vg0/myvol
  4. S'il ne reste aucun autre volume logique dans le groupe de volumes (VG), vous pouvez supprimer en toute sécurité le VG qui contenait le périphérique :

    # vgremove vg0
  5. Supprimer les métadonnées du volume physique (PV) du ou des périphériques PV :

    # pvremove /dev/sdc1
    # wipefs -a /dev/sdc1
  6. Supprimer les partitions qui contenaient les PV :

    # parted /dev/sdc rm 1
Note

Ne suivez les étapes suivantes que si vous souhaitez effacer complètement l'appareil.

  1. Supprimez la table de partition :

    # wipefs -a /dev/sdc
Note

Ne suivez les étapes suivantes que si vous souhaitez retirer physiquement l'appareil.

  • Si vous supprimez un périphérique à chemins multiples, exécutez les commandes suivantes :

    1. Afficher tous les chemins d'accès à l'appareil :

      # multipath -l

      La sortie de cette commande est nécessaire dans une étape ultérieure.

      1. Rincer les E/S et retirer le dispositif à trajets multiples :

        # multipath -f multipath-device
  • Si le périphérique n'est pas configuré comme périphérique à chemins multiples, ou s'il est configuré comme périphérique à chemins multiples et que vous avez précédemment transmis des E/S aux chemins individuels, videz toutes les E/S en attente sur tous les chemins de périphérique utilisés :

    # blockdev --flushbufs device

    Ceci est important pour les dispositifs auxquels on accède directement et pour lesquels les commandes umount ou vgreduce n'effacent pas les E/S.

  • Si vous retirez un périphérique SCSI, exécutez les commandes suivantes :

    1. Supprimez toute référence au nom de l'appareil basé sur le chemin d'accès, tel que /dev/sd, /dev/disk/by-pathou le numéro major:minor, dans les applications, les scripts ou les utilitaires du système. Cela permet de s'assurer que les différents dispositifs ajoutés à l'avenir ne seront pas confondus avec le dispositif actuel.
    2. Retirer du sous-système SCSI chaque chemin d'accès au périphérique :

      # echo 1 > /sys/block/device-name/device/delete

      Ici, le device-name est extrait de la sortie de la commande multipath -l, si le périphérique a été précédemment utilisé comme périphérique à trajets multiples.

  1. Retirer le périphérique physique d'un système en cours d'exécution. Notez que les entrées/sorties vers d'autres périphériques ne s'arrêtent pas lorsque vous retirez ce périphérique.

Vérification

  • Vérifiez que les périphériques que vous souhaitez supprimer ne sont pas affichés dans la sortie de la commande lsblk. Voici un exemple de sortie :

    # lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0    5G  0 disk
    sr0     11:0    1 1024M  0 rom
    vda    252:0    0   10G  0 disk
    |-vda1 252:1    0    1M  0 part
    |-vda2 252:2    0  100M  0 part /boot/efi
    `-vda3 252:3    0  9.9G  0 part /

Ressources supplémentaires

  • Les pages de manuel multipath(8), pvremove(8), vgremove(8), lvremove(8), wipefs(8), parted(8), blockdev(8) et umount(8).

Chapitre 9. Dépannage du DM Multipath

Si vous rencontrez des difficultés dans la mise en œuvre d'une configuration à chemins multiples, vous pouvez vérifier plusieurs points. Les problèmes suivants peuvent être à l'origine d'une configuration à chemins multiples lente ou ne fonctionnant pas :

Le démon multipath n'est pas en cours d'exécution
Si vous rencontrez des difficultés pour mettre en œuvre une configuration à chemins multiples, assurez-vous que le démon multipathd est en cours d'exécution, comme décrit dans la section Configuration de DM Multipath. Le démon multipathd doit être en cours d'exécution pour utiliser des périphériques à chemins multiples.
Problèmes avec la fonction queue_if_no_path
Si un périphérique à chemins multiples est configuré avec l'option features "1 queue_if_no_path", tout processus qui émet des E/S se bloque jusqu'à ce qu'un ou plusieurs chemins soient restaurés.

9.1. Résolution des problèmes liés à la fonctionnalité queue_if_no_path

Si un périphérique à chemins multiples est configuré avec l'option features "1 queue_if_no_path", tout processus qui émet des E/S se bloque jusqu'à ce qu'un ou plusieurs chemins soient restaurés. Pour éviter cela, définissez le paramètre no_path_retry N dans le fichier /etc/multipath.conf, où N est le nombre de fois que le système doit réessayer un chemin.

Si vous devez utiliser l'option features "1 queue_if_no_path" et que vous rencontrez le problème mentionné ici, vous pouvez désactiver la politique de mise en file d'attente au moment de l'exécution pour un LUN particulier, pour lequel tous les chemins sont indisponibles.

Procédure

  • Désactiver la mise en file d'attente pour un appareil spécifique :

    # multipathd disablequeueing map device
  • Désactiver la mise en file d'attente pour tous les appareils :

    # multipathd disablequeueing maps

Après avoir désactivé la mise en file d'attente pour un périphérique, elle restera désactivée jusqu'à ce que multipathd soit redémarré ou rechargé, ou jusqu'à ce que vous exécutiez l'une des commandes suivantes :

  • Réinitialise la file d'attente à la valeur précédente pour un appareil spécifique :

    # multipathd restorequeueing map device
  • Réinitialise la file d'attente à la valeur précédente pour tous les appareils :

    # multipathd restorequeueing maps

9.2. Dépannage avec la console interactive multipathd

La commande multipathd -k est une interface interactive avec le démon multipathd. La saisie de cette commande fait apparaître une console interactive multipath. Après avoir exécuté cette commande, vous pouvez saisir help pour obtenir une liste des commandes disponibles et Ctrl+D pour quitter.

Utilisez la console interactive multipathd pour résoudre les problèmes que vous pouvez rencontrer avec votre système.

Procédure

  • Affichez la configuration des chemins multiples, y compris les valeurs par défaut, avant de quitter la console :

    # multipathd -k
    multipathd> show config
    multipathd> Ctrl+D
  • Assurez-vous que multipath a pris en compte toutes les modifications apportées au fichier multipath.conf:

    # multipathd -k
    multipathd> reconfigure
    multipathd> Ctrl+D
  • S'assurer que le vérificateur de chemin fonctionne correctement :

    # multipathd -k
    multipathd> show paths
    multipathd> Ctrl+D
  • Vous pouvez également exécuter une seule commande interactive multipathd directement à partir de la ligne de commande, sans lancer la console interactive. Par exemple, pour vérifier que multipath a pris en compte les modifications apportées au fichier multipath.conf, exécutez la commande suivante :

    # multipathd reconfigure

Chapitre 10. Configuration du délai maximum de récupération des erreurs de stockage avec eh_deadline

Vous pouvez configurer le délai maximum autorisé pour récupérer les périphériques SCSI défaillants. Cette configuration garantit un temps de réponse E/S même lorsque le matériel de stockage ne répond plus en raison d'une défaillance.

10.1. Le paramètre eh_deadline

Le mécanisme de gestion des erreurs SCSI (EH) tente de récupérer les erreurs sur les périphériques SCSI défaillants. Le paramètre de l'objet hôte SCSI eh_deadline vous permet de configurer la durée maximale de la récupération. À l'expiration du délai configuré, SCSI EH s'arrête et réinitialise l'ensemble de l'adaptateur de bus hôte (HBA).

L'utilisation de eh_deadline peut réduire le temps nécessaire :

  • pour fermer un chemin qui a échoué,
  • pour changer de chemin, ou
  • pour désactiver une tranche RAID.
Avertissement

Lorsque eh_deadline expire, SCSI EH réinitialise l'adaptateur de bus hôte, ce qui affecte tous les chemins cibles sur cet adaptateur de bus hôte, et pas seulement celui qui est défaillant. Si certains chemins redondants ne sont pas disponibles pour d'autres raisons, des erreurs d'E/S peuvent se produire. N'activez eh_deadline que si vous disposez d'une configuration multipath entièrement redondante sur toutes les cibles.

La valeur du paramètre eh_deadline est spécifiée en secondes. La valeur par défaut est off, ce qui désactive la limite de temps et permet la récupération de toutes les erreurs.

Scénarios dans lesquels eh_deadline est utile

Dans la plupart des cas, il n'est pas nécessaire d'activer eh_deadline. L'utilisation de eh_deadline peut être utile dans certains scénarios spécifiques. Par exemple, si une perte de lien se produit entre un commutateur Fibre Channel (FC) et un port cible, et que le HBA ne reçoit pas de notification de changement d'état enregistré (RSCN), les demandes d'E/S et les commandes de récupération d'erreur sont toutes interrompues au lieu de rencontrer une erreur. Dans ce cas, les demandes d'E/S et les commandes de récupération d'erreur sont toutes interrompues au lieu de rencontrer une erreur. Le fait de définir eh_deadline dans cet environnement permet de limiter le temps de récupération. Cela permet à l'E/S défaillante d'être réessayée sur un autre chemin disponible par DM Multipath.

Dans les conditions suivantes, le paramètre eh_deadline n'apporte aucun avantage supplémentaire, car les commandes d'E/S et de reprise sur erreur échouent immédiatement, ce qui permet à DM Multipath d'effectuer une nouvelle tentative :

  • Si les RSCN sont activés
  • Si le HBA n'enregistre pas le lien devenant indisponible

10.2. Définition du paramètre eh_deadline

Cette procédure configure la valeur du paramètre eh_deadline pour limiter le temps de récupération SCSI maximum.

Procédure

  • Vous pouvez configurer eh_deadline en utilisant l'une des méthodes suivantes :

    • defaults section du fichier multpath.conf

      Dans la section des valeurs par défaut du fichier multpath.conf, réglez le paramètre eh_deadline sur le nombre de secondes requis :

      # eh_deadline 300
      Note

      À partir de RHEL 8.4, il est préférable de définir le paramètre eh_deadline à l'aide de la section defaults du fichier multpath.conf.

      Pour désactiver le paramètre eh_deadline avec cette méthode, réglez eh_deadline sur off.

    • sysfs

      Inscrivez le nombre de secondes dans les fichiers /sys/class/scsi_host/host<host-number>/eh_deadline. Par exemple, pour définir le paramètre eh_deadline via sysfs sur l'hôte SCSI 6 :

      # echo 300 > /sys/class/scsi_host/host6/eh_deadline

      Pour désactiver le paramètre eh_deadline avec cette méthode, utilisez echo off.

    • Paramètre du noyau

      Définissez une valeur par défaut pour tous les HBA SCSI à l'aide du paramètre du noyau scsi_mod.eh_deadline.

      # echo 300 > /sys/module/scsi_mod/parameters/eh_deadline

      Pour désactiver le paramètre eh_deadline avec cette méthode, utilisez echo -1.

Note légale

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.