
Tengo un conmutador Aruba 2530 con 4 puertos como troncal LACP conectado a QNAP con 4 NIC configuradas como troncal dinámica 802.3ad. Cuando 2 clientes intentan escribir o copiar un archivo en QNAP, cada uno obtiene una velocidad de 100 MB/s, por lo que la agregación es funcionando y puedo ver en el monitor de recursos de QNAP que se utilizan dos NIC. Pero cuando ambos clientes intentan copiar desde QNAP, solo se utiliza una NIC y ambos clientes copian datos a 50 MB/s.
¿Hay algo que pueda causar tal comportamiento? ¿Copiar a QNAP es rápido y usar agregación, pero copiar desde QNAP no lo es?
Actualización 1: - El tráfico entrante a QNAP se distribuye en más de una NIC (LACP funciona). - El tráfico saliente a QNAP solo utiliza una NIC en todo momento (LACP no funciona).
Actualización 2: gato /proc/net/bonding/bond0
Modo de enlace: IEEE 802.3ad Agregación de enlaces dinámicos Política de transmisión de hash: capa 2+3 (2) Estado MII: arriba Intervalo de sondeo MII (ms): 100 Retardo de subida (ms): 0 Retardo de bajada (ms): 0 información 802.3ad Tasa LACP: lenta Enlaces mínimos: 0 Política de selección de agregadores (ad_select): estable Interfaz esclava: eth2 Estado MII: arriba Velocidad: 1000Mbps Dúplex: completo Recuento de errores de enlace: 3 Dirección HW permanente: 24:5e:be:27:e1:2b ID de cola esclava: 0 ID del agregador: 4 Estado de rotación de actores: ninguno Estado de abandono de socios: ninguno Recuento de abandonos de actores: 1 Número de socios abandonados: 1 Interfaz esclava: eth3 Estado MII: arriba Velocidad: 1000Mbps Dúplex: completo Recuento de errores de enlace: 3 Dirección HW permanente: 24:5e:be:27:e1:2c ID de cola esclava: 0 ID del agregador: 4 Estado de rotación de actores: ninguno Estado de abandono de socios: ninguno Recuento de abandonos de actores: 0 Número de socios abandonados: 1
Respuesta1
La agregación de enlaces con LACP siempre intenta "fijar" cada conexión a una única NIC para evitar la reordenación de paquetes. La NIC se selecciona aplicando hash a las direcciones MAC y/o IP del paquete (a veces también a los puertos TCP/UDP). Esto siempre se hace en el lado de "envío": mediante el conmutador de Aruba al almacenar archivos; por QNAP al recuperar archivos.
La selección del puerto es determinista: no le importa la carga/uso actual; el mismo encabezado de paquete siempre selecciona el mismo puerto y puede suceder que los paquetes de ambos clientes obtengan el mismo hash.
(En particular, cuando todos los clientes están detrás de un enrutador, la dirección MAC de destino será la misma y siempre se enviará al mismo puerto). Asegúrese de que la "política de hash" esté configurada en "Capa 2+3 (MAC+IP) " como endocumentación: