使用 Broadcom NetXtreme 1 GB 网络适配器时,虚拟机丢失网络连接
09/08/2020
本文内容
本文提供了一种解决方案,可解决在使用 Broadcom NetXtreme 1 GB 网络适配器时虚拟机丢失网络连接的问题。
适用于: Windows Server 2012R2
原始 KB 编号: 2986895
症状
当你将 Hyper-V 与 Broadcom NetXtreme 1 GB 网络适配器 (而非 NetXtreme II 网络适配器) 一起在 Microsoft Windows Server 2012 或 Windows Server 2012 R2 上运行时,你可能会注意到以下一个或多个症状:
虚拟机可能会随机丢失网络连接。 网络适配器似乎正在虚拟机中运行。 但是,无法从虚拟机 ping 或访问网络资源。 重新启动虚拟机无法解决问题。
无法从远程计算机 ping 或连接到虚拟机。 这些症状可能会出现在运行该虚拟机的服务器上某些或所有Hyper-V。 重新启动服务器会立即解析到所有虚拟机的网络连接。
原因
使用 b57nd60a.sys 驱动程序的 Broadcom NetXtreme 1 GB 网络适配器是一个已知问题。 在网络适配器上启用虚拟机队列 (VMQ) 时,将发生此问题。 (默认情况下,VMQ 由 Broadcom 网络驱动程序启用。)
Broadcom 将网络适配器名称为基于 57xx 的芯片集。 它们包括 5714、5715、5717、5718、5719、5720、5721、5722、5723 和 5780。
这些网络适配器也由一些服务器 OEM 以不同的型号出售。 HP 在型号 NC1xx、NC3xx 和 NC7xx 下销售这些驱动程序。 你可能会使用驱动程序版本 16.2、16.4 或 16.6,具体取决于你使用的 OEM 版本或你是否正在使用 Broadcom 驱动程序版本。
解决方案
This issue is resolved in Broadcom driver b57nd60a.sys version 16.8 and newer. 2015 年 3 月,Broadcom 发布了驱动程序版本 17.0 进行下载。 2015 年 4 月,HP 发布了受影响网络适配器的驱动程序版本 16.8。 如果你需要特定于你的服务器的驱动程序,请联系你的服务器 OEM。
如果无法更新网络适配器驱动程序来解决问题,可以通过使用 PowerShell 命令在每个受影响的 Broadcom 网络适配器上禁用 VMQ 来解决此问题 Set-NetAdapterVmq 。
请考虑以下情况:
你有一个双端口网络适配器。
这些端口在 NIC 1 和 NIC 2 中Windows。
在此方案中,可以使用以下命令在每个适配器上禁用 VMQ:
Set-NetAdapterVmq -Name "NIC 1" -Enabled $False
Set-NetAdapterVmq -Name "NIC 2" -Enabled $False
可以使用 Get-NetAdapterVmq PowerShell 命令确认在正确的网络适配器上禁用了 VMQ。
备注
默认情况下,在使用 1 GB 网络适配器Hyper-V虚拟机的虚拟交换机上禁用 VMQ。 VMQ 仅在系统Hyper-V 10 GB 或更快的网络适配器时,才在虚拟交换机上启用。 这意味着,通过禁用 Broadcom 网络适配器上的 VMQ,不会丢失网络性能或其他任何好处,因为这是默认设置。 但是,你需要这样做来解决驱动程序问题。
Get-NetAdapterVmqQueue 显示在网络适配器 (虚拟机) VMQs 队列。 默认情况下,不会看到分配给 1 GB 网络适配器的任何 VMQ。