error: The policy requires X hosts contributing storage, only found Y in the cluster while creating of a virtual machine on vSAN
search cancel

error: The policy requires X hosts contributing storage, only found Y in the cluster while creating of a virtual machine on vSAN

book

Article ID: 326865

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

Symptoms:

  • Cannot create a new virtual machine on the vSAN datastore.
  • Adding a new virtual disk to a virtual machine residing on the vSAN datastore fails.
  • You see the error:
    The policy requires 3 hosts contributing storage, only found 2 in the cluster.
    Failed to create object.

Environment

VMware vSAN 7.x
VMware vSAN 8.x
VMware vSAN 6.x

Cause

This issue occurs if the vSAN enabled cluster does not have required number of hosts contributing storage that can satisfy the storage policy assigned to the virtual machine. For example if the storage policy of the VM states failures to tolerate value of 1, then at least 3 ESXi hosts with working diskgroups are needed to successfully create the VM.

RAID 0/FTT 0 - Minimum of 1 ESXi host
RAID 1/FTT1 - Minimum of 3 ESXi hosts
RAID 1/FTT2 - Minimum of 5 ESXi hosts
RAID 1/FTT3 - Minimum of 7 ESXi hosts
RAID 5/FTT1 - Minimum of 4 ESXi hosts
RAID 6/FTT2 - Minimum of 6 ESXi hosts

Resolution

  • Verify all hosts are in the cluster by running the command:

esxcli vsan cluster get

From vCenter Web Client vSAN Cluster > Monitor > vSAN Skyline Health > Network > vSAN cluster partition Ref: KB vSAN Health Service - Network Health - vSAN Cluster Partition for more details.

  • Check the cluster fault domains to ensure they're configured correctly and the cluster has the correct number of fault domains to support the storage policy in use.
vSAN Cluster > Configure > vSAN > Fault Domains​​​
If the problem still persists, open a support request with VMware Support. For more information, see Creating and managing Broadcom support cases
  • Check to see if any host(s) is in vSAN decom state by running the following:

    echo "hostname,decomState,decomJobType";for host in $(cmmds-tool find -t HOSTNAME -f json |grep -B2 Healthy|grep uuid|awk -F \" '{print $4}');do hostName=$(cmmds-tool find -t HOSTNAME -f json -u $host|grep content|awk -F \" '{print $6}');decomInfo=$(cmmds-tool find -t NODE_DECOM_STATE -f json -u $host |grep content|awk '{print $3 $5}'|sed 's/,$//');echo "$hostName,$decomInfo";done|sort


    From vCenter Web Client vSAN Cluster > Monitor > vSAN Skyline Health > Cluster > Host maintenance mode. See KB vSAN Host Maintenance Mode is in sync with vSAN Node Decommission State for more details.
  • Make sure all hosts are on the same ESXi version and the same vSAN on-disk format version. To check on-disk format versions run the below command on all hosts in the cluster:

    esxcli vsan storage list|grep "On-disk format version:"

    From vCenter Web Client vSAN Cluster > Monitor > vSAN Skyline Health > Cluster > Disk format version. If the Health test is in a warning state it means host(s) have an older on-disk format. See KB vSAN Health Service - Cluster - Disk format version for more details.