HomeLab – How to disable vSphere Cluster Services (vCLS)

In vSphere 7 update 1 VMware added a new capability for Distributed Resource Scheduler (DRS) technology consisting of three VMs called agents. The agent VMs form the quorum state of the cluster and have the ability to self-healing. So if you turn off or delete the VMs called vCLS the vCenter server will turn the VMs back on or re-create the VMs again. For HomeLab purposes this new feature consumes CPU resource, Memory and disk space which although minimal is not worth having a configuration that adds nothing to a test and development environment.

In this blog I will be showing how to remove this feature but it is important to emphasize not to implement this change in production environments. The following image show the minimum amount of vCLS VMs used in vCenter 7U1.

Note: vSphere DRS depends on the status of vCLS services as of vSphere 7.0 Update 1.

As you can see in my case the RegionA01-COMP cluster is composed of two ESXi servers where there are three vCLS VMs.

The first thing you need to do is to identify the cluster domain ID that is required to be able to add an advanced value in the vCenter configuration. This ID can be identified in two ways: From vCenter or using Powershell with PowerCLI.

vCenter: In this part you can get the cluster ID by navigating to the [Hosts and Clusters] tab then select the cluster you are going to edit where you can see that the ID is in the URL address of the browser.

PowerCLI: Using Powershell with the VMware.PowerCLI module you can obtain the cluster ID by invoking the <Get-Cluster> command. As shown in the result of the command you can see the value of the Id <domain-c81> for the cluster named RegionA01-COMP.

PS /home/rebelinux> Get-Cluster RegionA01-COMP | FL

ParentId                        : Folder-group-h23
ParentFolder                    : host
HAEnabled                       : True
HAAdmissionControlEnabled       : True
HAFailoverLevel                 : 1
HARestartPriority               : Medium
HAIsolationResponse             : DoNothing
VMSwapfilePolicy                : WithVM
DrsEnabled                      : True
DrsMode                         : FullyAutomated
DrsAutomationLevel              : FullyAutomated
CryptoMode                      : OnDemand
CollectiveHostManagementEnabled : False
Name                            : RegionA01-COMP
ExtensionData                   : VMware.Vim.ClusterComputeResource
Id                              : ClusterComputeResource-domain-c81

PS /home/rebelinux>

Once we have the cluster ID which in my case is <domain-c81> we proceed to add the configuration in vCenter by navigating to [Advanced Settings => Configure => Edit Settings].

In this screen add the <config.vcls.clusters.domain-cID.enabled> value which in my case would be <config.vcls.clusters.domain-c81.enabled> with the value of “false” in the “Value” field.

Once the value is added the VMs of type vCLS will be removed from the cluster as you can see in the image as the VMs no longer exist.

In the following image you can see the tasks performed by vCenter to remove the vCLS VMs.

Hasta luego!!!