It's important to monitor the vSAN cluster to ensure it doesn't become too full. There are Skyline Health alerts in place to help keep track of capacity utilization. Please see: vSAN Health Service - Capacity utilization - Disk space and vSAN Health Service - Physical Disk Health - Disk Capacity for more information.
If a vSAN datastore becomes too full, it can cause issues such as resyncs being stuck and certain management tasks to timeout and get stuck.
Other symptoms can include:
VMs fail to power on or go offline due to lack of space
Objects fail to create
Thin provisioned VMs cannot extend their vmdks due to lack of space
vSAN needs space for operations, called slack space, and it is recommended to not exceed 80% utilization on a vSAN datastore. If it becomes full, there are a few methods one can use to clear space to perform necessary management tasks.
More information on slack space: vSAN Operations: Maintain Slack Space for Storage Policy Changes
vSAN Free Capacity recommendations: Revisiting vSAN’s Free Capacity Recommendations
VMware vSAN 7.0.x
VMware vSAN 8.0.x
vSAN Datastore becomes full capacity utilization
The only recommended solutions are the following:
If this is not possible, there are some methods that can be done to clear space for management tasks such as adding more disks.
Verify storage policy in use, in rare cases some objects previously migrated to vSAN datastore may have Storage Rule 'proportionalCapacity = 100' (thick) incorrectly assigned.
To identify such objects user should run the following commands:
cmmds-tool find -f python | grep 'proportionalCapacity\\\": 100' -B9 | grep uuid | cut -d "\"" -f4 >> /tmp/uuidlist.txt
(Note: this command creates a file in /tmp/uuidlist.txt with all the objects with 'proportionalCapacity = 100' rule.)
for i in $(cat /tmp/uuidlist.txt); do echo "*********************";echo; /usr/lib/vmware/osfs/bin/
(Note: this command outputs 'UUID <-> path' pairs based on previously created /tmp/uuidlist.txt file)
Based on the friendly names ('Object path') in the output user could determine list of good candidates (UUID) for conversion to thin, once completed user can approach conversion of desired objects in one of two ways:
1. (Re)apply Storage Policy in the UI by assigning Storage Policy with same characteristics object(s) already has (Failures to Tolerate, etc.) and with 'proportionalCapacity' rule set to '0'.
2. Convert objects one by one using CLI, example command (can be run on any ESXi):
/usr/lib/vmware/osfs/bin/