ESXi의 iperf3 오류 및 재전송

ESXi의 iperf3 오류 및 재전송

iperf3을 실행하여 VMware ESXi 상자와 TrueNAS Core 상자 사이의 100G 연결을 테스트할 때 ESXi 상자에 다음이 표시됩니다.

  1. 간격마다 "iperf3: getsockopt - 기능이 구현되지 않았습니다"라는 메시지가 나타납니다.
  2. 첫 번째 및 마지막 간격에 많은 수의 재전송이 보고되었지만 요약 통계에는 보고되지 않았습니다.

이 두 가지를 모두 무시해도 괜찮나요? 아니면 실제 문제를 나타내는 것입니까?

자세한 내용은 다음과 같습니다....

서버 설정:

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

클라이언트 설정:

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

서버 명령:

iperf3 -s -B 192.168.25.5 -p 5101

클라이언트 명령 및 출력:

[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.

답변1

이 오류 메시지는 "ESXi Linux"의 예상 구조에 TCP 통계가 없기 때문에 생성됩니다.

iperf의 기능 확인은 단순히 "Linux입니까?"(https://github.com/esnet/iperf/blob/a2ce47a97acfad3acee91a6cb4da28f9f50c19df/src/tcp_info.c#L63), 특정 구조에서 TCP_INFO에 대한 getsockopt 호출을 통해 데이터가 발견될 것으로 예상합니다.

테스트 실행에 대한 전체 통계는 간격 비교 기능에 의존하지 않으므로 여전히 유효합니다.

예를 들어 FreeBSD에는 Linux 커널과 비교하여 반환되는 데이터 구조가 다르다는 차이점이 있습니다. 보다https://github.com/esnet/iperf/pull/244자세한 내용은.

save_tcpinfo를 호출해 간격별로 정보를 저장하는데, iperf 버전과 ESXi의 Linux 버전이 간격 통계를 제대로 구현하지 못하는 것 같습니다.

메인라인 생산에서도 Dell이 이 문제를 겪고 있는 예는 다음에서 볼 수 있습니다. https://www.dell.com/support/kbdoc/en-uk/000187640/dell-emc-vxrail-vsan-hosts-network-performance-test-does-not-exceed-10-000mb-s-bandwidth- 25GB 이상의 네트워크 인프라.

위의 Dell 문서에서는 예상했던 대역폭을 얻기 위해 iperf를 조작하는 방법에 대한 몇 가지 지침을 제공할 수도 있습니다.

관련 정보