In this quick tip on Move vSphere Cluster Services (vCLS) VMs datastore, I will explain how to move your vCLS VMs to a different datastore and create the Anti-Affinity for vCLS VMs rule.
vCLS is a new feature launched with vSphere 7 update 1. In this new feature, vCLS ensures cluster services such as vSphere DRS and vSphere HA are all available to maintain the resources and health of the workloads running in the clusters independent of the vCenter Server instance availability.
Since it is a relatively new feature, it is still being improved in the latest versions, and more options were added to handle these VMs. There were some issues handling these VMs or moving them to other Hosts/Datastores in the initial version. In each vSphere update, VMware is fixing that and giving more flexibility to customers to handle these vCLS VMs.
For example, you can now set the datastores where vCLS can run and should run. This option was added in vSphere 7 update 3, together with the option to create also Anti-Affinity for vCLS VMs not running with specific VMs.
Move vCLS Datastore
This task can be done at the Cluster level(every Cluster with DRS and HA will have 1 o 3 vCLS VMs depending on the size of your Cluster).
Go to the Cluster and Configure tab, then you see a section vSphere Cluster Services and Datastores.
Here you have two options, Datastores where vCLS are allowed to run and Datastores where vCLS are not allowed to run. In this case, we will only move the vCLS VMs to run in a particular datastore (for security, you should add a second datastore if the first one is not available).
Select your Datastore(s) and click Add.
You have it configured after you add your Datastore(s), and there is no need to do anything else.
The vCLS VMs will automatically move to the Datastore(s) you added.
The Datastore move of vCLS is done.
Create Anti-Affinity for vCLS VMs rule
This option is also straightforward to implement.
Important note, the rule is only to set vCLS VMs, not to run with specific VMs using TAGs. There is no other option to set this. I don’t know why VMware only added this option and not the same option we use for DRS Anti-Affinity for Hosts/VMs rules.
So to use this option, you need to have TAGs implemented in your Center. A couple of years ago, I wrote a blog post on implementing and creating TAGs. Check it if you want to implement this in your environment.
On the vCenter main menu, go to Policies and Profiles, and in the Compute Policies, create the Anti-Affinity vCLS rule,
There is only one option in the Policy Type, the Anti-Affinity for vCLS. Next, you need to select the VM TAG Category.
In my case, I select the rule where vCLS VMs never run in the same ESXi host where VM Guest OS is classified as Other OS (like Oracle, DBs, etc.). This is an example where a VM (like Oracle, SAP, or other DBs, needs to run isolated in an ESXi host, and no other VMs can run on the ESXi host).
After that, we have our Anti-Affinity rule created for vCLS VMs. You can delete this rule when you want, with no impact on the vCLS performance or configuration.
And this latest option, Anti-Affinity for vCLS VMs, this tip blog post Move vSphere Cluster Services (vCLS) VMs datastore is finished.
Share this article if you think it is worth sharing. If you have any questions or comments, comment here, or contact me on Twitter.