vMotion of VM fails with the error: "The target host does not support the virtual machine’s current hardware requirements"
search cancel

vMotion of VM fails with the error: "The target host does not support the virtual machine’s current hardware requirements"

book

Article ID: 390949

calendar_today

Updated On:

Products

VMware vSphere ESX 7.x VMware vSphere ESX 8.x

Issue/Introduction

vMotion of VM fails with the following error:

The target host does not support the virtual machine’s current hardware requirements.
Use a cluster with Enhanced vMotion Compatibility (EVC) enabled to create a uniform set of CPU features across the cluster, or use per-VM EVC for a consistent set of CPU features for a virtual machine and allow the virtual machine to be moved to a host capable of supporting that set of CPU features. See KB article 1003212 for cluster EVC information
  MDS_NO is not supported.
  RSBA_NO is not supported.
  IBRS_ALL is not supported.
  RDCL_NO is not supported.

Environment

vSphere 7.0.x

vSphere 8.0.x

 

Cause

The VM utilizes a CPU flag that is not supported on the destination ESXi host due to the different CPU types present on the source and destination hosts. This includes scenarios where the source cluster uses Intel processors and the destination cluster uses AMD processors, or the other way around, since Intel-to-AMD and AMD-to-Intel migrations are both unsupported.

Resolution

The workaround is to perform powered OFF migration of the VM.  The VM needs to be exposed to the new CPU feature set available on the destination Host and this requires a power cycle.

As a permanent fix, kindly consider enabling EVC on the cluster which will overcome such incompatibility by providing a "baseline" feature set for all virtual machines running in a cluster. 
ERROR: The target host does not support the virtual machine’s current hardware requirements.

Additional Information

To check CPU model/info on source and target ESXi hosts, run command : 

vsish -e cat /hardware/cpu/cpuList/0 | grep -i -E 'family|model|stepping|microcode|revision'

Here is an example: 

  Family: 0x06
  Model:0x6a
  Number of microcode updates:1
  Original Revision:0x0d000390
  Current Revison:0x0d0003e7