GNU/Linux >> Tutoriales Linux >  >> Cent OS

Tiempo de espera de descubrimiento “iscsiadm” con dos o más interfaces de red en CentOS/RHEL

El problema

El descubrimiento de iscsiadm se agota cuando ambas interfaces están activas, pero funciona bien con una sola interfaz activa.

# 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 solución

Este problema podría ocurrir cuando dos o más interfaces Ethernet están conectadas a la misma subred o cuando la conexión iSCSI está configurada para usar una interfaz específica. En tales casos, cuando los paquetes se entregan a la interfaz incorrecta, el sistema operativo pensará que se envió a un puerto cerrado o a un destino incorrecto y se agota el tiempo de espera. Para resolver este problema, debemos configurar para aceptar paquetes enrutados asimétricamente en ambas interfaces del cliente iSCSI en el que recibimos este mensaje de error:

1. Establezca net.ipv4.conf.all.arp_ignore de sysctl en 1 para obligar a cada interfaz a responder solo solicitudes ARP para sus propias direcciones. O establezca net.ipv4.conf.[INTERFACE].arp_ignore en 1 para cada interfaz que sea una ruta al almacenamiento iscsi.

Por ejemplo, en /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

O bien, configurarlo solo para las interfaces relevantes (suponiendo que sean eth0 y 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. Aplique la configuración usando el siguiente comando:

# sysctl -p /etc/sysctl.conf

3. Compruebe si la nueva configuración se aplicó con éxito:

# sysctl -a

4. Ahora, elimine los archivos antiguos de /var/lib/iscsi/ifaces:

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

Esto debería resolver el tiempo de espera de detección de iscsi cuando se configuran dos interfaces.

Para CentOS/RHEL 7

Tenga en cuenta que si el sistema tiene instalado CentOS/RHEL 7, ingrese los parámetros sysctl anteriores en el archivo /etc/sysctl.d/99-sysctl.conf y luego ejecute el siguiente comando para volver a leer la configuración del archivo de configuración:

# sysctl --system

Notas

Este problema puede ocurrir si una conexión iSCSI está configurada para usar una interfaz de red específica. Si los paquetes iscsi se envían a la interfaz incorrecta, Linux responderá como si los datos se enviaran a un puerto cerrado y enviará un paquete RST. Mientras los datos recibidos provengan de la interfaz incorrecta, la conexión permanecerá interrumpida y no se podrá restaurar.

Esto puede ocurrir cuando varios adaptadores están conectados a la misma subred. De forma predeterminada, Linux responderá a todas las solicitudes ARP para cualquiera de las direcciones IP del sistema, independientemente de la interfaz de la que provenga la solicitud ARP. Si una interfaz diferente responde a la solicitud ARP de la dirección IP de la conexión iscsi, el tráfico se enrutará a la interfaz incorrecta y la conexión fallará. Activar arp_ignore obliga a una interfaz de red a responder solo solicitudes ARP para sus propias direcciones. Esto evita la respuesta ARP desde la interfaz incorrecta y mantiene el funcionamiento de la conexión iscsi.


Cent OS
  1. CentOS / RHEL 7:Cómo modificar los nombres de la interfaz de red

  2. CentOS/RHEL 7:Configuración de direcciones IP estáticas mediante archivos de configuración de interfaz de red

  3. Tiempo de espera de descubrimiento “iscsiadm” con dos o más interfaces de red en CentOS/RHEL

  4. Cómo configurar la formación de equipos de interfaz de red en CentOS/RHEL 7 y 8

  5. Shell Script para encontrar el estado y la velocidad del enlace de la interfaz de red (CentOS/RHEL)

Cómo configurar la vinculación de la interfaz de red en RHEL 8 / CentOS 8 Linux

Configurar la vinculación de NIC (tarjeta de interfaz de red) en CentOS 7 / RHEL 7

Cómo deshabilitar IPv6 en CentOS 7 / RHEL 7

Cómo deshabilitar IPv6 en CentOS 8 / RHEL 8

Cómo cambiar el nombre de la interfaz de red a eth0 en CentOS 8/RHEL 8

3 formas de crear un puente de red en RHEL/CentOS 8