In vSphere 7.0 Update 1, a new capability was introduced called the vCenter Cluster Services (vCLS) which provides a new framework for decoupling and managing distributing control plane services for vSphere. To learn more, I highly recommend the detailed blog post linked above by Niels. In addition, Duncan also has a great blog post about common question/answers and considerations for vCLS, which is definitely worth a read as well.
vSphere DRS is one of the vSphere features which relies on this new vCLS service and this is made possible by the vCLS VMs which are deployed automatically when it detects there are ESXi hosts within a vSphere Cluster (regardless if vSphere DRS is enabled or not). For customers who may be using the ESXi-Arm Fling with a vSphere 7.0 Update 1 environment, you may have noticed continuous "Delete File" tasks within vCenter that seems to loop forever.
This occurs because the vCLS service will first test to see if it can upload a file to the datastore, once it can, it will delete it. The issue is that the vCLS VMs are x86 and can not be deployed to an ESXi-Arm Cluster as the CPU architecture is not supported. There is a workaround to disable vCLS for the ESXi-Arm Cluster, which I will go into shortly. However, because vCLS can not properly deploy, it means vSphere DRS capabilities will not be possible when using vSphere 7.0 Update 1 with ESXi-Arm hosts. If this is desirable, it is recommended that to use either vSphere 7.0c or vSphere 7.0d if you wish to use vSphere DRS.
Note: vSAN does not rely on vCLS to function but to be able to use it, you must place your ESXi-Arm hosts into a vSphere Cluster and hence applying this workaround would be desirable for that use case.
VMware recently published a KB 80472 which outlines several methods in disabling vCLS, which can only be done on a per-cluster basis. In general, there is not a good reason to do this as more and more vSphere Clustering Services will depend on vCLS. In the case of an ESXi-Arm cluster, it may not be desirable to move the hosts outside of the vSphere Cluster to disable the file deletion behavior.
The easiest method is to use the vSphere UI to add the vCenter Advanced Setting to disable vCLS for your ESXi-Arm Cluster.
Step 1 - We need the Managed Object (MoRef) ID for the ESXi-Arm Cluster, you can do this by click on your cluster and then in browser window look for domain-cXXXX value and make a note of this. In my example, the MoRef is domain-c1035
Step 2 - Click on the vCenter Server inventory object and navigate to Configure->Advanced Settings and then click on Edit Settings to add a new advanced vCenter Server setting. At the bottom, add both the name/value and replace the "domain-c1035" with the MoRef ID from Step 1
- Name = config.vcls.clusters.domain-c1035.enabled
- Value = False
vCLS checks every 30 seconds and after that, you should no longer see the file deletion tasks occurring anymore. One thing to note is that although vCLS has been disabled on the ESXi-Arm Cluster, the following warning banner will still be displayed and this is true whether vSphere DRS is actually turned on or off in the cluster.