GNU/Linux >> Tutoriels Linux >  >> Cent OS

Délai d'expiration de la découverte "iscsiadm" avec deux interfaces réseau ou plus dans CentOS/RHEL

Le problème

La découverte iscsiadm expire lorsque les deux interfaces sont actives, mais cela fonctionne correctement avec une seule interface active.

# iscsiadm -m discovery -t st -p x.x.x.x
iscsiadm: connect to x.x.x.x timed out
iscsiadm: connect to x.x.x.x timed out

La solution

Ce problème peut se produire lorsque deux interfaces Ethernet ou plus sont connectées au même sous-réseau ou lorsque la connexion iSCSI est configurée pour utiliser une interface spécifique. Dans de tels cas, lorsque les paquets sont livrés à la mauvaise interface, le système d'exploitation pensera qu'il est envoyé à un port fermé ou à une mauvaise destination et expirera. Afin de résoudre ce problème, nous devons configurer pour accepter les paquets routés de manière asymétrique sur les deux interfaces du client iSCSI sur lequel nous obtenons ce message d'erreur :

1. Définissez net.ipv4.conf.all.arp_ignore de sysctl sur 1 pour forcer chaque interface à ne répondre qu'aux requêtes ARP pour ses propres adresses. Ou définissez net.ipv4.conf.[INTERFACE].arp_ignore sur 1 pour chaque interface qui est un chemin vers le stockage iscsi.

Par exemple, dans /etc/sysctl.conf :

# vi /etc/sysctl.conf
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

Ou, pour ne le définir que pour les interfaces pertinentes (en supposant qu'il s'agisse d'eth0 et d'eth1) :

# vi /etc/sysctl.conf
net.ipv4.conf.eth0.rp_filter=0
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce=2
net.ipv4.conf.eth1.rp_filter=0
net.ipv4.conf.eth1.arp_ignore = 1
net.ipv4.conf.eth1.arp_announce=2

2. Appliquez le paramètre à l'aide de la commande ci-dessous :

# sysctl -p /etc/sysctl.conf

3. Vérifiez si les nouveaux paramètres appliqués fonctionnent correctement :

# sysctl -a

4. Maintenant, supprimez les anciens fichiers de /var/lib/iscsi/ifaces :

# rm -rf /var/lib/iscsi/ifaces

Cela devrait résoudre le délai d'expiration de la découverte iscsi lorsque deux interfaces sont configurées.

Pour CentOS/RHEL 7

Notez que si CentOS/RHEL 7 est installé sur le système, veuillez saisir les paramètres sysctl ci-dessus dans le fichier /etc/sysctl.d/99-sysctl.conf, puis exécutez la commande ci-dessous pour relire les paramètres du fichier de configuration :

# sysctl --system

Remarques

Ce problème peut se produire si une connexion iSCSI est configurée pour utiliser une interface réseau spécifique. Si des paquets iscsi sont livrés à la mauvaise interface, Linux répondra comme si les données étaient envoyées à un port fermé et enverra un paquet RST. Tant que les données reçues arrivent dans la mauvaise interface, la connexion restera interrompue et ne pourra pas être restaurée.

Cela peut se produire lorsque plusieurs adaptateurs sont connectés au même sous-réseau. Par défaut, Linux répondra à toutes les requêtes ARP pour n'importe quelle adresse IP du système, quelle que soit l'interface d'où provient la requête ARP. Si une interface différente répond à la requête ARP pour l'adresse IP de la connexion iscsi, le trafic sera acheminé vers la mauvaise interface et la connexion échouera. L'activation de arp_ignore force une interface réseau à ne répondre qu'aux requêtes ARP pour ses propres adresses. Cela empêche la réponse ARP de la mauvaise interface et maintient le fonctionnement de la connexion iscsi.


Cent OS
  1. Comment désactiver NetworkManager sur CentOS / RHEL 7

  2. CentOS / RHEL 7 :Comment configurer la liaison réseau ou l'association de cartes réseau

  3. Délai d'expiration de la découverte "iscsiadm" avec deux interfaces réseau ou plus dans CentOS/RHEL

  4. Comment configurer l'association d'interfaces réseau dans CentOS/RHEL 7 et 8

  5. Script Shell pour trouver l'état et la vitesse de la liaison de l'interface réseau (CentOS/RHEL)

Comment configurer la liaison d'interface réseau sur RHEL 8 / CentOS 8 Linux

Configurer la liaison NIC (carte d'interface réseau) dans CentOS 7/RHEL 7

Comment désactiver IPv6 sur CentOS 7 / RHEL 7

Comment désactiver IPv6 sur CentOS 8 / RHEL 8

Comment changer le nom de l'interface réseau en eth0 sur CentOS 8 / RHEL 8

3 façons de créer un pont réseau dans RHEL/CentOS 8