Hi colleagues
I have the following problem ... We have a 3 node ESXi 7 cluster and running 3 VMs within this cluster, which need to be separated to 3 individual hosts. But in case of host failure or maintenance the 3rd VM should run on the two remaining hosts and once host is back in production, it should get separated again.
So far so easy Setting up a VM-VM anti affinity rule containing those 3 VMs and they get balanced across 3 hosts. Check!
But if now a host fails, the VM stays powered off as no sufficient resources are available.
So far I learned, that HA interprets those separate rules by default as must run, so this explains, why I receive this resource warning and VM stays powered off.
Now vSphere documentation to the rescue:
https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.avail.doc/GUID-E0161CB5-BD3F-425F-A7E0-BF83B005FECA.html
HA advanced setting: das.respectvmvmantiaffinityrules
Default is true, so I set it to false, to achieve my goal, but it still doesnt work. So I contacted VMware support and they sent me this kb article:
https://kb.vmware.com/s/article/2033250?lang=en_US
So according to them, this HA advanced setting is no longer valid in vSphere 7 I asked for an alternate solution, but yet received no reply. The only workaround that came to my mind is:
- Setting up 3 host groups, each group contains one host
- Setting up 3 VM groups, each group contains one VM
- Create a VM-Host affinity rule as should run
This may solve my problem, but we need this for a customer having various 3 node VM clusters that need this solution, so I would end up with huge amount of host and VM groups along with additional VM-Host affinity rules ...
Hope you understand what I want to achieve and maybe have an idea