On the What’s New in Windows Server 2008 R2? page you can see one of the improvements for Hyper-V has been improved virtual networking performance, and specifically “offloading” has been extended through to the child partitions for those physical NICs that offer it.
I did an in-place upgrade of my home server today, from Windows Server 2008 x64 SP2 to Windows Server 2008 x64 R2 – the upgrade itself went flawlessly, and I made sure to adhere to the instructions in KB957256 (basically ensuring none of the Hyper-V VMs had any snapshots or saved states before starting).
Following the upgrade I checked my VMs started okay and connected to them through the Hyper-V Manager console without any hitch, the Integration Services were upgraded and the VMs restarted.
All looked well with the (virtual) world.
Then I tried to access a website running on one of the VMs over the (physical) network, and the browser struggled to render the page – I tried to browse the folders on a file server VM and during a file copy it decided the server was no longer reachable.
I was even unable to establish a Remote Desktop session with any of the VMs – I just got a black screen, then was disconnected after a timeout (also a TermDD
Connecting to the VMs through vmconnect.exe was fine, the machines themselves were not hung, or even laboured… so what was wrong?
The properties of the NIC inside each VMs, on the Advanced tab, had a large selection of offloading options, all enabled – once these were disabled the servers were restored to their normal (good) speed.
(The host in question is not a server-class system, and has 2 onboard NICs on the motherboard.)
The issue is the NIC or its driver on the host does not properly employ offloading – I have seen these symptoms on servers before where disabling offloading has had a remarkable improvement for networking performance (one system was even bugchecking when starting a website in IIS when TCP offloading was enabled!).
It may sound counter-intuitive, and it’s not guaranteed to be a panacea for network throughput or disconnection issues, but it might be worth checking out (and not only in Hyper-V VMs on R2) if you encounter such symptoms.