What is thin provisioning?

Think back. Remember when you used to buy servers on a three-year cycle with direct-attached storage? At purchase-time, you needed to project out for three years what kind of storage needs you might need on that particular server. This kind of projection often resulted in an overbuilt server built with "just in case" variables and also resulted in a lot of wasted space for much of the life of the server. In many cases, organizations don't come close to filling up the storage, which means that money was spent for nothing. The organizations made the choice to gamble a little money up front in order to avoud having to possibly spend a lot of money if they ran of space.

As more organizations--large and small these days--make the move to shared storage, whether it's Fibre Channel or iSCSI, the option to significantly overbuy just isn't there. SAN space costs a whole lot more than direct-attached space. However, in order to provide the most flexibility and administrative ease, organizations want to give servers the ability to automatically grow their volumes on demand.

Enter thin provisioning. Through the use of thin provisioning, you get the best of both worlds. You can configure SAN-attached servers with volumes large enough to meet your needs for the life of the server. On the SAN side of the equation, however, only the physical storage required for server application needs is actually released to the server. As the application needs grow, the SAN automatically extends the volume until that volume reaches the configured maximum size. By handling storage in this way, you get to maximize your SAN storage investment and, once SAN capacity starts to hit a ceiling -- say 80% used -- you can add additional disks or shelves to the storage pool to expand the available space, all without having to continually manually expand SAN-based volumes on your servers. The result: Better overall storage utilization and less necessary oversight to make sure that individual server volumes aren't getting low on space.

Although I'm a big believer in thin provisioning, I would be remiss if I didn't mention some of the downsides. First off, through the use of thin provisioning, you can essential overallocate the total possible capacity of your SAN. By using thin provisioning, you're basically hedging some bets... the primary bet is that your SAN won't get a ton of sudden requests for volume expansion. If enough expansion requests hit all at once and your SAN doesn't have enough physical space to allocate, you're dead in the water in a big way. This downside can be alleviated by keeping a general sense of your storage trends and available capacity and, at the appropriate time, adding additional disks. There are also file system and application issues that you need to bear in mind. Some applications/file systems don't work well with thin provisioning because of the way that they make use of disk space.

When properly managed and monitored, thin provisioning can result in lower storage costs due to better disk utilization and can reduce some of the administrative overhead associated with monitoring individual volumes.