This question is similar to Best practices for thin-provisioning Linux servers (on VMware)
However my question is a touch different.
We have P2Ved quite a few servers (win/linux) and we needed to use the block level copy so we used Thin provisioning when migrating and we have set these servers in production assuming the Thin provisioning usage will be inline with the actual data used by servers but we are proved wrong as we see the VMDK's grow even though the actual disk usage within guest vms are low due to logs/backups /what not processes touching blocks and the VMDK can only grow and not shrink.
We do not want this to affect us at some night where the Datastore fills up entirely.
We looked at tools like sdelete / punching zeros however this needs us to remove all snapshots., which we cannot due to our backup system utilizing CBT . Also this does not work with Linux .
We also looked at suggestions where we should just V2V and create a new disk that is of a different size however this is bit too much of work considering the servers are already live .
Instead of making drastic changes to the setup, I was considering using windows/Linux disk tools to change the shrink the FS/Volumes inside the OS to a comfortable size so even if one VM uses all of its available space the Host will not run out of datastore space.
Example Numbers: Our Datastore : 1 TB. VM's Provisioned Usage : 2TB ( THIN ) VM's Actual Usage ( 100 GB )
Now if we use DiskMgmt tool in windows to shrink the basic volume to be about 200 GB and in Linux LVM to change LV / VG & partition to around 200G , this way VM has some headroom to grow but cannot grow too much.
My question is would this work i.e the vmdk growth will stop at the size of the OS disk part and would this become a sort of middle ground between thin/thick provision or would this not work and say the thin provisioned VMs VMDKs will still grow a lot beyond the partition /volume limit we set at the OS level?
One side question : what would happen if a datastore fills up would we be able to still use the Vsphere web client/etc or ssh to move some of the VMs to another datastore easily or is this is going to be a pure disaster?