Enable Discards HP 3PAR StoreServ 7400
Solution 1:
Being able to run fstrim on the / partitions would be the best solution however with they way your ESXi is configured it would not be possible.
You need to be able to enable discards on both the VM and the storage device.
Trying to reduce to size of a partition or logical volume with the xfs filesystem cannot be done this is a known bug with fedora. If you are interested in this functionality please contact Red Hat support and reference Red Hat bugzilla 1062667, and provide your use-case for needing XFS reduction / shrinking.
As a possible work around in some environments, thin provisioned LVM volumes can be considered as an additional layer below the XFS file system.
If the VM's are eager thick provisioned VMDK, which means that there is nothing to reclaim when you are attempting to trim (technically speaking; SCSI UNMAP) your volumes.
If the back-end storage is running thin provisioning then you also need to use lazy zeroed VMDK files in order to reduce the storage and make it possible for the backend to cache/dedup the warm data.
Two possible options:
1. When storage is provided by a remote server across a SAN, you can only discard blocks if the storage is thin provisioned.
1. VMotion all the VM's to a different data store and use the built-in VMWare tools
2. Connect to the ESXi Host with SSH
3. Navigate to the Virtual Machine Folder
4. Verify disk usage with du
5. Run vmkfstools -K [disk]
6. Verify disk usage with du
2. dd if=/dev/zero of=BIGFILE bs=1024000
rm -f BIGFILE
From what I can tell this does the same thing as sdelete however it can cause a spike in disk I/O as well as take a while to run.
Something to try overnight
Either option is not the best but reformatting every VM to get ext3 or ext4 does not sound feasible.
What you might be able to do is setup an affinity rule for all linux VM’s and use option 1 from above.
Solution 2:
You are using eager thick provisioned VMDK, which means that there is nothing to reclaim when you are attempting to trim (technically speaking; SCSI UNMAP) your volumes.
If the back-end storage is running thin provisioning then you also need to use lazy zeroed VMDK files in order to reduce the storage and make it possible for the backend to cache/dedup the warm data.