According to the VSAN maximums, there is a 100 VM limit per host in a VSAN 5.5 cluster and 200 in a VSAN 6 cluster. This seems to be a soft limit as I was recently able to deploy 999 VMs in to a 4 node VSAN 5.5 cluster (with one host acting as a dedicated HA node, so not running any compute). I got to ~333 VMs per host before I reached the 3000 component limit (which is a hard limit) on each host. The below is a screen grab of vsan.check_limits from RVC:
I reached out to the GSS guys at VMware who quite rightly pointed out that 100 VMs per host is the supported maximum, so any more than that would not be supported.
So… in the event we have (for example) a 4 host VSAN cluster with 512GB RAM per host…
- Node A has 300 VMs each with 1GB RAM and 1 x 10GB Disk
- Node B has 4 x VMs with 24GB RAM each and 1 x 10GB Disk
- Node C has 146 x VM with 1GB RAM and 1 x 10GB Disk
- Node C has 300 VMs each with 1GB RAM and 1 x 10GB Disk
In this example Failure to Tolerate = 0, each VM is only using a handful of components and the cluster is under no stress.
DRS will not migrate VMs as the cluster is under no stress and no alarms would be generated as no vobs will be triggered, however it is not a supported solution as there would be 750 VMs in the cluster.
This got me thinking about solutions to this problem, thanks to some great posts by @DuncanYB (What’s New in vSphere 5.5 for DRS and Limit the Amount of Eggs in a Single Basket) and the guys at VMware GSS we found a DRS advanced setting that will limit the number of VMs on a single host:
In the DRS Advanced Options, create a new Option “LimitVMsPerESXHost” with a value of 100.
Time for a Feature Request I think…