Deleted data not reflected in Volume/Physical Capacity
Hello guys/gals,
I have a brand new cluster where i created 4 x 256G volumes. I presented these volumes to a vSphere cluster where i created 4 datastores. I then created a 40G VM on each datastore and ran some tests using IOmeter just to generate some workload.
Now i am done with my testing, i deleted my VMs from datastore (Volume Capacity in the GUI did not change, that's understandable). I then went ahead and deleted the actual datastores from vSphere cluster. Still Volume capacity nor Physical Capacity did not change, they are still displaying the same values as if my datastores were still in place and VMs were up and running. So next step i went ahead and unmapped volumes from vSphere cluster hoping that would trigger something but nada.
So the question is, does XtremIO run some kind of garbage collection job to actually reflect that data has been deleted from volumes ? Because there is nothing else on this XtremIO cluster but these 4 volumes.
VMware does not run the unmap operation by default when you delete data on the datastores (or when you delete the datastore itself). In other words, the array does not know about the data being deleted from the host, unless the unmap command is seen by the array. This is not specific to XtremIO – but is applicable for any array that does thin provisioning.
You have the option of running the unmap operation manually or use the VSI plugin for XtremIO (free of cost) through which you can schedule (or run on an adhoc basis) the unmap commands for XtremIO storage.
When you delete the datastore in VMware, you are not telling the backend storage array that the corresponding space can be reclaimed. This is a manual operation that you need to do in VMware (VSI plugin automates this process).
I have some worklflows where file system could be deleted but volumes could be re-used for other purposes. So what would happen in my case if my 4 volumes would be presented to another ESX cluster and new datastores would be created ? Would the "ghost" data get overwritten or new data would be written somewhere else and my "ghost" data will be stranded forever ?
Also same scenario but with physical servers (EXT4, NTFS, XFS)
Any new info on this? We are in the similar sitiuation. Is there a way to clean out old pointers from xtremio and reclaim space?
We moved our workloads onto xtremio last year but due to issues we had to move them back to Vmax. We have gotten the issues resolved and moved dev and test back but the xtremio showed as 64% full physically. The same amount when we had Prod, dev and test workloads on it last prior to the issues. We have started migrating Prod workload the past couple of days and we are up to 77% physical capacity.
Do I simply go an unmap/reclaim all xtremio volumes in Vsphere? We are using Eagered Thick volumes.
Are you running in a VMware environment and is the XtremIO behind a VPLEX by any chance?
Assuming that the answer is 'yes' and 'no', you can run and schedule the unmap command through the VSI plugin for XtremIO. Have you tried that?
If this is a non-VMware environment - there are OS specific operations that you can do to take care of space reclamation issue. This is documented in the Host Configuration Guide for XtremIO.
VSI plugins will allow you to run the UNMAP commands on the XtremIO datastores. You can also schedule those unmap operations from the VSI plugin if you wanted to. Make sure you are using the latest version of the VSI plugin.
Kumar_A
2 Intern
•
727 Posts
1706
0
Posted July 28th, 2015 13:00
VMware does not run the unmap operation by default when you delete data on the datastores (or when you delete the datastore itself). In other words, the array does not know about the data being deleted from the host, unless the unmap command is seen by the array. This is not specific to XtremIO – but is applicable for any array that does thin provisioning.
You have the option of running the unmap operation manually or use the VSI plugin for XtremIO (free of cost) through which you can schedule (or run on an adhoc basis) the unmap commands for XtremIO storage.