Virtual machines lose network connectivity
Using this article as a guide, we verified that the Hyper-V network team has VMQ enabled. Resolution was to DISABLE VMQ on the Hyper-V team. We did this on both Hyper-V hosts as they were setup identical.
Run the following powershell command (as administrator) to view the VMQ settings for all your adapters on the Hyper-V host. You will receive output similar to below.
> Get-NetAdapterVmq
Name | Interface Description | Enabled | BaseVmq Processor |
Max Processors |
NumberOf ReceiveQueues |
Network Team | Network Adapter… | FALSE | 0:00 | 24 | |
FlexibleLOM Port 4 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
FlexibleLOM Port 3 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
FlexibleLOM Port 2 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
FlexibleLOM Port 1 | Ethernet 1Gb port … | FALSE | 0:00 | 16 | 12 |
HVLAN2 | Ethernet 1Gb port 1 | TRUE | 0:00 | 16 | 12 |
HVLAN1 | Ethernet 1Gb port 2 | TRUE | 0:00 | 16 | 12 |
LAN2 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
LAN1 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
Hyper-V Team | Network Adapter… | TRUE | 0:00 | 24 |
Notice the highlighted network interfaces have VMQ enabled (TRUE). Run the following PowerShell command to get the network adapter’s VMQ names. You will receive output similar to below.
> Get-NetAdapterVmqQueue
Name QueueID MacAddress VlanID Processor VmFriendlyName
—- ——- ———- —— ——— ————–
HVLAN2 0 0:0 HostServer01
HVLAN1 0 0:0 HostServer01
Hyper-V Team 0 0:0 HostServer01
Once you have the VMQ names, run the following PowerShell commands as administrator to disable VMQ on each adapter.
> Set-NetAdapterVmq -Name “HVLAN1” -Enabled $False
> Set-NetAdapterVmq -Name “HVLAN2” -Enabled $False
> Set-NetAdapterVmq -Name “Hyper-V Team” -Enabled $False
Verify the VMQ settings on those interfaces by running the following PowerShell command as administrator.
> Get-NetAdapterVmq
Name | Interface Description | Enabled | BaseVmq Processor |
Max Processors |
NumberOf ReceiveQueues |
Network Team | Network Adapter… | FALSE | 0:00 | 24 | |
FlexibleLOM Port 4 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
FlexibleLOM Port 3 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
FlexibleLOM Port 2 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
FlexibleLOM Port 1 | Ethernet 1Gb port … | FALSE | 0:00 | 16 | 12 |
HVLAN2 | Ethernet 1Gb port 1 | FALSE | 0:00 | 16 | 12 |
HVLAN1 | Ethernet 1Gb port 2 | FALSE | 0:00 | 16 | 12 |
LAN2 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
LAN1 | Ethernet 1Gb port… | FALSE | 0:00 | 16 | 12 |
Hyper-V Team | Network Adapter… | FALSE | 0:00 | 24 |
All the interface should now read FALSE.