如果启用了 VMQ,则Windows Server 2012 Hyper-V 主机上的虚拟机的网络性能不佳

本文提供了一种解决方法,可以解决在使用 Broadcom 网络适配器的Windows Server 2012 Hyper-V 主机时出现的问题。

适用于: Windows Server 2012 R2
原始 KB 编号: 2902166

症状

请考虑以下情况:

  • 你有一个使用 Broadcom 网络适配器的 Windows Server 2012 Hyper-V 主机。
  • 创建绑定到网络适配器的虚拟交换机。
  • 在 Hyper-V 主机上启用虚拟机队列 (VMQ) 。

在此方案中,在 Hyper-V 主机上托管的虚拟机上遇到网络性能不佳的情况。

原因

启用 VMQ 时,这是 Broadcom 网络适配器驱动程序的已知问题。 以下 Broadcom 网络适配器受到影响:

  • 57712
  • 57800
  • 57810
  • 57840

解决方案

Broadcom 知道此问题,并将发布驱动程序更新来解决此问题。 在驱动程序更新可用之前,可以通过执行以下操作之一来解决此问题:

  • 使用以下Windows PowerShell cmdlet 在 虚拟网络 适配器上禁用 VMQ:

    Set-VMNetworkAdapter -ManagementOS -Name <VirtualNetworkAdapterName> -VmqWeight 0
    

    注意

    如果问题未解决,请在 Broadcom 网络适配器上禁用 VMQ。

  • 更改虚拟交换机的媒体访问控制 (MAC) 地址。

    注意

    如果使用 DHCP,Hyper-V 主机的 IP 地址可能会更改。

如果使用 System Center Virtual Machine Manager (SCVMM) ,SCVMM 可以自动分配新的 MAC 地址。

若要手动分配 MAC 地址,请执行以下步骤:

  1. 使用以下Windows PowerShell cmdlet 分配 MAC 地址:

    Set-VMNetworkAdapter -ManagementOS -Name <VirtualNetworkAdapterName> -StaticMacAddress <MacAddress>
    
  2. 使用以下Windows PowerShell cmdlet 分配动态生成的 MAC 地址:

    Set-VMNetworkAdapter -ManagementOS -Name <VirtualNetworkAdapterName> -DynamicMacAddress
    
  • 如果 Hyper-V 主机上有另一个未受影响的网络适配器,请将虚拟交换机绑定到该网络适配器。

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。