vMotion Requirements

We already explained about vMotion 

Since vMotion is intervening in an active virtual machine without that virtual machine’s knowledge, certain conditions must be fulfilled so that the process can run without problems or failures:

  • CPU compatibility
  • vMotion interface (minimum 1 Gb adapter)
  • Shared storage
  • Same naming for virtual port groups
  • VMkernel port group with vMotion enabled
  • Sufficient resources on the target host
  • At least one vSphere Essentials Plus license on the Corresponding ESX host

One of the main point which can sometimes present significant problems is CPU compatibility

Since the ESX server cannot predict which CPU instructions the virtual machine (or rather the guest operating system) will use, the user must pay attention to either use identical CPUs or to configure a proper masking.

The VMware’s CPU Identification Utility allows the user to determine which functionality the installed CPU has, including vMotion compatibility, EVC, and 64-bit support   .

VMware Knowledge Base articles  related to Intel  and AMD explain which CPUs are compatible with which others:

Intel

AMD

Compatibility Guide 

They is another technology called VMware Enhanced vMotion Compatibility (EVC). This technology ensures vSphere vMotion compatibility for the different hosts in the cluster by creating the common CPU ID baseline for all the hosts within the cluster. All hosts will present the same CPU features to the VMs, even if their CPUs differ. Note that, however, EVC only works with different CPUs in the same family, for example with different AMD Operon families. Mixing AMD and Intel processors is not allowed. Also note that EVC is a vCenter Server cluster setting that is enabled at the cluster level, so it is not specific for DRS.

When enabled, this feature enables you to migrate VMs among CPUs that would otherwise be considered incompatible. It works by forcing hosts to expose a common set of CPU features (baselines) to VMs. These features are supported by every host in the cluster. New hosts that are added to the cluster will automatically be configured to the CPU baseline. Hosts that can’t be configured to the baseline are not permitted to join the cluster

Enhanced vMotion Compatibility (EVC) processor suppot –  KB

Enabling EVC on a cluster when vCenter Server is running in a virtual machine  – KB

More about EVC