HYPER-V Virtual Machines packet loss with VMQ Enable
Today Windows Server 2012 with HYPER-V it's a common solution to setup a small , medium or enterprise company . Small Companies use simple solutions with HYPER-V instead with bigger companies that need more advance techniques like Failover Clustering include Disaster Recovery Sites and other solution to reduce any downtime.
Performance and stability is one of the biggest challenge today for IT Pro because has to do with lot of factors.
One of them is the network ,how will be design and what features will be use in HYPER-V to increase performance but keep stability.
In this article i would like to explain one of the factor that can cause your Virtual machines to slow network connectivity or loose packets.
Let's describe a real scenario that face previous week in my environment.
Last month i working in the Disaster Recovery Site for a company.
Do you have a disaster recovery site in your company ? Do you believe that it's an important for your company but you don't have time?
After lot of work for a weeks the Disaster Recovery Site was ready with all the Servers to be replicated and monitoring every day for replication errors.
I use Veeam Backup & Replication for the Replication.
So i start to test the Servers in Disaster Recovery Site.
After some tests i realize that the response in various applications that hosted in Virtual Machines of HYPER-V in Disaster Recovery Site was slow.
So as first thing i start to ping the Virtual Server in Disaster Recovery Site and i see that loosing packets randomly.
I start to ping again the Virtual Server from the HYPER-V Host which has installed and the result was the same. Loosing packets randomly
Imagine that you must start Failover in the specific Server and 50 users try to open an application in the Disaster Recovery Server which aren't in LAN.
It will be a nightmare!!!!!
I check multiple times all the settings that related with IP Addresses, Firewall Configuration and found that all was ok.
In event Logs i didn't found any error or Warning to give me an evidence for the issue.
So i start a research and i found the article Poor network performance on virtual machines on a Windows from Microsoft that explain the Problem with VMQ for specific Network Cards like Broadcom.
This is exactly the network card that i have in HYPER-V of my Disaster Recover Servers.
So apply the following steps to resolve the problem
- Open powershell
- Type the following command to get a list with all physical Network Interfaces and where the VMQ is enable
- I use NIC Teaming so i can see that VMQ are enable in all Network Interfaces except the ones that use it to connect with the ISCSI for the storage
- Type the following command to disable VMQ in both adapters and in Team Adapter
Disable-NetAdaptervmq -Name MGMT A
Disable-NetAdaptervmq -Name MGMT B
Disable-NetAdaptervmq -Name MGMT
- After disable the VMQ verify with the following command. Check the Enable to be False
- When start to ping again the Server was stable without any packet loos.
It takes me lot of time to find the source of the problem because i didn't have any logs to related with the issue.
It can be a serious problem when start to have packet loss in your Servers when are in Production environment.
I hope to find my article helpful and valuable
Have a nice weekend !!!!