在主机1物理适配器插入我们的networking,在主机本身我有Hyper-V的作用。 我已经创build了一个外部交换机并将其绑定到物理Broadcom NetXtreme千兆以太网,并且已勾选“允许pipe理操作系统共享此networking适配器”。
我在这个主机上创build了一些虚拟机,configuration它们来使用我新创build的交换机,并且一切正常。 随机,虚拟交换机和物理交换机停止接收数据包,所有networking活动停止运行(我看到有时发送数据包,没有返回)。 在这一点上,我无法使用IP来ping服务器,也不能从主机到外部的通信。 我发现的丑陋的解决方法是禁用/启用物理网卡和虚拟交换机,此时networking连接恢复,我开始接收数据包。
在做了一些调查之后,我发现我的网卡固件已经过时了,这是我发现Network_Firmware_P32M4_WN64_7.6.15.EXE的版本。 使用Dell SUU(SUU_730_64bit)安装固件,并在服务器上执行重新启动。 在这一点上,我觉得我已经find了根本原因,但又似乎我的硬件闹鬼,问题再次发生。 物理/虚拟适配器都停止接收数据包,并且networking连接再次丢失。
> Driver details for Broadcom NetXtreme Gigabit Ethernet > Driver Date:01/28/2013 Driver Version: 15.6.0.10
其他的事情,我已经尝试手动设置双工速度到完全相同的问题。 我没有与TCP卸载混淆,因为我已经被许多人告知,这是不相关的(如果给出有效的原因,我可以尝试?)
操作系统:Windows Server 2012 Datacenter
可能是什么问题?
更新物理和虚拟交换机的高级属性
NIC1 802.3az EEE Disable *EEE {0} NIC1 Flow Control Rx & Tx Enabled *FlowControl {3} NIC1 Interrupt Moderation Enabled *InterruptMo... {1} NIC1 Jumbo Mtu 1500 *JumboPacket {1500} NIC1 Large Send Offload V2 (IPv4) Enabled *LsoV2IPv4 {1} NIC1 Large Send Offload V2 (IPv6) Enabled *LsoV2IPv6 {1} NIC1 Maximum Number of RSS Queues RSS 1 Queue *NumRssQueues {1} NIC1 ARP Offload Enabled *PMARPOffload {1} NIC1 NS Offload Enabled *PMNSOffload {1} NIC1 Priority & VLAN Priority & VLAN Enabled *PriorityVLA... {3} NIC1 Receive Buffers Default *ReceiveBuffers {200} NIC1 Receive Side Scaling Enabled *RSS {1} NIC1 Speed & Duplex Auto Negotiation *SpeedDuplex {0} NIC1 TCP/UDP Checksum Offload (I... Rx & Tx Enabled *TCPUDPCheck... {3} NIC1 TCP/UDP Checksum Offload (I... Rx & Tx Enabled *TCPUDPCheck... {3} NIC1 Transmit Buffers 500 *TransmitBuf... {500} NIC1 Virtual Machine Queues Enabled *VMQ {1} NIC1 VMQ VLAN Filtering Disable *VMQVlanFilt... {0} NIC1 Wake on Magic Packet Enabled *WakeOnMagic... {1} NIC1 Wake on Pattern Match Enabled *WakeOnPattern {1} NIC1 EEE Control Policies Optimal Power and Performance EeeCtrlMode {1} NIC1 Network Address -- NetworkAddress {--} NIC1 VLAN ID 0 VlanID {0} NIC1 Ethernet@WireSpeed Enable WireSpeed {1} NIC1 WOL Speed Lowest Speed Advertised WolSpeed {256} vEthernet (extSwitch) IPv4 Checksum Offload Rx & Tx Enabled *IPChecksumO... {3} vEthernet (extSwitch) IPSec Offload Auth Header and ESP Enabled *IPsecOffloadV2 {3} vEthernet (extSwitch) Jumbo Packet Disabled *JumboPacket {1514} vEthernet (extSwitch) Large Send Offload Version ... Enabled *LsoV2IPv4 {1} vEthernet (extSwitch) Large Send Offload Version ... Enabled *LsoV2IPv6 {1} vEthernet (extSwitch) TCP Checksum Offload (IPv4) Rx & Tx Enabled *TCPChecksum... {3} vEthernet (extSwitch) TCP Checksum Offload (IPv6) Rx & Tx Enabled *TCPChecksum... {3} vEthernet (extSwitch) UDP Checksum Offload (IPv4) Rx Enabled *UDPChecksum... {2} vEthernet (extSwitch) UDP Checksum Offload (IPv6) Rx Enabled *UDPChecksum... {2} vEthernet (extSwitch) Network Address -- NetworkAddress {--}
根本原因是可以在networking适配器的高级属性下find的虚拟机队列。 禁用它,所有的问题将消失。 我已经注意到这个问题,主要是Broadcom适配器,但其他适配器可能会受到影响。 彻底的解释来。
只是想向官方的微软KB提出这样的build议: 当您使用Broadcom NetXtreme 1千兆位networking适配器时,虚拟机将失去networking连接
据我所知,这个VMQ的东西在廉价的网卡上没有正确实施,而且厂商倾向于提供针对整个NIC产品系列的驱动程序,而不是针对特定的驱动程序(即包含稍微不同的芯片和卡的驱动程序),他们倾向于默认启用VMQ 。
解决方法是按照上述知识库中的说明禁用VMQ,但是在驱动程序更新后将此设置恢复为ON导致问题仍然存在。 为了解决这个问题,你应该实施一些configurationpipe理。 例如,您可以在SCCM中创buildconfiguration基线,其中包括VMQ = OFF条件和监视器/自动解决由驱动程序更新导致的基线configuration漂移。
TechNet上还有一系列非常详细的博客文章,以便您更多地了解VMQ技术本身:
VMQ深潜,1/3
VMQ Deep Dive,2之3
VMQ Deep Dive,3/3