if I have a VM with 2x 5TB thin provisioned disks placed on a VMFS6 datastore with a total capacity of 10TB.
This is the only VM (no snapshots) on this datastore and nothing else stored on it.
If data at the OS level (linux) is deleted its not freed up automatically at vmdk level right?
So potentially I could run in a situation where the OS says that it had 2TB free whilst vmdk's are full.
So one either need to watch out for datastore alerts for disk usage (which I found out that if you update the Alert policy existing alerts triggered by same policy are reset - good if someone can confirm?)
Or else create/expand datastore so its always higher that vmdk allocated size (this defeats thin provisioning concept however)
In case you are deleting something on Guest OS - it will be deleted on Datastore too.
This option is only available on VMFS6. Unmapping
It was not the case even though datastore is VMFS 6.
Ubuntu OS was showing 3TB free space whilst Datastore was full.
There are potentially several conditions that need to be met for this to work.
The storage system has to support it.
The reclaim granularity has size conditions that determine whether automatic unmap will occur.
The guest operating has to support it. Windows does by default, Linux since vSphere 6.5? Or something like that.
You haven't revealed much about your environment. I think more needs to be revealed, in order that useful help can be dispensed.
the point I am making is that its not as simple as:
"In case you are deleting something on Guest OS - it will be deleted on Datastore too."
In which case datastore capacity alerts and adding more space to datastore than provisioned to VMs will help.
Tell me also which vSphere version do you have there?