4.5. Périphériques de fichier de configuration

Tableau 4.3, « Attributs de périphériques » montre les attributs que vous pouvez déterminer pour chaque périphérique de stockage individuel dans la section devices (périphériques) du fichier de configuration multipath.conf. Ces attributs sont utilisés par DM Multipath à moins qu'ils ne soient remplacés par des attributs précisés dans la section multipaths du fichier multipath.conf pour les chemins qui contiennent le périphérique. Ces attributs remplacent les attributs déterminés dans la section defaults du fichier multipath.conf.
De nombreux périphériques qui utilisent multipath sont inclus par défaut dans la configuration multipath. Pour obtenir des informations sur les valeurs de configuration par défaut et les périphériques pris en charge, exécuter une des commandes suivantes.
# multipathd show config
# multipath -t 
Vous n'aurez certainement pas besoin de modifier les valeurs de ces périphériques, mais si vous le faîtes, vous pourrez remplacer les valeurs par défaut en incluant une entrée dans le fichier de configuration pour le périphérique qui remplace ces valeurs. Vous pouvez copier la configuration par défaut du périphérique que la commande multipathd show config affiche et remplacer les valeurs que vous souhaitez changer.
Pour ajouter un périphérique qui n'est pas configuré par défaut automatiquement à cette section du fichier de configuration, vous aurez besoin de déterminer les paramètres vendor (fournisseur) et product (produit). Vous pouvez trouver ces valeurs en cherchant dans /sys/block/device_name/device/vendor et /sys/block/device_name/device/modeldevice_name correspond au périphérique à être mis en multipath, comme dans l'exemple suivant :
# cat /sys/block/sda/device/vendor
WINSYS  
# cat /sys/block/sda/device/model
SF2372
Les paramètres supplémentaires à préciser dépendent de votre périphérique en particulier. Si le périphérique est actif/actif, vous ne devriez normalement pas avoir besoin d'ajouter de paramètre supplémentaire. Vous souhaiterez peut-être configurer path_grouping_policy sur multibus. Les autres paramètres que vous souhaiterez peut-être fixer sont no_path_retry et rr_min_io, comme expliqué dans Tableau 4.3, « Attributs de périphériques ».
Si le périphérique est actif/passif, mais qu'il passe automatiquement des chemins d'E/S au chemin passif, vous aurez besoin de changer la fonction checker pour une fonction qui n'envoie pas d'E/S vers le chemin pour tester si cela fonctionne (sinon, votre périphérique continuera d'être mis en échec). Cela signifie presque toujours que vous devrez configurer le path_checker sur tur ; cela fonctionne pour tous les périphériques SCSI qui supportent la commande Test Unit Ready, comme c'est le cas pour la plupart.
Si le périphérique requiert une commande particulière pour changer de chemin d'accès, alors pour reconfigurer ce périphérique, vous aurez besoin d'un module de noyau de gestion du matériel. Le module de gestion actuellement disponible est emc. S'il ne suffit pas pour votre périphérique, vous ne pourrez peut-être pas configurer le périphérique pour multipath.

Tableau 4.3. Attributs de périphériques

AttributDescription
vendor Indique le nom du vendeur de l'appareil de stockage auquel les attributs device s'appliquent, par exemple COMPAQ.
product Indique le nom du produit du périphérique de stockage auquel les attributs device s'appliquent, par exemple, HSV110 (C)COMPAQ.
revision Spécifie l'identifiant de révision du produit du périphérique de stockage.
product_blacklist Indique une expression courante utilisée pour mettre les appareils sur la liste noire par produit.
alias_prefix Le préfixe user_friendly_names à utiliser pour ce type de périphérique à la place de "mpath".
hardware_handler
Détermine le module qui sera utilisé pour exécuter des actions spécifiques au matériel lors de changement de groupes de chemins ou pour régler les erreurs d'E/S. Les valeurs possibles incluent :
1 emc : gestionnaire de matériel pour les matrices de stockage EMC.
1 alua : gestionnaire de matériel pour matrices ALUA SCSI-3.
1 hp_sw : gestionnaire de matériel pour contrôleurs Compaq/HP.
1 rdac : gestionnaire de matériel pour contrôleurs RDAC LSI/Engenio.
path_grouping_policy
Précise la politique de groupement de chemin par défaut pour les parcours non spécifiés. Les valeurs possibles sont :
failover = 1 chemin par groupe de priorité
multibus = tous les chemins valides dans le groupe de priorité 1
group_by_serial = groupe de priorité 1 par nombre de série détecté
group_by_prio = groupe de priorité 1 par valeur de priorité du chemin
group_by_node_name = 1 groupe de priorité par nom de nœud ciblé
path_selector
Indique l'algorithme par défaut à utiliser pour déterminer quel chemin utiliser pour la prochaine opération d'E/S. Les valeurs possibles incluent :
round-robin 0 : boucle passant par chaque chemin dans le groupe de chemins, envoyant la même quantité d'E/S à chacun.
queue-length 0 : envoie le prochain groupe d'E/S sur le chemin avec le nombre le moins élevé de requêtes d'E/S en suspens.
service-time 0 : envoie le prochain groupe d'E/S sur le chemin possédant le temps de service estimé le plus court, qui est déterminé en divisant la taille totale des E/S en suspens de chaque chemin par son débit relatif.
path_checker
Précise la méthode par défaut utilisée pour déterminer l'état des chemins. Les valeurs possibles sont :
readsector0 : lire le premier secteur du périphérique.
tur : délivre une commande TEST UNIT READY au périphérique.
emc_clariion : demande au 0xC0 de page EVPD spécifique au EMC Clariion de déterminer le chemin.
hp_sw : vérifie l'état du chemin pour les matrices de stockage HP avec le micrologiciel Active/Standby.
rdac : vérifie les statistiques du chemin pour le contrôleur de stockage RDAC LSI/Engenio.
directio : lit le premier secteur avec E/S directes.
fonstionnalités
Les fonctionnalités supplémentaires par défaut des périphériques multipath, utilisant le format : "number_of_features_plus_arguments feature1 ...".
Les valeurs possibles des fonctionnalités sont :
queue_if_no_path, qui est la même configuration que no_path_retry pour queue. Pour obtenir plus d'informations sur les problèmes qui peuvent se poser quand vous utilisez cette fonctionnalité, consulter Section 5.7, « Problèmes avec la fonctionnalité queue_if_no_path ».
retain_attached_hw_handler : si ce paramètre est défini sur yes et que la couche SCSI a déjà attaché un gestionnaire de matériel au périphérique de chemins, multipath ne forcera pas le périphérique à utiliser le gestionnaire de matériel hardware_handler spécifié par le fichier multipath.conf. Si la couche SCSI n'a pas attaché de gestionnaire de matériel, multipath continuera d'utiliser son gestionnaire de matériel configuré normalement.
pg_init_retries n: esssayez à nouveau la réinitialisation de ce groupe de chemins jusqu'à n fois avant d'échouer avec 1 <= n <= 50.
pg_init_delay_msecs n : patientez n millisecondes entre les nouvelles tentatives d'initialisation de groupes de chemins avec 0 <= n <= 60000.
prio
Précise la fonction par défaut à appeler pour obtenir une valeur de priorité de chemin. Par exemple, les bits ALUA de SPC-3 fournissent une valeur prio exploitable. Les valeurs possibles incluent :
const : définit une priorité de 1 pour tous les chemins.
emc : génère la priorité de chemin pour les matrices (matrices) EMC.
alua : génère la priorité du chemin d'accès en fonction des paramètres ALUA SCSI-3. À partir de Red Hat Enterprise Linux 7,3, si vous spécifiez prio "alua exclusive_pref_bit" dans la configuration de votre périphérique, Multipath créera un groupe de chemin d'accès qui ne contiennent que le chemin d'accès avec pref définie et donnera à ce groupe Path la priorité la plus élevée.
ontap : génère la priorité de chemin pour les matrices (matrices) NetApp.
rdac : génère la priorité de chemin pour contrôleur RDAC LSI/Engenio.
hp_sw : génère la priorité de chemin pour contrôleur Compaq/HP en mode active/standby.
hds: génère la priorité de chemin pour les matrices de stockage Hitachi HDS Modular.
failback
Gère le failback du groupe de chemins.
La valeur immediate indique une restauration automatique (failback) immédiate au groupe de chemins avec la plus haute priorité qui contient des chemins actifs.
La valeur manual indique qu'il ne devrait pas y avoir de failback immédiat et que le failback ne peut avoir lieu que sur intervention de l'opérateur.
La valeur followover spécifie que le failback automatique devrait etre effectué lorsque le premier chemin d'un groupe de chemins devient actif. Ceci empêche le nœud de se restaurer automatiquement lorsqu'un autre nœud requiert le failback.
Une valeur numérique supérieure à zéro indique un failback différé, en secondes.
rr_weight S'il est configuré sur priorities, alors au lieu d'envoyer des demandes rr_min_io vers un chemin avant d'appeler le path_selector pour déterminer le prochain chemin, le nombre de demandes à envoyer est déterminé par rr_min_io multiplié par la priorité du chemin, déterminée par la fonction prio. Si paramétrée sur uniform, alors tous les chemins auront la même importance.
no_path_retry
Une valeur numérique pour cet attribut indique que le nombre de fois que le système doit tenter d'utiliser un chemin inaccessible avant que la file d'attente ne soit désactivée.
Une valeur fail indique un échec immédiat, sans file d'attente.
La valeur queue indique que la mise en file d'attente ne devrait pas s'arrêter avant que le chemin ne soit corrigé.
rr_min_io Spécifie le nombre de requêtes d'E/S à diriger vers un chemin avant de passer au chemin suivant dans le groupe de chemins actuel. Ce paramètre fonctionne uniquement avec les systèmes exécutant des noyaux plus anciens que 2.6.31. Les nouveaux systèmes devraient 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 à diriger vers un chemin avant de passer au chemin suivant dans le groupe de chemins actuel, en utilisant le mappeur de périphériques à multiples chemins d'accès (« device-mapper-multipath ») basé sur requêtes. Ce paramètre devrait être utilisé sur les systèmes exécutant des noyaux actuels. Sur les systèmes exécutant des noyaux plus anciens que 2.6.31, veuillez utiliser rr_min_io. La valeur par défaut est 1.
fast_io_fail_tmo Nombre de secondes que la couche SCSI attendra après qu'un problème soit détecté sur un port distant FC avant que les E/S n'échouent sur les périphériques de ce port distant. Cette valeur doit être plus petite que la valeur de dev_loss_tmo. Définir cette valeur sur off désactivera le délai.
dev_loss_tmo Nombre de secondes que la couche SCSI attendra après qu'un problème soit détecté sur un port distant FC avant de le supprimer du système. Cette valeur définie sur l'infini correspondra à 2147483647 secondes, ou 68 ans.
flush_on_last_del S'il est défini sur yes, le démon multipathd désactivera les files d'attente lorsque le dernier chemin vers un périphérique aura été supprimé.
user_friendly_names Le paramètre yes précise que le système devrait utiliser le fichier /etc/multipath/bindings pour assigner un alias unique et persistant vers le multipath, sous la forme mpathn. Le paramètre no indique que le système devrait utiliser le WWID en tant qu'alias pour le multipath. Dans les deux cas, ce qui est spécifié ici sera remplacé par n'importe quel alias spécifique aux périphériques que vous aurez déterminé dans la section multipaths du fichier de configuration. La valeur par défaut est no.
retain_attached_hw_handler Si ce paramètre est défini sur yes et que la couche SCSI a déjà attaché un gestionnaire de matériel au périphérique de chemins, multipath ne forcera pas le périphérique à utiliser le gestionnaire de matériel hardware_handler spécifié par le fichier multipath.conf. Si la couche SCSI n'a pas attaché de gestionnaire de matériel, multipath continuera d'utiliser son gestionnaire de matériel configuré comme normalement. La valeur par défaut est no.
detect_prio Si ceci est défini sur yes, multipath commencera par vérifier si le périphérique prend en charge ALUA, si c'est le cas, il assignera automatiquement au périphérique le hiérarchiseur alua. Si le périphérique ne prend pas ALUA en charge, il déterminera le hiérarchiseur comme toujours.
uid_attribute Fournit un identifiant de chemin unique.
delay_watch_checks (Red Hat Enterprise Linux Release 7.2 et versions ultérieures) Si défini sur une valeur supérieure à 0, le démon multipathd surveillera plusieurs chemins d'accès récemment devenus valides un nombre de fois spécifique. S'ils échouent à nouveau, alors ils deviendront valides à nouveau quand ils ne seront pas utilisés et seront restés en place durant le nombre de contrôles consécutifs spécifiés par delay_wait_checks. Cela vous permet de garder des chemins qui peuvent paraître peu fiables d'être immédiatement remis en service dès qu'ils reviennent en ligne.
delay_wait_checks (Red Hat Enterprise Linux Release 7.2 et versions ultérieures) Si défini sur une valeur supérieure à 0, quand un périphérique qui vient de revenir en ligne échoue à nouveau pendant le nombre de contrôles spécifiés par delay_watch_checks, la prochaine fois qu'il revient en ligne, il sera marqué et retardé et il ne sera pas utilisé tant qu'il n'a pas passé le nombre de contrôles spécifiés dans delay_wait_checks.
deferred_removeSi cette propriété est définie sur yes, la méthode multipathd effectuera une suppression différée au lieu d'une suppression régulière lorsque le dernier chemin d'accès de périphérique a été supprimé. Cela garantit que si un périphérique multipath est utilisé lorsqu'une suppression régulière est effectuée et que la suppression échoue, l'appareil sera automatiquement supprimé lorsque le dernier utilisateur aura fermé le périphérique.
skip_kpartxSi défini sur yes, kpartx va créer des partitions automatiquement sur le périphérique. Cela permettra de créer un périphérique multipath sans créer de partitions, même si le périphérique possède une table de partitions.
L'exemple suivant montre une entrée device du fichier de configuration multipath.
#	}
#	device {
#		vendor			"COMPAQ  "
#		product			"MSA1000         "
#		path_grouping_policy	multibus
#		path_checker		tur
#		rr_weight		priorities
#	}
#}