我有一台 HP Proliant ML350 G6,配备两个集成 Broadcom NetXTreme 千兆以太网端口,运行 Windows Server 2016,已于今天更新。
如果我在我的 hyper v 主机上共享一个文件夹,我可以通过网络以大约 90MB/s 的速度添加和删除文件(两个端口提供完全相同的速度)。
上图是在 Hyper V 主机上。我已将网络 2 作为网络 2 添加到 Hyper V 交换机管理器中。
在这里您可以看到虚拟交换机管理器和客户机中的网络连接的图片。
问题是,当我从客户机到网络共享一个文件夹时,我只能以 10MB/s 的速度访问该文件夹。也就是说,我的千兆网络在某个时候被限制到只有 100Mbit。我没有使用传统连接。
这不是磁盘的问题,因为在客户机上,我可以以大约 100MB/s 的速度在硬盘之间移动文件。下图是客户机将文件从一个驱动器复制到另一个驱动器。
所以我的问题是。我必须进行哪些更改才能使 Hyper V 来宾虚拟机到我的网络获得千兆速度,因为我现在从来宾虚拟机到网络的速度只有 100Mbit。
我查看过的所有地方都显示千兆位,并且主机可以使用,那么为什么客户机不可以呢?
编辑:因此澄清一下:任何网络 PC 都可以以 ~100MB/s 的速度访问 Hyper V 主机网络文件共享。主机可以以 ~100MB/s 的速度读取客户机网络共享。如果能够以 100MB/s 的速度访问主机的相同 PC 尝试访问客户机,则在访问任何 Hyper V 客户机网络共享时,它们只能获得 10MB/s 的速度。为什么?
答案1
确认虚拟机中没有使用任何“旧版 NIC”?这些 NIC 的速度限制为 100mbps。这可能会导致虚拟网络(绑定到物理 NIC)协商较低的速度。
其他要做的事情: - 更新 NIC 驱动程序 - 在设备管理器中强制 1gbps 操作 - 更换连接问题 NIC 的跳线 - 检查电缆。上面的两个线程通过更换电缆解决了类似的问题。
答案2
- 运行合成网络测试来检查吞吐量(例如 iperf)。
- 检查从服务器到客户端的所有链路。如果只有一条链路速度为 100 Mbit/s(可能是电缆故障),则流无法更快传输。
- 检查是否有更新的服务器 NIC 驱动程序 - 安装 DVD 上或通过 Windows 更新安装的驱动程序可能有问题。
答案3
我已经多次遇到过这个问题。我猜想这与 Broadcom NIC 中一个相当臭名昭著的漏洞有关。
我发现了两种解决方案 -
第一个解决方案 - 很可能有帮助
更改物理网卡和 Hyper-v 交换机的属性:禁用 VMQ:
禁用所有可用的“卸载选项”。TCP/UDP CHECKSUM OFFLASD 等,所有带有“OFFLOAD”的选项都应禁用。尝试在客户系统中禁用相同的“卸载”选项。
第二种解决方案
从您制造的服务器(戴尔、惠普)下载 Broadcom 驱动程序。请按照https://www.reddit.com/r/sysadmin/comments/2k7jn5/after_2_years_i_have_finally_solved_my_slow/
答案4
我在 Powershell 上检查了链接状态(Get-Netadapter | 选择 interfaceDescription、Name、Linkspeed),发现它以 100Mbps 的速度运行。将服务器连接到的网络交换机端口的速度设置从“自动”更改为“强制以 1000 的速度运行”。这解决了我的问题。检查这是否有帮助。