Is Thin Provisioning Right For You?

With the introduction of PerfectStorage, our customer base is expanding to a new set of end users, with storage managers now discovering the benefits of what Raxco Software has to offer. We also find an overlay at many organizations, with our relationships with system administrators now extended to storage management and virtualization teams. As we are now talking about the basics of thin provisioning to system administrators who wish to pass our information on to their storage administrator counterparts, I wanted to give a very basic overview on thin provisioning — what it is, the major benefits and key challenges to implementation.

The Upsides of Thin Provisioning

With thin provisioning, one nice benefit is that you pay only for the capacity used, rather than for the entire allocated amount. Potential cost savings can be readily apparent.

In “traditional” (thick provisioned) storage environments, users may leave anywhere from 30% to 50% of their allocated space unused. That means for every 10 TB purchased, 3 TB to 5 TB are left unused because of inefficient provisioning. This not only wastes space, it also results in additional expenditures for disks and/or storage arrays.

Thin provisioning improves storage utilization, which reduces storage costs. More organizations continue to implement thin provisioning as part of their overall corporate storage strategy due to its efficiencies and cost savings. However, like most paths to improved operations and reduced costs, care is required as to how this technology is implemented to ensure the maximum benefits are achieved and potential pitfalls are avoided.

At the highest level, the goal of thin provisioning is to maximize and optimize the storage available in storage area networks (SANs). Rather than utilizing a pre-determined and set amount of storage, as in thick provisioning, thin provisioning allows for changing the allocation of disk storage across multiple systems. These systems have a pre-determined minimum amount of storage allocated, but can pull from the available pool of storage to increase what is available to a system or user at any particular time.

In essence, the storage environment has the appearance of having more physical storage available than there actually is available. This results in increased efficiency and a reduced amount of storage capacity that needs to be purchased. The smaller the amount of resources used than what is allocated, the more efficient the thin provisioning environment will be.

Alternatively, if a system always has enough resources to simultaneously support all of the virtualized resources, then it is NOT thin provisioned. Rather, it is thick provisioned.

At a lower level, thin provisioning relies on on-demand allocation of blocks of data rather than allocating all the data blocks up front. This helps eliminate most wasted space, which in turn improves utilization rates. In traditional (i.e. “fat” or “thick”) storage environments, it is not uncommon to have large pools of storage capacity on various servers that do not get used. The excess cost can be substantial.

In thin-provisioned environments, storage capacity utilization rates are usually very high, often close to 100%. This is very efficient, and comes without incurring the costs of a storage or system administrator modifying the system to accomplish it. In turn, this allows organizations to purchase less storage capacity initially, defer storage capacity upgrades and save on overall hardware and associated costs (e.g. electricity, floor space) with keeping traditional storage functional.

The Benefits of Over-Allocation

Thin provisioning enables organizations to achieve  over-allocation of storage.

Over-allocation is a mechanism that allows a server to view more storage capacity than has been physically reserved on the storage array itself.

What’s the benefit? It gives flexibility in the growth of storage volumes and eliminates the need to attempt to accurately predict how much a volume will grow. Instead, block growth becomes sequential. Physical storage capacity on the array is only dedicated when data is actually written, not when the storage volume is initially allocated.  The servers, and by extension the applications that reside on them, view a full size volume from the storage but the storage itself only allocates the blocks of data when they are written.

As a practical consideration, a storage manager needs to monitor actual storage used, adding more storage capacity such as disks, solid-state drives, etc. as necessary to satisfy current and future data requirements. With over-allocation, much of this administrative time and overhead is eliminated.

Not Without Risk

But thin provisioning isn’t a slam dunk and may not be a cure all. If not implemented correctly, there is the risk of performance degradation as well as a more complicated infrastructure. So you need to be confident you are ready for the challenge.

The biggest risk is probably the possibility that you run out of allocated disk space if you haven’t planned accurately. And if you do need to add more storage capacity to your thin-provisioned drives, the process can be slow and difficult.

A performance hit may come  because thin-provisioned LUNs/volumes aren’t automatically striped over a large number of disk spindles. With thin provisioning, there are fewer disk drives to support the data and I/O.

What do you see as the potential upsides and downsides of thin provisioning?

Related posts:

Category: PerfectStorageStorageSystem Administration