Kube-OVN网络MTU值不一致导致数据包丢失问题
问题现象 排查原因 解决方法 问题现象 KubeVirt虚拟机Linux工作正常,Windows系统远程桌面内网可以正常连接,公网映射以后无法连接,报事件20499错误。Windows系统应用无法正常使用网络,报连接超时。 远程桌面服务花赛了太长时间为用户 Administrator 加载服务器 \WIN-DNRLMIUJ4AH 中的用户配置 排查原因 当刚遇到远程桌面无法连接时,怀疑是Windows系统配置问题,但经过各种配置修改,无法解决。当发现系统应用无法正常使用网络时,认为这不是一个系统配置问题,应该排查虚拟机和物理主机网络。 查看物理主机内核日志信息,发现MTU过大导致丢包 [3726832.278168] net_ratelimit: 7 callbacks suppressed [3726832.278191] 200ca1e3bdc6_h: dropped over-mtu packet: 1500 > 1400 [3726839.766777] 200ca1e3bdc6_h: dropped over-mtu packet: 1500 > 1400 [3726989.204844] 200ca1e3bdc6_h: dropped over-mtu packet: 1472 > 1400 [3726989.467581] 200ca1e3bdc6_h: dropped over-mtu packet: 1472 > 1400 [3726997.614904] net_ratelimit: 11 callbacks suppressed [3726997.614928] 200ca1e3bdc6_h: dropped over-mtu packet: 1472 > 1400 查看物理主机和虚拟机网卡MTU,物理主机网卡MTU值为1500,br-vmnet网桥MTU值为1400。虚拟机网卡MTU为1400。 root@rack2-worker89:~$ ip a|grep -i mtu 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 4: ens4f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP group default qlen 1000 11: br-int: <BROADCAST,MULTICAST> mtu 1400 qdisc noop state DOWN group default qlen 1000 18: br-vmnet: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 1000 22: 843c5eba6dc2_h@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue master ovs-system state UP group default qlen 查看Kube-OVN文档资料,使用Underlay网络时,Pod应该会使用与主机网卡MTU一致数值,也就是应该是1500才对。