PROBLEM


VM's that have a VHDX/VMDK which isn't being compressed as much as it should be, therefore it doesn't reflect the current used up space in the VM's.


CAUSE


The VHDX/VMDK had information in it previously that now got deleted, which means space got freed up. However this won't null/zero out the blocks that were previously in use and thereby we won't be able to compress them further without performing a 'zero out' on those blocks.



SOLUTION

  1. Download 'sDelete', a utility from TechNet: http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx

  2. Extract the package downloaded and then run inside the VM using the following syntax:
    sdelete.exe -z <driveletter>


  3. Start the backup for this VM in particular from scratch in order to take the first backup with the space zeroed out. You can clear out the previous backup sets by using this method.