Virtualization

戴爾 12G R720 Hyper-V 主機虛擬/物理網卡停止工作

  • August 2, 2015

在主機 1 物理適配器插入我們的網路,在主機本身我有 Hyper-V 角色。我創建了一個外部交換機並將其綁定到物理 Broadcom NetXtreme Gigabit Ethernet,選中“允許管理作業系統共享此網路適配器”框。

我在這台主機上創建了一些虛擬機,將它們配置為使用我新創建的交換機,一切正常。隨機地,虛擬交換機和物理交換機停止接收數據包,所有網路活動都停止執行(我看到有時發送數據包,沒有任何返回)。此時,我無法使用 IP ping 伺服器,也無法從主機與外界通信。我發現的醜陋解決方法是禁用/啟用物理 NIC 和虛擬交換機,此時網路連接恢復並且我開始接收數據包。

經過一番研究,我發現我的網卡韌體已經過時,這是我找到的版本 Network_Firmware_P32M4_WN64_7.6.15.EXE。使用 Dell SUU (SUU_730_64bit) 安裝韌體,並且還會在伺服器上執行重啟。在這一點上,我覺得我找到了根本原因,但又好像我的硬體出了問題,問題又發生了。物理/虛擬適配器都停止接收數據包,並且網路連接再次失去。

> Driver details for Broadcom NetXtreme Gigabit Ethernet 
> Driver Date:01/28/2013 Driver Version: 15.6.0.10

我嘗試過的其他事情是手動將雙工速度設置為全速,仍然是同樣的問題。我沒有搞亂 TCP 解除安裝,因為很多人都告訴我這不相關(如果有正當理由,我可以嘗試一下嗎?)

作業系統:Windows Server 2012 數據中心

可能是什麼問題?

更新 物理和虛擬交換機的高級屬性

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  {--}

根本原因是可以在網路適配器的高級屬性下找到的虛擬機隊列。禁用它,所有問題都會消失。我注意到這個問題主要與 Broadcom 適配器有關,但其他適配器可能會受到影響。詳盡的解釋即將到來。

只是想向官方 Microsoft KB 指出: 當您使用 Broadcom NetXtreme 1-gigabit 網路適配器時,虛擬機失去網路連接

據我了解,這種 VMQ 東西沒有在廉價的 NIC 中正確實現,並且由於供應商傾向於提供針對整個 NIC 產品系列的驅動程序,而不是針對特定的一個(即包含稍微不同的晶片和卡的驅動程序),他們傾向於預設啟用 VMQ .

解決方案是按照上述 KB 中的說明禁用 VMQ,但它仍然會給您留下一個問題,即在驅動程序更新後將此設置恢復為 ON。要解決這個問題,您應該實施某種配置管理。例如,您可以在 SCCM 中創建配置基線,其中包括 VMQ=OFF 標準,並監控/自動解決由驅動程序更新引起的基線配置偏差。

如果您想了解更多關於 VMQ 技術本身的資訊,TechNet 上還有一系列非常詳細的部落格文章:

VMQ Deep Dive, 1 of 3

VMQ 深潛,2 之 3

VMQ 深潛,3 之 3

引用自:https://serverfault.com/questions/569205