When would I need to limit the processor features so that Quick or Live Migration is possible

Hi,

Recently, I had some customers which could not Quick or Live Migrate their VMs in a Hyper-V Cluster. Although the Cluster Nodes where the same manufacture and type, migration was not possible because the destination server reported a different processor version. Looking into the details with a tool like CPU-Z showed that the CPUs of source and target node are only different in their stepping.

So the question is to determine if I run into this problem before I join machines into a cluster. Obviously Vendor, Family and Model should be identical. If Stepping is differrent, you need to check if the CPU features are identical.

 Again, CPU-Z can help. Change to the "About" tab and "Save Report (.TXT) on each host.

Look for an entry CPUID, followed by several lines with hex values. Like below:

 CPUID
0x00000000 0x0000000B 0x756E6547 0x6C65746E 0x49656E69
0x00000001 0x000106A5 0x00100800 0x80986381 0xBFCBFBFF
....

These Lines are the different CPUID Leaves. For Details, check out https://www.intel.com/Assets/PDF/manual/253666.pdf (Figure 3.6, 3.7)

We are interested in Leave #1, highlighted above: The 3rd and 4th values are the available CPU features (on my test machine 0x80986381 0xBFCBFBFF)

So these two values should be identical on all hosts that you would like to use for Migration. Otherwise, you need to enable “Migrate to a physical computer with a different processor version” on the Processor Tab within each VM setting.

The reason for this is that Hyper-V cannot determine if some application inside the guest actually relies on a specific CPU Feature. If this VM is migrated to a host without this feature, the application may fail. With the feature limited, a zeroed feature set is reported to the guest.

P.S. Meanwhile we released a tool to check if your servers are compatible. Very cool - https://code.msdn.microsoft.com/VMMTestWizard

Cheers

Robert