In a cluster where all the nodes of the cluster are exactly the same, hardware migration is fairly straightforward. There are no concerns about differences in hardware, and especially no concerns about different capabilities of the CPUs.
Because Hyper-V can take advantage of the processor capabilities in the newest Intel and AMD processors to improve the overall speed and efficiency of the VMs running on the physical host, the default is to use whatever processor features are available on the original host when the VM is created. With identical processors, both live migration and Quick Migration work as expected.
When a cluster includes nodes with different processors, the capabilities of the processors can be different. Because a migration occurs with a running machine, this can cause a failure when the VM tries to run after migrating to a different processor.
Applications use the x86 CPUID processor instruction to determine the processor type and processor features. When Processor Compatibility Mode is used, Hyper-V hides the processor features by intercepting a VM’s CPUID instruction and clearing the returned bits that correspond to the hidden features.
Use the Processor Compatibility Mode only in cases where VMs will migrate from one Hyper-V-enabled processor type to another within the same vendor processor family. Note that, while the name of this feature may give the impression, Processor Compatibility Mode does not
enable migrations between AMD- and Intel-based hosts. Processor Compatibility Mode is not needed for VM moves that involve a stop and restart of the VM. This includes unplanned failovers and manual VM moves between hosts.
To enable Processor Compatibility Mode on existing VMs, you need to shut down the VM and change the Processor setting for the VM, selecting the Migrate To A Physical Computer With A Different Processor Version check box, which you’ll find in the Settings dialog box of Hyper-V Manager.
Tip adapted from Introducing Windows Server 2008 R2 by Charlie Russel and Craig Zacker.