Last week, I lauded Symantec for introducing an API in Storage Foundation which will interact with the thin storage capabilities of supported arrays. Since then, I’ve learned more about this capability, and I am writing this update to share that knowledge. As I noted last week, the press release was a bit hard to follow and comprehend (and not just for me), and one of my initial assumptions about the API turned out to be wrong. I also received a few comments from interested folks pointing out some more pros and cons of this technology.
First, let’s clarify just which products and capabilities Symantec is offering here:
- Veritas Storage Foundation version 5.0MP3 for Unix/Linux includes SmartMove and the Thin Reclamation API
- Veritas Storage Foundation for Windows 5.0 only includes SmartMove at this point, but it will be updated to include Thin Reclamation at some point in the coming year
Although there is no real information on Symantec’s web site about all this yet, Symantec’s director of Storage Management and High Availability, Sean Derrington, assures me that their software is available now. Although no compatible arrays are in end-user hands, 3PAR will update their T-Class firmware to support the API shortly, and HDS and HP are on the way as well.
Thin Aware Software
Next, contrary to what I inferred from the announcement, there is no native thin provisioning capability in the file system or volume manager. So the first item in my list is right out. However, the volume manager is now “thin aware”, which means that it will communicate up to the file system and down to the array to coordinate more effective use of space.
When the volume manager is used with Veritas File System (VxFS) on UNIX or NTFS on Windows Server 2003 or 2008, it will automatically keep track of deleted files and will pass this information down the stack to the array. This is a major piece of functionality to add, especially to NTFS, “hole punching” (like NetApp) to maximize thin provisioning.
The Storage Foundation tools have also been updated to properly report on thin provisioned volumes. For example, the following screenshot shows three disk devices where encl1 supports thin reclamation and encl0 does not.
# vxdisk list
DEVICE TYPE DISK GROUP STATUS
encl0_0 auto encl0_0 mydg online thin
encl1_0 auto encl1_0 mydg online thinrclm
encl1_1 auto ecnl1_1 mydg online thinrclm
Thin Reclamation API
The Veritas Thin Reclamation API allows the Storage Foundation volume manager and file systems to communicate with thin-capable arrays when data is deleted on thin-ified LUNs, maintaining their thin-ness as you go. When a file is deleted, the file system will communicate to the volume manager that that space is no longer needed. When the server administrator runs the “vxdisk reclaim” or “fsadm —R” commands, the volume manager will communicate this information to the array (using SCSI commands) that any vacated disk blocks can now be reclaimed. Symantec expects folks to set up a cron job to reclaim space, or perhaps just run it when they see the need.
This is brilliant stuff, and ought to make thin provisioning shine in terms of array utilization. In an environment of thin-enabled Veritas volumes and supported storage arrays, the amount of space used on an array will be awfully close to the amount of space used in the file systems. This is a massive win – a capacity gain of on the order of 50%-70% in an average environment!
For more on this topic, see my recent post on storage utilization
If the storage array fully supports Symantec’s API, the tools will also report physically allocated storage behind thin and thin_reclaim devices.
# vxdisk —o thin list DANAME DISK SIZE(Mb) PHYS_ALLOC(Mb) DISK GROUP TYPE encl0_0 2000 50 mydg thin encl1_0 200 50 mydg thinrclm encl1_1 500 500 mydg thinrclm
SmartMove
SmartMove is Symantec’s new capability for online migration from “thick” to thin LUNs. It is included in Storage Foundation for Unix/Linux and Windows and works with any thin storage array, not just those that support the API. This is basically a tweak to the old storage migration support we have all known and relied on in Veritas Storage Foundation for over a decade, except that it’s smart enough to not request blocks that it won’t use. One could theoretically “SmartMove” a volume regularly to reclaim space without using the API at all, but those commands are sure a lot simpler.
Note that SmartMove speeds up migration too, even for thick volumes! When you use a SmartMove-enabled version of Storage Foundation to move a volume, it will only send the blocks that have changed over the wire. This reminds me a little of VMware’s new I/O deduplication capability talked about at VMworld, but it’s focused only on migrations, not other I/O situations.
For more on this topic, see my recent post on VMware vStorage
The Plot Thickens
So I was wrong about one item, but the other two remain true. Is Symantec’s new capability a winner? I give it a silver medal – it’s good stuff, but some issues remain.
- My primary concern remains – thin provisioning does nothing to address the lack of storage management that is so prevalent. It enables greater utilization of capacity, but does nothing to control how that capacity is used. This isn’t a beef with Symantec’s Veritas Storage Foundation or 3PAR or HDS or EMC or anyone in the thin industry, really. Instead, it is a wake-up call to all of the storage organizations out there who have filesystems full of uncontrolled junk!
- My second concern is the lack of capacity management. Thin provisioning is a lie, promising more capacity than is available. This might be acceptable in certain controlled circumstances like operating system or application volumes, but telling end users that they have plenty of available space is a recipe for disaster. Storage use is like air – it expands to fill all available volume. Without capacity management, your thin volumes will be “overdrawn” and your storage “account” will be bankrupt.
- Then there is the issue of proprietary APIs versus standards. Let me say right away that I always support standards over proprietary technology. But, at the same time, given the choice between nothing and something, I’ll take the proprietary API. Thin provisioning is a good idea with poor implementation. This API helps to make it useful in the real world, and having a market leader like Symantec behind it makes it all the more relevant. I certainly hope the entire storage industry will come up with a standard thin API, and when that happens I hope Symantec will support it. Until then, at least we have something.
I will be writing more about thin provisioning in the coming weeks. Until then, I continue to applaud Symantec, 3PAR, HDS, and HP for their work in making this technology somewhat more practical. Now how about VMware, Microsoft, Sun, and the Linux guys get some thin technology going, too?
See my posts on Gestalt IT for similar enterprise IT infrastructure commentary
[email protected] says
Excellent post Stephen! BUT I think saying thin provisioning is a “lie”, could be easily misunderstood. There is no question that you should NOT USE THIN PROVISIONING FOR END USER STORAGE, but that doesn’t mean that it can’t be amazingly effective and not at all dangerous for many other uses. For example, VMFS, is extremely thin friendly and becoming more so all the time.
Stephen says
Yes, it can be effective. And this is especially true with this new API and advanced capabilities that are being added to the storage devices. But thin provisioning will always be a “lie” – it promises capacity that cannot necessarily be delivered. The next wave of improvements will be managing that lie…
[email protected] says
Excellent post Stephen! BUT I think saying thin provisioning is a “lie”, could be easily misunderstood. There is no question that you should NOT USE THIN PROVISIONING FOR END USER STORAGE, but that doesn’t mean that it can’t be amazingly effective and not at all dangerous for many other uses. For example, VMFS, is extremely thin friendly and becoming more so all the time.
sfoskett says
Yes, it can be effective. And this is especially true with this new API and advanced capabilities that are being added to the storage devices. But thin provisioning will always be a “lie” – it promises capacity that cannot necessarily be delivered. The next wave of improvements will be managing that lie…