24.13. Configurer le déchargement et la liaison d'interfaces iSCSI

Ce chapitre décrit comment paramétrer les interfaces iSCSI afin de lier une session à un port NIC lors de l'utilisation d'iSCSI logiciel. Il y est également décrit comment paramétrer des interfaces pour une utilisation avec des périphériques qui prennent en charge le déchargement.
Le sous-système du réseau peut être configuré pour déterminer le chemin ou NIC que les interfaces iSCSI devraient utiliser pour les liaisons. Par exemple, si les portails et NIC sont paramétrés sur différents subnets, alors il ne sera pas nécessaire de configurer les interfaces iSCSI manuellement pour les liaisons.
Avant de tenter de configurer une interface iSCSI pour les liaisons, veuillez exécuter la commande suivante :
$ ping -I ethX target_IP
Si le ping échoue, alors vous ne pourrez pas lier une session à un NIC. Si cela est le cas, veuillez vérifier les paramètres réseau en premier.

24.13.1. Afficher les configurations iface disponibles

Les déchargements et les liaisons d'interface iSCSI sont pris en charge par les implémentations d'initiateur iSCSI suivantes :
Logiciel iSCSI
Cette pile alloue une instance d'hôte iSCSI (apr ex. scsi_host) par session, avec une seule connexion par session. De ce fait, /sys/class_scsi_host et /proc/scsi reporteront un scsi_host pour chaque connexion/session à laquelle vous vous connectez.
Offload iSCSI
Le pile alloue une instance scsi_host à chaque périphérique PCI. Ainsi, chaque port s'affichera en tant que périphérique PCI séparé sur un adaptateur de bus d'hôte, avec un scsi_host différent pour chaque port HBA.
Pour gérer ces deux types d’implémentation d'initiateur, iscsiadm utilise la structure iface. Avec cette structure, une configuration iface doit être saisie dans /var/lib/iscsi/ifaces pour chaque port HBA, chaque logiciel iSCSI, ou chaque périphérique de réseau (ethX) utilisé pour lier les sessions.
Pour afficher les configurations iface disponibles, exécutez iscsiadm -m iface. Cela permettre d'afficher les informations iface dans le format suivant :
iface_name transport_name,hardware_address,ip_address,net_ifacename,initiator_name
Reportez-vous au tableau suivant pour obtenir des détails sur chaque valeur/paramètre.

Tableau 24.2. Configurations iface

ParamètreDescription
iface_namenom de configuration iface.
transport_nameNom du pilote
hardware_addressAdresse MAC
ip_addressAdresse IP pour ce port
net_iface_nameNom utilisé pour le vlan ou pour l'alias de liaison d'une sessions iSCSI. Pour les déchargements iSCSI, net_iface_name sera <vide> car cette valeur n'est pas persistante au redémarrage.
initiator_nameConfiguration utilisée pour substituer un nouveau nom au nom par défaut de l'initiateur, défini dans /etc/iscsi/initiatorname.iscsi

Exemple 24.6. Échantillon de sortie de la commande iscsiadm -m iface

Ci-dessous figure un exemple de sortie de la commande iscsiadm -m iface :
iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
Pour le logiciel iSCSI, chaque configuration iface doit avoir un nom unique (de moins de 65 caractères). Le nom iface_name des périphériques réseau qui supportent le déchargement apparaît sous le format transport_name.hardware_name.

Exemple 24.7. Sortie de la commande iscsiadm -m iface avec une carte réseau Chelsio

Ci-dessous figure un exemple de sortie de la commande iscsiadm -m iface sur un système utilisant une carte réseau Chelsio :
default tcp,<empty>,<empty>,<empty>,<empty>
iser iser,<empty>,<empty>,<empty>,<empty>
cxgb3i.00:07:43:05:97:07 cxgb3i,00:07:43:05:97:07,<empty>,<empty>,<empty>
Il est également possible d'afficher les paramètres d'une configuration iface particulière d'une façon plus agréable pour l'utilisateur. Pour cela, utiliser l'option -I iface_name. Cela affichera les paramètres dans le format suivant :
iface.paramètre = valeur

Exemple 24.8. Utiliser les paramètres de configuration iface avec un adaptateur de réseau Chelsio convergé

En utilisant l'exemple précédent, les paramètres d'iface du même adaptateur de réseau Chelsio convergé (par ex. iscsiadm -m iface -I cxgb3i.00:07:43:05:97:07) s'afficheront ainsi :
# BEGIN RECORD 2.0-871
iface.iscsi_ifacename = cxgb3i.00:07:43:05:97:07
iface.net_ifacename = <empty>
iface.ipaddress = <empty>
iface.hwaddress = 00:07:43:05:97:07
iface.transport_name = cxgb3i
iface.initiatorname = <empty>
# END RECORD

24.13.2. Configurer un iface pour iSCSI logiciel

Comme mentionné plus tôt, une configuration iface est requise pour chaque objet réseau qui sera utilisé pour lier une session.
Avant
Pour créer une configuration iface pour iSCSI logiciel, veuillez exécuter la commande suivante :
# iscsiadm -m iface -I iface_name --op=new
Cela créera une nouvelle configuration iface vide avec une valeur iface_name spécifiée. Si une configuration iface existante possède déjà la même valeur iface_name, alors celle-ci sera écrasée par une autre, nouvelle et vide.
Pour configurer le paramètre spécifique d'une configuration iface, veuillez utiliser la commande suivante :
# iscsiadm -m iface -I iface_name --op=update -n iface.setting -v hw_address

Exemple 24.9. Définir l'adresse MAC de iface0

Par exemple, pour définir l'adresse MAC (hardware_address) de iface0 sur 00:0F:1F:92:6B:BF, veuillez exécuter :
# iscsiadm -m iface -I iface0 --op=update -n iface.hwaddress -v 00:0F:1F:92:6B:BF

Avertissement

Ne pas utiliser default ou iser comme noms iface. Ces deux chaînes sont des valeurs spéciales utilisées par iscsiadm pour une compatibilité ascendante. Toute configuration iface créée manuellement nommée default ou iser désactivera la compatibilité ascendante.

24.13.3. Configurer un iface pour le déchargement iSCSI

Par défaut, iscsiadm créera une configuration iface pour chaque port. Pour afficher les configurations iface disponibles, veuillez utiliser la même commande que pour le logiciel iSCSI, c'est-à-dire iscsiadm -m iface.
Avant d'utiliser l'iface d'une carte réseau pour le déchargement iSCSI, veuillez commencer par définir l'adresse IP (target_IP[5]) que le périphérique devrait utiliser. Pour les périphériques qui utilisent le pilote be2iscsi, l'adresse IP est configurée dans l'écran de paramétrage BIOS. Pour tous les autres périphériques, pour configurer l'adresse IP d'iface, utilisez :
# iscsiadm -m iface -I iface_name -o update -n iface.ipaddress -v target_IP

Exemple 24.10. Paramétrez l'adresse IP de l'iface d'une carte Chelsio

Par exemple, pour définir l'adresse IP iface à 20.15.0.66 avec une carte dont le nom iface est cxgb3i.00:07:43:05:97:07, utilisez :
# iscsiadm -m iface -I cxgb3i.00:07:43:05:97:07 -o update -n iface.ipaddress -v 20.15.0.66

24.13.4. Lier ou délier un iface sur un portail

Chaque fois que iscsiadm est utilisé pour rechercher des interconnexions, la vérification commencera par les paramètres iface.transport de chaque configuration iface dans /var/lib/iscsi/ifaces. L'utilitaire iscsiadm liera ensuite les portails découverts avec tout iface dont iface.transport est tcp.
Ce comportement a été implémenté pour des raisons de compatibilité. Pour le remplacer, veuillez utiliser -I iface_name pour spécifier quel portail lier à un iface, comme suit :
# iscsiadm -m discovery -t st -p target_IP:port -I iface_name -P 1
[5]
Par défaut, l'utilitaire iscsiadm ne liera pas automatiquement tous les portails aux configurations iface utilisant le déchargement. Ceci est dû au fait que de telles configurations iface n'ont pas paramétré iface.transport sur tcp. Ainsi, les configurations iface doivent être liées manuellement aux portails découverts.
Il est également possible d'empêcher un portail de se lier à tout iface existant. Pour ce faire, veuillez utiliser default comme iface_name de la manière suivante :
# iscsiadm -m discovery -t st -p IP:port -I default -P 1
Pour supprimer la liaison entre une cible et iface, veuillez utiliser :
# iscsiadm -m node -targetname proper_target_name -I iface0 --op=delete[6]
Pour supprimer toutes les liaisons à un iface particulier, veuillez utiliser :
# iscsiadm -m node -I iface_name --op=delete
Pour supprimer les liaisons d'un portail particulier (par exemple pour des cibles Equalogic), veuillez utiliser :
# iscsiadm -m node -p IP:port -I iface_name --op=delete

Note

S'il n'y a pas de configuration iface définie dans /var/lib/iscsi/iface et que l'option -I n'est pas utilisée, iscsiadm autorisera le sous-système du réseau à décider quel périphérique un portail particulier devrait utiliser.


[6] Refer to Section 24.14, « Scanner les interconnexions iSCSI » for information on proper_target_name.