Windows Server 2008 R2 Hyper-V Guests Lose Network Connectivity Temporarily

This seems to be a problem that has existed in all versions of Hyper-V. I have experienced this in the both Windows Server 2008 and Windows Server 2008 R2 versions.
I have two Hyper-V 2008 R2 servers with a couple of Windows Server 2008 R2 guests. If I set up a ping as follows:
ping -t myserver.thedomain
I get solid ping responses, but randomly I will get either a timeout and/or a “network route could not be made” message. This is particularly the case when the Guest OS tries to access another resource via the LAN. The connection does get reestablished, but this causes havoc for any services that rely on a good constant connection i.e. pretty much everything.
The issue seems to involve network interface cards (NICs) and their drivers that do not process Checksum Offloads correctly.

On my servers I have the following configuration:

NIC 1 – Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller
NIC 2 – Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller

NIC 1 is my management LAN NIC and is dedicated to the virtual server parent. It does not participate in any traffic with the Guest OS’. NIC 2 is my Virtual LAN NIC and is dedicated to the Guest OS’ i.e. the “Allow management operating system to share this network adapter” is un-ticked. I believe this to be adequate best-practice (more NICs would be better for redundancy and performance) as it makes sure you can always access your Host OS even if the Guest VLAN NIC is getting slammed.

NIC 2 (my VLAN NIC) is where the workaround needs to occur. I disabled the following “advanced” networking options:

  • IPV4 Checksum Offload
  • Large Send Offload (IPv4)
  • TCP Checksum Offload (IPV4)
  • UDP Checksum Offload (IPV4)

From this list, it appears the issue is to do with the way the Offload is occurring – possibly just for IPV4 but perhaps IPV6 as well. Regardless, as soon as I disabled these settings it resolved my connectivity problems straight away. I also tried the latest driver version of the NIC but that didn’t resolve the issue.

Advertisements

10 Responses to “Windows Server 2008 R2 Hyper-V Guests Lose Network Connectivity Temporarily”

  1. Andrew Says:

    Thanks for taking the time to post this. I have been investigating this connection problem for a few weeks now and your solution seems to be right on the money. I have the same network chipset and was seeing the same issues in Windows Server 2008 R2 Enterprise.

    Thanks Again

  2. Anti Says:

    Hi There
    I had simmilar problems. I have tried updating the client and host machines with all updates. Then syspreped the client and re-activated Windows. I uninstalled and re-installed the NIC on the client machine. I tried installing legacy NIC on the client. None of these worked. My problem was due to a duplicate MAC addrress. The two offending MACs belonged to VMs on different hosts. I chenged the ranges of the allowed dynamically assigned MACs in the Virtual Network manager and did a reboot of the client, ipconfig /registerdns and all started working. I can sleep again..!

  3. Steve Campbell Says:

    Thanks a ton! This article seem to have possibly resolved my issues as well. Also using these identical NIC adapters.

    http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/69d31b76-e0de-4d09-9ee0-29af0b89e55d

  4. Joseph Ceasar Says:

    Thank you very much!

    I was having a similar issue. I already have in place a whole bunch of Win7 VMs. I decided to start virtualizing our servers and even though I was able to connect to the Internet from within the virtualized servers I was unable to get updates and was experiencing the intermittent ping issue that you had mentioned.

    Once I disabled the above settings everything started working!

  5. Simon Bond Says:

    THANK YOU, THANK YOU!
    I’ve been struggling with this for weeks and the guy I got at MS PSS has been rubbish. I have the exact same network adapters so perhaps this is a general problem with them using HyperV.

    • gavinmckay Says:

      You are most welcome – there were many sleepless nights trying to resolve this, very annoying! I hope some sort of patch fixes it at a later stage…

  6. Ken Says:

    Are you making these changes on the host NICs’ or from within the guest NIC? I made these changes to the host and it does not carry through to the guest.

    • gavinmckay Says:

      Hi Ken,

      From memory I made these changes on the Host NIC… but it has been a while since I looked! I’ll try and log on to the servers I fixed and see if I can remember.

      Regards,

      Gavin.

  7. Lars the Swede In Norway Says:

    IP offloading is a repeat offender in virtualized environments. Basically: In a VM, do not turn on IP offloading. It results in double CPU load (copy 1: The virtual NIC of the VM; copy 2: the IP offloading asking the virtual NIC to calculate stuff for the CPU…) and worse: It produces (uncertain of details) erroneous checksums (CRCs) on a packet level, resulting in large number of retransmissions, resulting in dropped connections…

  8. crea Says:

    Thanks a lot!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: