This post will be mainly focused on vSAN commands at ESX level, so please use these commands under your responsability. I kindly recommend you to raise a VMware service request in case of doubts, issues or problems.
When a hardware device, host, or network fails, or if a host is placed into maintenance mode, vSAN initiates resynchronization in the vSAN cluster. However, vSAN might briefly wait for the failed components to come back online before initiating resynchronization tasks.
The following events trigger resynchronization in the cluster:
- Editing a virtual machine (VM) storage policy. When you change VM storage policy settings, vSAN might initiate object recreation and subsequent resynchronization of the objects.
Certain policy changes might cause vSAN to create another version of an object and synchronize it with the previous version. When the synchronization is complete, the original object is discarded.
vSAN ensures that VMs continue to run, and resynchronization does not interrupt their operation. This process might require additional temporary capacity.
- Restarting a host after a failure.
- Recovering hosts from a permanent or long-term failure. If a host is unavailable for more than 60 minutes (by default), vSAN creates copies of data to recover the full policy compliance.
- Evacuating data by using the Full data migration mode before you place a host in maintenance mode.
- Exceeding the capacity threshold of a capacity device. Resynchronization is triggered when a capacity device in the vSAN cluster approaches or exceeds the threshold level of 80 percent.
vsish -e set /vmkModules/vsan/dom/PauseAllResync 1 => To pause the resynchronization.
vsish -e set /vmkModules/vsan/dom/PauseAllResync 0 => To start the resynchronization.
vsish -e get /vmkModules/vsan/dom/MaxNumResyncCopyInFlight => to get number of copy objects in case of resynchronization.
vsish -e set /vmkModules/vsan/dom/MaxNumResyncCopyInFlight 10 => to set 10 concurrent objects in case of of resynchronization. By default 50
vsish -e get /config/VSAN/intOpts/ClomRebalanceThreshold = to get ClomRebalnace, vSAN will start to rebalance objects with disk(s) reach X % usage.
vsish -e set /config/VSAN/intOpts/ClomRebalanceThreshold 90 y –> to set ClomRebalnace, vSAN will start to rebalance objects with disk(s) reach 90% usage.
These 2 parameters (MaxNumResyncCopyInFlight and ClomRebalanceThreshold ) needs to be applied per ESX host and they should be ONLY changed in case of vSAN Resync constrains.
Use the commands at our own risk, under your responsability and raise a VMware Support reqeust in case of doubts.