Raxco introduces PerfectStorage – Guest OS Space Reclaim
I was first introduced to Raxco Software when I wrote an article on the vSphere Storage Blog related to fragmentation on Guest OS file systems. In that post, I wanted to highlight some side effects of running a defragment operation on the file system in the Guest OS (actually, primarily the Windows defragger). Raxco reached out to say that they had a product that would actually prevent fragmentation occurring in the first place, which was rather neat I thought. Bob Nolan, Raxco’s CEO reached out to me again recently to let me know about a new product that they were launching on the market (on April 23rd, 2013). If you’re looking for a solution to reclaim dead space from within a Guest OS, then read on.
Many of you will be aware of VMware’s recent introduction of the SE Sparse Disk. This is VMware’s first effort to allow you to reclaim dead space from within the Guest OS. Right now, it is only supported with VMware Horizon View version 5.2, so basically is limited to View desktops. For general purpose virtual machines, we still do not have a solution.
We had some workarounds in the past – notably running SDelete to do a zero fill operation within the (Windows) Guest OS, and then migrate the VM between datastores of differing block sizes. Well, that method was lost with the introduction of a unified 1MB file block size with VMFS-5. So I was very interested when Bob reached out about their new PerfectStorage solution for reclaiming dead space within a Guest OS.
In Bob’s own words: “PerfectStorage includes an enterprise console that allows the product to be deployed, installed and scheduled across the physical and virtual servers in the enterprise. PerfectStorage can be scheduled to run unattended, on multiple systems at the convenience of the system/storage administrator and there is no need to shut down system activity. The product can perform an analysis of each thin-provisioned volume and provide an estimate of how much space can be reclaimed. The SMART Zero-Fill feature will only write zeros to those clusters that are not already zeroed. Administrators opt for the type of reclamation they want to do and PerfectStorage performs the Zero-Fill or issues the UNMAP command for the reclaimable space.
The beta testers who had previously used SDelete-like tools said PerfectStorage saved them hours of time working with the command line and baby-sitting the reclamation process. Larger users said PerfectStorage allowed them to reclaim significant space which helped them better plan future storage purchases.
PerfectStorage will do Zero-Fill on any storage controller that has zero detection capability for Windows Vista and above and Windows 2003 SP1 and above. To perform the UNMAP function requires VMware 5.1 and Virtual Hardware 9 on the Windows guests or Hyper-V 2008/R2 or 2012″
PerfectStorage product trials are now available at http://download.raxco.com/perfectstorage. The link has two places where it asks “Find Out if PerfectStorage is Right For You”. Based on some questions that arose during early beta, Raxco put together a short decision tree that lets an administrator know if PerfectStorage will work for them.
Seems like this could be a nice tool, and I know this is an area of pain for many administrators. Worth checking out in my opinion.
15 Replies to “Raxco introduces PerfectStorage – Guest OS Space Reclaim”
How does it fare against VMware’s free fling offering … in terms of speed and amount of space being recovered ? Apart from the scheduling part functionality seems to be the same.
No idea. How about giving them both a test drive and reporting the results? 🙂
GuestReclaim is a cmd line tool – which means that it doesn’t easily lend itself to being centrally managed across a large number of guests. With that being said, PerfectStorage helps to turn a manual task (i.e. running GuestReclaim via cmd line) into something that can better be automated – which provides a more efficient way of reclaiming space.
Summary of improvements that PerfectStorage brings to this process instead of using GuestReclaim:
– PerfectStorage allows you to analyze a Windows guest drive (i.e. C:) and provide an estimate of recoverable space. This allows you to better plan reclaim operations – ensuring that you don’t needlessly run a reclaim operation in a Windows Guest when there is no real recoverable space.
– PerfectStorage performs the reclaim operation at a below normal CPU priority (although you can configure to run at a normal or above normal CPU priority) and also performs disk throttling (so that reclaim operation runs at lowest disk priority). This means that when PerfectStorage performs a reclaim operation, it is less likely to impact more essential processes running in that Windows system.
– PerfectStorage provides several different ways to run including Manually (just click the Start button) as well as at a scheduled date/day/time (i.e. the First Sunday of every month).
– PerfectStorage can be centrally deployed, configured and managed across a large number of systems using the PerfectStorage Enterprise Console.
interesting tool indeed.
A problem tools like this one can create, and that would be worth to mention, is the highly increased amount of CBT changed blocks and thus the slow backups happening right after the tool has been used.
I’ve found a compromise when running sdelete/defrag (so it would work also for Raxco), that is to schedule these tools right before a full backup (for instance weekly), so there is no penalty since CBT is not used during a full backup. But these tools before a CBT incremental are an overkill.
Nonetheless, a really interesting tool.
That is an interesting point Luca – nice catch!
Defragmenting in a guest poses it’s own challenges, including things like NOT defragmenting when a guest has snapshots, detecting if a guest drive is thin provisioned, etc… While the built-in defragmenter isn’t aware that it is running in a virtual environment, a virtually aware defragmenter like PerfectDisk IS and will detect scenarios like the above and handle them appropriately. For example, if a guest drive is thin provisioned, PD will change it’s optimization method and free space search method to something more friendly to thin provisioned (in order to not blow out the tp drive). PD will also detect if a guest has snapshots and will not allow defragmenting.
You raise valid points about CBT and while the built-in defragmenter doesn’t really provide many CBT friendly configuration options, with the ability to change free space search method and defrag method, there are things that you can do with PD to have less of a negative impact with CBT.
thanks for further clarification, but I do think, regardless the “due care” your software uses while managing thin disks, even with thick disks a changed block is marked as modified by CBT, and I suppose any kind of disk optimization in the guest is likely to create large amounts of CBT changed blocks.
I’ll be happy to test “how much” Raxco activity influences CBT, and if it is so much less than usual defrag/sdelete.
Absolutely. While PD configures itself automatically when it detects thin provisioned guest drives, for thick drives you can also configure PD to be more “friendly” for CBT by changing the free space search method and optimization method. Defragmenting by design IS going to result in CBT seeing blocks having been changed. However, if you can minimize the changes made to a smaller set of clusters on the drive (focusing file movement activity toward the front of the drive), you can hopefully strike a balance between maintaining NTFS performance and incremental backup size. Key to this balancing act is knowing when/if defragmentation really needs to be done. While the built-in defragmenter provides limited information regarding fragmentation levels and doesn’t really provide a good way to monitor centrally, PD does have this ability. With better reporting, you can make more informed decisions on when/if defragmentation needs to be performed and based on this information determine how/when to perform based on things like backups, etc…
I’m missing the information if PerfectStorage reduces the size of the VMs VMDK files too. The old trick was to use zdelete and then svMotion to a datastore with different blocksize. Or sdelete and then shutdown the VM and execute vmkfstools with punchzero option. Reducing the size of the VMDK file is the hard part for me, because now I need a downtime for the VMs.
PerfectStorage helps to automate running a reclaim operation (either zero-fill or SCSI UNMAP) inside of a guest. Depending on the version of ESXi you are running, there may be additional steps to perform in order to shrink vmdks and/or reclaim space at the controller level. For example, if you are running ESXi 5.1 and guests are version 9, PS running a SCSI UNMAP reclaim operation will result in the .vmdks shrinking “on the fly” – no need to svMotion or shutdown the guest and run vmkfstools. If you are running a prior version of ESXi, then after PS performing a Smart ZeroFill reclaim operation in the guest, you still will need to either perform a svMotion or run vmkfstools to shrink the .vmdk.
We have a brand new EMC VPLEX cluster which sadly does not support VAAI Clone/Delete yet. So I guess even with 5.1 and vHardware 9 we’d not be able to shrink the Guests VMDK’s on the fly? We use virtual thin because our storage team is a bit skeptical about this “new” thin technology. Btw: we already use PerfectDisk.
I’d suggesting giving PS a try in your environment. Pick a guest, install PS and analyze to get an estimate of recoverable space. Then, have PS perform a SCSI UNMAP reclaim operation (default reclaim method) and using DataStore browser, click to refresh button to see if you see the thin provisioned .vmdk shrinking on the fly.
I did a quick test. Although PS reported that >20 GB could be recovered the reclaim task did not shrink the VMDK files (neither unmap nor zero). I guess we have to wait until EMC implements the needed VAAI capabilities.
Good news. In a second test with vHardware vmx-09 I was enable to reclaim free space.
Yes, VMX-09 is required in order for SCSI UNMAPS sent in a guest to be “seen” by the host and processed.
Comments are closed.