На хосте 1 физический адаптер подключен к нашей сети, на самом хосте у меня роль Hyper-V. Я создал внешний коммутатор и привязал его к физическому Broadcom NetXtreme Gigabit Ethernet, установлен флажок «Разрешить операционной системе управления использовать этот сетевой адаптер».
Я создал несколько виртуальных машин на этом хосте, настроил их для использования моего недавно созданного коммутатора, и все работает отлично. Случайным образом виртуальный коммутатор и физический коммутатор перестают получать пакеты, и вся сетевая активность перестает работать (я вижу, что пакеты отправляются время от времени, но ничего не возвращается). На данный момент я не могу проверить связь с сервером по IP, а также не могу общаться с хостом с внешним миром. Уродливый обходной путь, который я нашел, - это отключить / включить как физический сетевой адаптер, так и виртуальный коммутатор, на этом этапе возобновляется сетевое соединение, и я начинаю получать пакеты.
Проведя небольшое исследование, я обнаружил, что прошивка моей сетевой карты устарела, это та версия, которую я нашел Network_Firmware_P32M4_WN64_7.6.15.EXE. FW устанавливается с использованием 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 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 {--}
Основная причина - очередь виртуальных машин, которую можно найти в расширенных свойствах вашего сетевого адаптера. Отключите его, и все проблемы исчезнут. Я заметил эту проблему в первую очередь с адаптерами Broadcom, но могут возникать и другие адаптеры. Подробное объяснение впереди.
Просто хотел указать на это в официальной базе знаний Microsoft: Виртуальные машины теряют возможность подключения к сети при использовании 1-гигабитных сетевых адаптеров Broadcom NetXtreme
Насколько я понимаю, эта вещь VMQ не реализована должным образом в дешевых сетевых адаптерах, и поскольку поставщики стремятся поставлять драйверы, предназначенные для всего семейства продуктов сетевых адаптеров, а не для конкретного (например, тот, который включает в себя несколько разные чипы и карты), они склонны включать VMQ по умолчанию .
Решение состоит в том, чтобы отключить VMQ, как указано в вышеупомянутом KB, но это по-прежнему создает проблему, вызванную возвратом этого параметра в положение ON после обновления драйвера. Чтобы решить эту проблему, вы должны реализовать какое-то управление конфигурацией. Например. вы можете создать базовый план конфигурации в SCCM, который включает критерии VMQ = OFF и отслеживать / автоматически устранять отклонение конфигурации от базового уровня, вызванное обновлением драйверов.
На TechNet также есть серия очень подробных сообщений в блогах на случай, если вы хотите узнать больше о самой технологии VMQ:
VMQ Deep Dive, 1 из 3