B: Reclaiming Storage from Disk Pools
How Much Storage will be Reclaimed?
This is impossible to predict.
SANsymphony can only reclaim Storage Allocation Units that have no block-level data on them. If a Host write its data ‘all over’ its own filesystem, rather than contiguously, the amount of storage that can be reclaimed may be significantly less than expected.
Defragmenting Data on Virtual Disks
It may be possible to use a Host’s own defragmentation tools to consolidate data spread out all over the host’s filesystem but care should be taken as even more storage may be allocated while the existing data is defragmented.
Once any defragmentation is completed then additional steps will need to wipe the ‘free’ filesystem space on the host and then use SANsymphony’s ‘Manual Reclamation’ feature – see next.
Notes on SANsymphony's Reclamation Feature
Automatic Reclamation
SANsymphony checks for any ‘zero’ write I/O as it is received by the Disk Pool and keeps track of which block addresses they were sent to. When all the blocks of an allocated SAU have received ‘zero’ write I/O, the storage used by the SAU is then reclaimed.
Mirrored and replicated Virtual Disks will mirror/replicate the ‘zero’ write I/O so that storage can be reclaimed on the mirror/replication destination DataCore Server in the same way.
Manual Reclamation
SANsymphony checks for ‘zero’ block data by sending read I/O to the storage. When all the blocks of an allocated SAU are detected as having ‘zero’ data on them, the storage used by the SAU is then reclaimed.
Mirrored Virtual Disks will receive the manual reclamation ‘request’ on all DataCore Servers involved in the mirror configuration at the same time and each DataCore Server will read from its own storage.
The Manual reclamation ‘request’ is not sent to replication destination DataCore Servers from the source. Replication destinations will need to be manually reclaimed separately.
Reclaiming Storage on the Host using SCSI UNMAP/TRIM
SCSI UNMAP/TRIM commands issued by the Host can be used to trigger SANsymphony's ‘Automatic Reclamation’ function. To determine if this feature is enabled on your Windows Host, use the inbuilt ‘fsutil’ command’s ‘File-delete notification’ feature.
Example:
fsutil behavior query disabledeletenotify
Windows 2012 and later Hosts only (refer to SCSI UNMAP).
Reclaiming Storage on the Host Manually
For versions of Windows Hosts that do not support UNMAP, have UNMAP disabled or are using Virtual Disks served from older versions of SANsymphony that do not support SCSI UNMAP, a suggestion would be to use Microsoft’s sdelete command to write zeroes directly to the filesystem and trigger SANsymphony's ‘Automatic Reclamation’ function.
Be careful when running the sdelete command directly on Cluster Shared Volume (CSV) Disks. Do not run sdelete directly on a CSV, use the subst command to assign a virtual drive to the CSV mount point and then run sdelete on the virtual drive.
Example:
subst G: "C:\ClusterStorage Volume2
sdelete64.exe -z G:
Also see:
Auto-reclamation of unused SAUs