Storage virtualization is a broad term for a series of capabilities. The core of which is disk abstraction, which we described in our first storage virtualization entry. In the next few entries we will cover some of the specific features that most storage virtualization systems provide and what the pros and cons are to each. First up is thin provisioning, one of headline features of storage virtualization.
As we describe in our Thin Provisioning White Paper this technology dynamically allocates storage capacity to a volume as it is used. Historically, most applications only use a fraction of the capacity that is assigned to them. Thin provisioning counts on this to be able to make the application think it has more capacity than may be physically installed.
For example, if you have a database application that the administrator thinks is going to need 2 TB of capacity someday, we all know if that application ever actually reaches that capacity it is not going to happen the day after it is put into production. It may take years to get anywhere close to 2TB. Also, this is purely captive storage, there is no actual data, just white space, so it can't be compressed or deduplicated. It is 2 TB just sitting there spinning, wasting money, and consuming electricity.
Thin provisioning allows you to tell the application that it has 2 TB of storage without actually hard assigning 2 TB of storage to it. Applied across a SAN of servers, thin provisioning can lead to dozens of terabytes--if not more--of capacity savings.
But there are downsides to thin provisioning.
For the most part, thin provisioning works well. But there is the chance that if there is a sudden need for storage capacity and all of it gets consumed by a particular application, it may leave the other applications with no room to grow and you have to place a rush order for more storage. Most storage systems or virtualization software provide a very detailed analysis of actual utilization, so you do have to keep an eye on the report.
There also is a potential performance impact of the storage system having to constantly allocate storage capacity to volumes on the fly. Some storage systems could have a significant performance loss if several applications start to write large amounts of new data simultaneously, bogging down the storage processor that has to handle all this on the fly allocation.
Thin provisioning may also fool storage management software. The software may not understand that the capacity being reported is thinly provisioned. This renders the software, which is designed to prevent you from running out of storage unexpectedly, useless for monitoring actual utilization.
There workarounds, including journal-based approaches as we discuss in our article "The VDI Storage Trade Off - Performance." And some storage systems have specific silicon dedicated to the management of the dynamic allocation of capacity to thin-provisioned volumes. Finally, several of the storage monitoring tools have added the ability to report on actual capacity utilization so that emergency purchases can be avoided.
The cost benefits of thin provisioning handily outweigh the risks of running out of capacity unexpectedly. The performance concerns are valid and something to pay attention to when selecting a system, but there are solutions that have worked around this as well. Thin provisioning is just one capability of the typical storage virtualization solution. In the next entry we will cover the advantages and disadvantages of Automated Tiering.
Follow Storage Switzerland on Twitter