Errores y retransmisiones de iperf3 en ESXi

Errores y retransmisiones de iperf3 en ESXi

Cuando ejecuto iperf3 para probar una conexión de 100G entre una caja VMware ESXi y una caja TrueNAS Core, veo lo siguiente en la caja ESXi:

  1. El mensaje "iperf3: getsockopt - Función no implementada" en cada intervalo
  2. Una gran cantidad de retransmisiones informadas en el primer y último intervalo, pero no en las estadísticas resumidas.

¿Está bien ignorar ambos? ¿O son indicativos de problemas reales?

Aquí están los detalles....

Configuración del servidor:

Supermicro H12SSL-NT, EPYC 7262, 128GB RAM
TrueNAS 13.0 U3
Mellanox ConnectX-5 100G
iperf3 v3.10.1

Configuración del cliente:

Supermicro X9SRE-F, E5-1650 v2, 16GB RAM
ESXi 6.7.0 P08
Mellanox ConnectX-5 100G
iperf3 v3.1.6

Comando del servidor:

iperf3 -s -B 192.168.25.5 -p 5101

Comando del cliente y salida:

[root@esxi:/usr/lib/vmware/vsan/bin] ./iperf3.copy -B 192.168.25.6 -c 192.168.25.5 -i 1 -p 5101 -f g -t 10
Connecting to host 192.168.25.5, port 5101
[  4] local 192.168.25.6 port 27617 connected to 192.168.25.5 port 5101
iperf3: getsockopt - Function not implemented
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  3.08 GBytes  26.4 Gbits/sec  8638800   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   1.00-2.00   sec  3.03 GBytes  26.0 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   2.00-3.00   sec  3.11 GBytes  26.7 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   3.00-4.00   sec  2.91 GBytes  25.0 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   4.00-5.00   sec  3.01 GBytes  25.9 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   5.00-6.00   sec  3.04 GBytes  26.1 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   6.00-7.00   sec   883 MBytes  7.41 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   7.00-8.00   sec  2.99 GBytes  25.7 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   8.00-9.00   sec  1.27 GBytes  10.9 Gbits/sec    0   0.00 Bytes       
iperf3: getsockopt - Function not implemented
[  4]   9.00-10.00  sec  2.75 GBytes  23.7 Gbits/sec  4286328496   0.00 Bytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  26.0 GBytes  22.4 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  26.0 GBytes  22.4 Gbits/sec                  receiver

iperf Done.

Respuesta1

Este mensaje de error se produce debido a que las estadísticas de TCP no están en la estructura esperada en "ESXi's Linux".

La verificación de funciones en iperf es simplemente "¿es Linux" (https://github.com/esnet/iperf/blob/a2ce47a97acfad3acee91a6cb4da28f9f50c19df/src/tcp_info.c#L63), y espera que los datos se encuentren mediante una llamada getsockopt para TCP_INFO en una estructura específica.

Las estadísticas generales de la ejecución de prueba siguen siendo válidas ya que no dependen de la funcionalidad de comparación de intervalos.

Existen diferencias para FreeBSD, por ejemplo, que devuelve una estructura de datos diferente en comparación con el kernel de Linux. Verhttps://github.com/esnet/iperf/pull/244para detalles.

Se llama a save_tcpinfo para guardar información en cada período de intervalo, pero parece que la versión de iperf y Linux de ESXi no funcionan bien juntas para las estadísticas de intervalo.

Aquí se puede ver un ejemplo de cómo Dell también tiene este problema en la producción principal: https://www.dell.com/support/kbdoc/en-uk/000187640/dell-emc-vxrail-vsan-hosts-network-performance-test-does-not-exceed-10-000mb-s-bandwidth- infraestructura de red de 25 GB o superior.

El artículo anterior de Dell también puede brindarle algunos consejos sobre cómo manipular iperf para obtener el ancho de banda que esperaba...

información relacionada