I was moving our staging servers onto some spare hardware we had recently decomissioned and thought it would be a good chance to play with Server 2008. I first attempted this before the RTM of Server 2008 and ran into networking problems, but at the time I was busy on projects so left it as it was and put it down to being a bug that would probably be fixed in the final release. Well today I tried again to get Virtual Server 2005 R2 SP1 running on a Windows Server 2008 full installation. My VMs transferred across and added fine to the new host. But when i booted them the network connections all said network cable unplugged. D'Oh!. I fiddled a little - change connection to not connected, create new virtual network, etc. all the normal stuf you try before looking for an answer. Whilst I was trying this i then also lost connection to the host - D'Oh!. Fortunately the KVM over IP i fitted a few months back saved a trip to the Server Room.
So here I am again with failing RDP into the server and VMs that won't talk to anything over the network. First thing i found googling was the TCP offload issues. We had encountered these before with our broadcom nics on the Dell servers - causing our Virtual server service to suspend all communication to the service, the VMs talked fine over the network but you couldn't open up the admin web site or the VMRC connections - the only solution was to stop and start the Virtual Server service, not popular during the day when people are using the guests! Sop in this instance Microsoft have given a nice article - http://support.microsoft.com/kb/888750 A small note in the middle reads:
Note If you have any network adapters that Virtual Server 2005 guests use, Microsoft recommends that you disable TCP segmentation offloading.
I used the second method - disable it altogether. Seemed a safer bet to me, especially as there is only one NIC in the server at the moment. Thankfully this allowed me back into the server over RDP, but I was still getting network cable unplugged inside my Virtual Machines.
I figured it was now a virtual server issue as the configuration page for each of the virtual machines showed 0 bytes received and sent even though i kept trying some pings.
A little more googling revealed a hint and then the answer, my VMs had been set to boot up automatically on the previous host as we needed to make sure they didn't go down and not come back up. This meant that the VMs were set to run under a local user account without admin rights. Now it told me when i first added the VMs to this host that the account was not valid - which was fair it was a local user account that didn't exist on this host. Creating the local account and specifying the credentials worked fine. But now the issue transpires to be permissions on the Virtual Network files, or more generally the Virtual Machines and Virtual Network folders. The following article details what's needed :
http://www.microsoft.com/technet/prodtechnol/virtualserver/2005/proddocs/vs_operate_using_secure_vm.mspx?mfr=true
But hang on! This folder is the all users documents folder or as Windows Server 2008 now uses C:\Users\Public\Documents\. Surely everyone has access to that?, or at least the local Users group - but no, Microsoft seem to have locked it down so that by default only administrators gain access! Adding some permissions to the Virtual Networks folder for the local user account the VMs run under and restarting them brought all the virtual NICs to life.
Well I am pleased that it is finally working, but a little frustrated that it was down to some buried permissions that really could have been flagged up in the Virtual Server interface.