Overview
VMware does not virtualize the CPU in virtual machines and therefore, by default VMware VirtualCenter only allows VMotion migration between CPU's that have similar features. This means that the CPUs need to have the same manufacturer (AMD or Intel), be of the same family (Pentium, Xeon, etc.), and have common extended features between the ESX Servers involved in the VMotion. A restriction has been put in place to prevent migration between servers that have substantially different CPUs due to the risk that the virtual machine could crash during the migration.
Note: This only applies to VMotion migrations, cold migrations where the virtual machine is powered off are not affected by CPU feature requirement compatibility.
Workaround
To workaround the behavior check the following:
-
Ensure that your hosts have CPUs that are compatible, to allow vMotion. For specific information about Intel and AMD CPUs and vMotion compatibility, see:
-
Ensure the hosts have the same features turned on in the BIOS of the Servers. If there is a mismatch between the servers BIOS configuration even if they are physically identical, they still show a compatibility error message. The two most common features to check are Non-Execute Memory Protection (NX / XD) and Virtualization Technology (VT / AMD-V).
Notes:
- On an ESX host, you can check if the NX/XD is set by looking at the flags line in the /proc/cpuinfo file. For further information, see Checking cpuinfo information on an ESXi host (1031785).
- To determine if Intel or AMD-V are enabled in the bios without rebooting, see Determining if Intel Virtualization Technology or AMD Virtualization is enabled in the BIOS without rebooting (1011712).
- If the BIOS of a server has been recently updated or a new server added to the environment ensure to recheck these settings. BIOS upgrades can reset or disable custom configurations.
-
Turn off the virtual machine and perform a cold migration. With a cold migration VirtualCenter does not check the compatibility of the CPUs because they are not actively being used at the time of migration. When the migration is complete power on the virtual machine on the destination host.
Overriding CPU compatibility constraints
In some scenarios, it may be necessary to override the masks to allow vMotion migration to occur. VMware provides a limited ability to be able to override compatibility constraints, by masking certain CPU features from the virtual machine.
Caution: VMware recommends against overriding CPU compatibility constraints due to the risk of application or guest operating system failures after migration.