[Red] mecanismos de detección de enlace y de recuperación de la red de enlace de puerto Linux

Los proyectos más recientes se encuentran un problema, el autor plantea un lazo Linux acuerdo de investigación y lacp:

escenario:

Como puede observarse, el servidor de configuración tiene dos tarjetas de red bond0, el trabajo bajo carga mode4 modo, ahora en curso servidor de prueba ping desde Cliente de equilibrio, que se encuentran :

  1. Cuando el tapón del lado de puerto de red física de servidor del cable de red, de de ping estado normal, sin pérdida de paquetes;
  2. Al utilizar ifconfig abajo enp4s0f0 1 cerrar / al puerto de red física, los paquetes de gota de ping, y durante 1 minuto, y luego vuelto a la normalidad;

Este resultado de la prueba es realmente muy extravagante, la tecnología de unión a la mente es la redundancia de enlace y aumento de ancho de banda, pero ahora se encuentra en cerrado artificialmente después de uno de los puertos de red física, siempre será en realidad le hacen cortes en la red, tenía personas enseñan a llegar al fondo de su doce, con el fin de resolver este problema, tenemos que averiguar las siguientes cuestiones :

  1. Cuando conecte el cable de red, la red normal, lo que indica que se unen a garantizar que la duplicación de enlace, es ¿cómo hacer?
  2. Cuando ifconfig abajo puerto de red cerrada, caídas de la red, lo que indica que se unen no asegura que la redundancia de enlaces, y por qué?
  3. Después de interrupciones de la red, es la recuperación de la forma automática?
  4. Cuando el enlace no se puede garantizar la redundancia de enlace y el tiempo de inactividad por qué tanto tiempo?

archivo de configuración del NIC en el servidor de aquí fijada, prestar atención a las anotaciones de cuenta regresiva segunda y tercera fila, que serán el foco de discusión en este artículo:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto enp4s0f0
iface enp4s0f0 inet manual
bond-master bond0

auto enp4s0f1
iface enp4s0f1 inet manual
bond-master bond0

# mgmt network
auto bond0
iface bond0 inet static
  address 172.31.20.22
 mtu 1550
  netmask 255.255.255.0
  gateway 172.31.20.254
  dns-nameservers 172.31.20.64
  bond-mode 4
  bond-miimon 100                 # mii对slave网口的检测周期,为100ms   
  bond-lacp-rate 1                # lacpud发送周期为1s,配置为0则为30s
  bond-slaves enp4s0f0 enp4s0f1

Pregunta 1: Cuando se conecta el cable de red, la red normal, lo que indica que se unen a garantizar que la duplicación de enlace, es ¿cómo hacer?

Solución: Con el fin de asegurar que el enlace disponibilidad de enlace, proporciona dos mecanismo de detección de enlace, detección y MII son la detección ARP, la configuración descrita anteriormente, `enlace miimon 100` MII representa un enlace para la detección de un ciclo de 100 ms, la desenchufado cuando el cable de red, vínculo de MII detección de fallo de enlace se encuentra la interfaz de red adecuada, que dirige el tráfico a la salud del puerto de red, información detallada acerca de la detección de MII, con poco a este artículo, consulte la documentación de IBM .

Pregunta 2: Dado que el enlace puede detectar el fallo de enlace, ¿por qué no en el ifconfig abajo cerca del puerto de red que?

Solución: El enlace al leer / proc / NET / unión / bond0 este documento, las interfaces de bonos para adquirir información de estado, para lograr el propósito de la prueba, en circunstancias normales, los siguientes documentos, ver (ya cortada innecesaria información), y el puerto de dos bond0 red física, `MII Estado: up`:

root@tr02n12:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
...
...
Slave Interface: enp4s0f0
MII Status: up
...
...
Slave Interface: enp4s0f1
MII Status: up
...
...

Si el puerto de red correspondiente a enp4s0f0 desenchufe, encontrará, que va a cambiar la enp4s0f0 `MII Estado: down`, bonos de ese modo conocer las interfaces de falla, el tráfico dirigido a enp4s0f1;

root@tr02n12:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
...
...
Slave Interface: enp4s0f0
MII Status: down
...
...
Slave Interface: enp4s0f1
MII Status: up
...
...

Así que si se utiliza el comando boca de la red cerrada, vamos a probarlo, encontrar el archivo en el enp4s0f1 información relevante se elimina, y por lo tanto enlace no puede llegar al enp4s0f1 Estado MII, el artículo no será capaz de detectar un fallo de enlace, no puede asegurar la alta disponibilidad de enlace:

root@tr02n12:~# ifdown enp4s0f1
root@tr02n12:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
...
...
Slave Interface: enp4s0f0
MII Status: up

Pregunta 3: Después de las interrupciones de red, es la recuperación de la forma automática?

RESPUESTA: Desde el comando de marcha en el caso de la red boca cerrada, la detección de fallo de la unión no se puede hacer, entonces la red después de un período de tiempo es cómo restaurar automáticamente? Del archivo de configuración de bonos, podemos ver que `bono-4'modo, este modelo también se llama el modo 802.3ad , basado en la disponibilidad de protocolo LACP asegura un enlace, la recuperación automática en caso de fallo, por lo tanto, la respuesta a esta pregunta es , cortes en la red debido a que el vínculo no detecta un fallo de enlace, y LACP detecta un fallo de enlace y la recuperación automática, enlace LACP es cómo restaurarlo, será un problema en la siguiente descripción.

Pregunta 4: Cuando el enlace no se puede garantizar la redundancia de enlace y el tiempo de inactividad por qué tanto tiempo?

Solución: LACP agregación de enlaces entre los dispositivos de interfaz de red en ambos extremos, por LACPDU y el intercambio entre pares de información, veamos el formato de paquetes LACP , en los cuales:

LACP_Timeout:代表链路接收LACPDU报文的周期,有两种,快周期1s和慢周期30s,超时时间为周期的3倍。短超时被编码为1,长超时被编码为0。

Esto especifica el tiempo de espera de campo, si el interlocutor no recibe LACPDU dentro del período de tiempo de espera, luego de que fallo de enlace, el interruptor de enlace. Cuando los dispositivos LACP_Timeout en ambos extremos son inconsistentes, sujeto a una larga. Dada nuestra situación, las interrupciones de red tienen tiempo suficiente para 1 minuto, porque aquí es razón para sospechar que el tiempo de espera para la consulta de los 90, desde el archivo de configuración, `fast`-tasa lacp representa la configuración de puerto del servidor de bonos del campo está un corto tiempo de espera, entonces el problema se puede producir en una configuración de puerto de la agregación en el interruptor de pares, deje a verificar tcpdump de captura de paquetes (grab una capa tipo de protocolo es 0x8809, a saber empaquetar protocolo LACP en enp4s0f0, y la pantalla detallada):

root@tr02n12:~# tcpdump -e ether -i enp4s0f0 proto 0x8809 -vv -c 1
tcpdump: listening on enp4s0f0, link-type EN10MB (Ethernet), capture size 262144 bytes
17:54:03.486988 ec:0d:9a:9c:99:56 (oui Unknown) > 01:80:c2:00:00:02 (oui Unknown), ethertype Slow Protocols (0x8809), length 124: LACPv1, length 110
	Actor Information TLV (0x01), length 20
	  System ec:0d:9a:9c:99:56 (oui Unknown), System Priority 65535, Key 15, Port 3, Port Priority 255
	  State Flags [Activity, Timeout, Aggregation, Synchronization, Collecting, Distributing]
	Partner Information TLV (0x02), length 20
	  System 5c:83:8f:4b:eb:c1 (oui Unknown), System Priority 32768, Key 126, Port 283, Port Priority 32768
	  State Flags [Activity, Aggregation, Synchronization, Collecting, Distributing]
	Collector Information TLV (0x03), length 16
	  Max Delay 0
	Terminator TLV (0x00), length 0
1 packet captured
1 packet received by filter
0 packets dropped by kernel

Por dirección MAC contraste enp4s0f0 puede determinarse a partir de lo anterior, el paquete se envía a enp4s0f0 LACPDU Los paquetes LACP a los pares de acuerdo con LACP formato de paquete de información, se puede ver, no hay bits establecidos final de tiempo de espera, es tan dispuestos el largo tiempo de espera, que es 90, por lo tanto, el tiempo de recuperación de enlace será tan larga. Para resolver este problema, la necesidad de agregar el puerto correspondiente en el interruptor también está dispuesto lacp tiempo de espera corto tiempo de espera, en cuyo caso, el tiempo de recuperación después de cerrar manualmente la red de puertos debe convertirse en alrededor de 3 segundos.

resumen

En la presente memoria iniciado por el cierre de un puerto de puerto manual de interrupción análisis fallo de la unión, e ilustra la disponibilidad del enlace principio de detección enlace para verificar el efecto del parámetro de tiempo de espera de LACP. Se explica la causa enchufe el puerto del cable de la red y ordenó el cierre de un resultado diferente bajo razones de bonos.

Publicado 24 artículos originales · ganado elogios 23 · Vistas a 70000 +

Supongo que te gusta

Origin blog.csdn.net/m0_37904728/article/details/104798846
Recomendado
Clasificación