Creation of a virtual machine fails with the error: The policy requires X hosts contributing storage, only found Y in the cluster.
search cancel

Creation of a virtual machine fails with the error: The policy requires X hosts contributing storage, only found Y in the cluster.

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

1. 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 See KB vSAN Health Service - Network Health - vSAN Cluster Partition for more details.

2. 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
​​​
3.
Ensure that all the vSAN related disks on all hosts in the vSAN cluster are healthy.

Check the vSAN Health Service's Physical Disk Health - Overall Disk Health tab to see if any disks are not healthy. For more information, see vSAN Health Service - Physical Disk Health - Overall Disk Health.
 
If the problem still persists, open a support request with VMware Support. For more information, see Creating and managing Broadcom support cases
 
4. 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

5. 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.


Additional Information