Error: "CPU hot plug is not supported for this virtual machine" when enabling enable Fault Tolerance (FT) on the vCSA VM
search cancel

Error: "CPU hot plug is not supported for this virtual machine" when enabling enable Fault Tolerance (FT) on the vCSA VM

book

Article ID: 301553

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

There are various ways users can choose to protect the vCenter Server VM (e.g. vCenter High Availability (VCHA) and Fault Tolerance (FT)). When enabling FT on the vCenter Server VM, the error "CPU hot plug is not supported for this virtual machine" may appear during the pre-check phase. 

  • From the vCenter UI, the feature "CPU hot plug" is enabled for the vCenter Server VM.
  • After shutting down the vCenter Server VM and disabling the "CPU hot plug" from the ESXi host UI or vCenter UI (if this vCenter Server VM is managed by another vCenter), the same error still appears when attempting to enable FT on the vCenter Server VM.
  • After disabling the CPU hot plug, in the .vmx file the line vcpu.hotadd is removed, but vcpu.hotremove is still there.
  • Removing vcpu.hotremove from the .vmx file and then attempting to enable FT will result in a new error:

    Memory hot plug is not supported.

Environment

VMware vSphere ESXi 7.0.x
VMware vSphere ESXi 8.0.x

Cause

CPU and memory hot plug is enabled for VCSA VM by default which prevents Fault Tolerance from being enabled.

Resolution

  1. SSH to the ESXi host where the VCSA VM resides on
  2. Navigate to the VCSA VM's directory

    cd /vmfs/volumes/<datastore>/<VCSA VM>

  3. Run the following command to the vCenter Server VM's .vmx file

    grep hot *.vmx"

    Example Output

    vcpu.hotadd = "TRUE"
    vcpu.hotremove = "TRUE"
    mem.hotadd = "TRUE"

  4. Shutdown the VCSA VM
  5. Edit the vCenter Server VM's .vmx and manually remove the three lines of "vcpu.hotadd", "vcpu.hotremove", "mem.hotadd". Alternatively, change the values to FALSE.
  6. Reload the .vmx file
    1. Find the VMID

      vim-cmd vmsvc/getallvms |grep <VC_NAME>

    2. Reload the .vmx file

      vim-cmd vmsvc/reload <VMID>

  7. Power on the vCenter Server VM
  8. Enable FT

Additional Information

Based on the page Fault Tolerance Requirements, Limits, and Licensing, FT has licensing limitation in vSphere 7.0 and 8.0.

The number of vCPUs supported by a single fault tolerant VM is limited by the level of licensing purchased for vSphere. Fault Tolerance is supported as follows:

  • vSphere Standard and Enterprise: allows up to 2 vCPUs
  • vSphere Enterprise Plus: allows up to 8 vCPUs

For vSphere Standard and Enterprise, FT can only protect VCSA for tiny deployment.  For vSphere Enterprise Plus, FT can protect VCSA for tiny, small, and medium deployments. VCSA with Large and X-Large deployment can not be protected by FT.