说前提:
R720xd, Esxi 7.0 U2, Intel X540 万兆 SR-IOV 给 WinServer 2019 作为 NAS 使用
发现问题
发现 samba 局域网共享听歌总是卡顿,iperf3 测试 UDP 丢包达 80%以上!
处理经过
- 怀疑网线或网口问题,更换了多个,没解决
- 怀疑主力机问题,格式化重装系统+更换万兆网卡+尝试板载网卡,还是丢包
- ESXi 上 win server 从 2019 换到 2016,虚拟机都是彻底删除重新建立的,无效
- 怀疑局域网内设备问题,比如 ARP 缓存之类的,路由器+万兆交换机双双重置,无效
- 索性将 ESXi 整个格式化了重新安装,无效
细节阐述
- ESXi 上的 winserver 2019 做 server 端,主力机做 client 端,测试丢包
- 主力机做 server 端,ESXi 上的 winserver 2019 做 client 端,不丢包
- iperf3 测试过程中使用 wireshark 抓包,只看 UDP 协议,没有异常包出现
剩下只能怀疑是 windows 系统层面的问题了,但是这块参考 ESXi 和 windows 的策略均无效,
- 网卡参数,巨帧开关,测试还是丢包
- 网卡参数,接收缓冲区,传输缓冲区,改了还是丢包
- MTU 更改,还是美国服务器丢包
头都大了,有大佬碰到过这种问题或有什么思路吗
没头绪,开 ssh,让我上去看看
是不是跟 smb 版本有关系?
第一想法是去更新 firmware...
绕过交换机直连看看还丢包么
iperf3 的 udp 好像有问题,换个再测测看?
搞个 Ubuntu 虚拟机测试先咯 虚拟化的便利性不利用干啥
有没有经过交换机?有的话看一下交换机是不是又组播相关设置,IGMP snoop 之类的。虽然可能性不高但我见过类似案例的也就这一种可能了。
就没试过绕过交换机吗。。。
这个应该不是吧,因为丢包没走 smb
交换机也换过,直连到没试过,因为是虚拟化,宿主机和虚拟机都走一根网线
firmware 倒是没想过,反正虚拟机上的 intel 驱动换了个遍,另外宿主机的驱动是集成的,想换也没别的
试了,双方都连路由器,也没用
IGMP snoop 交换机上有,但是从来没设置过,回去试试,但是好像也不对,都是走的交换机,为何 Ubuntu 没事
有什么其他测试 UDP 丢包的工具吗?
网线直连 nas 网口测 iperf
tcpdump
我前几天更新 Windows 也遇到了类似的问题
我的 Windows 是装在 Parallels 里的虚拟机,NAS 是用 samba 共享的
目前我缓解的办法是在 Parallels 里不用独立网卡了,跟 macOS 共享网络然后就没问题了
想起来你可以试一下 TCP 有没有类似的问题,出问题的时候我用 Windows 访问 NAS 上的 web service 都有问题
试试 nuttcp,我之前也是 iperf 报了很高的 udp 丢包,查到了很多相关 issue 和提问,看到 nuttcp 试了下就很正常。
1.首先要确保,除了 R720xd 之外,其他所有设备,包括别的电脑、网卡、路由器、交换机、网线或光纤,都必须在万兆环境下,测试过,并且能达到线速。
2.R720xd 全格,装 Windows,然后两台 Windows 直接用 Dukto 在内网测网速试试。
测速时,两台电脑请打开任务管理器来监视 CPU 使用率与带宽使用率,打开资源监视器来监视磁盘负载(活动时间)。确保这三个指标低于 100%。
3.如果 3 指标都低于 100%但速度达不到线速,两台电脑换 Linux 系统试试。Linux 系统建议用 ftp 来测试。
测试时,两端打开 top 来监视 CPU 使用率,用 iostat -x -m -d 1 来监视磁盘负载(%util ),用 dstat -t -n -d -c -m -p -s --tcp --udp 来监视网络。
如果还不行,换网卡。
还不行,怀疑机器硬件问题。可以用硬件设备的逐个替换法来实验。比如换个主板,换个 CPU,换个内存等等。