Tuesday, January 8, 2013

vMotion Error: Host CPU is incompatible with the VM's requirement

Here is the scenario:

Cluster 1
-VMware EVC Mode: Intel "Sandy Bridge" Generation

Cluster 2
-VMware EVC Mode: Intel "Westmere" Generation

When I tried to vMotion a VM from cluster 1 to cluster 2, I received the error below:

Host CPU is incompatible with the virtual machine's requirements at CPUID level 0x1 register 'ecx'.

In order to vMotion VMs between clusters with different generations of CPUs, EVC mode must be enabled and configured to the lowest common generation. In my case, I had to set cluster 1's EVC mode to Intel Westmere generation. Unfortunately, you will have to power off all VMs in a cluster before you can lower the EVC mode.

An interesting note is that while you cannot vMotion VMs that were originally powered on in cluster 1 (higher generation) to cluster 2 (lower generation), you can do the reverse. Furthermore, a VM that was powered on in a lower generation cluster (cluster 2), which was then migrated to a higher generation cluster (cluster 1), can then be vMotioned back to the lower generation cluster. This is due to the fact that the CPU virtualization/masking is done when the VM is powered on.

No comments:

Post a Comment