Category Archives: Hyper-V

Dell T710 R710 Servers Running 2008 R2 with Hyper-V Blue Screen

I had a problem not too long ago where a Dell Power Edge R710 (T710 in a rack chassis) blue screened about once a week. The Server was running Server 2008 R2 with only the Hyper-V role installed, and it was fully patched. The output of the dump file was:

STACK_COMMAND: kb
SYMBOL_NAME: ANALYSIS_INCONCLUSIVE
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: Unknown_Module
IMAGE_NAME: Unknown_Image
DEBUG_FLR_IMAGE_TIMESTAMP: 0
FAILURE_BUCKET_ID: X64_CLOCK_WATCHDOG_TIMEOUT_10_PROC_ANALYSIS_INCONCLUSIVE
BUCKET_ID: X64_CLOCK_WATCHDOG_TIMEOUT_10_PROC_ANALYSIS_INCONCLUSIVE
Followup: MachineOwner

I performed a little research and this appears to be related to systems running Xeon 5500 Series processors and a power saving feature in the BIOS called Enhanced Halt State (C1E). I went into the BIOS hoping to disable this, but I couldn’t find the option to disable it anywhere.

I then turned to Dell’s Support site and downloaded the newest revision to the BIOS, which at the time was 2.1.15_1. After the update there was an option for disable C1E in the BIOS, which I promptly disabled.

After 7 days testing I did end up getting this blue screen one more time. I double checked that C1E was disabled, which it was, but it still blue screened none the less. On a whim I also disabled power saving S3 feature in the BIOS and patiently waited another week.

After 7 days, it had not blue screened. Two weeks went by, no blue screen. After 4 weeks it was still running without a hitch so I called the case closed. It appears the combination of disabling C1E and S3 worked for me, but for many others disabling just C1E worked.

UPDATE: it appears that Microsoft has released an OS Hotfix for this that can be requested here.

Linux VMs running Hyper-V lose network connectivity when Live Migrated or Restarted

I ran into a problem not too long ago where a Linux VM running in Hyper-V lost network connectivity when it was restarted, or when it was Live Migrated between hosts in a Hyper-V cluster.

At first I verified all of the normal things, I made sure it was connected to the right Virtual Network, I made sure the Microsoft Network Virtual Switch Protocol was the only protocol enabled on the NIC for that Virtual Network on both Hosts in the cluster. I also made sure that the VM was using a Legacy Network Adapter instead of a Network Adapter.

I logged into the VM itself via the console and ran an ifconfig, the only adapter that showed up was lo (the loopback adapter). I thought this was odd, as I just configured eth0 not too long ago. I verified that the /etc/network/interfaces file had the proper network settings configure for eth0, which it did.

At this point I had to do some research and I found that the newer linux kernels use the MAC address of the NIC instead of the hardware ID of the device to assign a logical eth number to each network card. I checked within the VM’s Settings and sure enough the Legacy Network Adapter on the VM was set to dynamic MAC address instead of Static. I changed the setting to Static, and kept the currently assigned MAC address as it’s static MAC address.

Inside the VM I can an ifconfig -a and saw that interface eth1 was available, but not configured. I edited the /etc/network/interfaces file to say eth1 instead of eth0 and then restarted the networking services by issuing the following command: sudo /etc/init.d/networking restart. Sure enough I was able to start accessing the network.

I did a restart and a Live Migration and was able to continue accessing the network.