When Casey Morgan asked me to write a post about the differences between thin and thick provisioning in the virtualization world, I immediately thought of pizza. More people I know prefer thin crust (as do I), but I have Chicago-based friends who prefer the thick crust of a deep-dish pizza.
Not surprisingly, however, the preference for thin provisioning over thick provisioning (or vice versa) isn’t just a matter of taste. Thick provisioning creates a legacy fixed partition with a static amount of space. If you set up a 1TB virtual machine (VM), that VM will take up that full TB, even if that VM is currently using only a fraction of that 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 avoid having to possibly spend a lot of money if they ran of space.
In contrast, when you create a VM using thin provisioning, you don’t need to guesstimate how much space you’ll need. Instead you can tell the VM’s operating system the VM has up to, say, 500 GB worth of storage, but the hypervisor controlling the VM gives it only the space it needs when it needs it.
In almost all cases, thin provisioning saves you money. As Lowe points out in his discussion of SAN storage:
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.
This savings and scaling flexibility occurs regardless of your storage environment—and if you’re like most companies, you’re probably using more than one type of storage. As StorageCraft technical marketing manager Steve Snyder pointed out to me, you’re probably reserving your expensive SSDs for rapid read-writes and transactions for database systems and voice systems, while using older slower spindle hard drives to store images or archives.
Thin provisioning gives you more options on how to use your storage, as well the ability to match what you’re doing with your current resources.
Steve explains it in simple terms:
As your business grows, it’s easy to grow and add more systems using thin provisioning. If your physical drive is 1 TB, and the two 500GB VMs you’ve created with thin provisioning are only using 100GB each, you can fit a third VM in the short-term, which could then drive in enough revenue to provide the capital you need to buy a bigger hard drive.
That’s a much better scenario than having to shell out all that money up front for additional before you know when (or whether) it’s needed.
Of course, thin provisioning isn’t a silver bullet. Like most technologies in the virtualization world, it has its limitations, which I’ll discuss in my next post.
In the meantime, we’d love to get your comments. Any thoughts on virtualization and storage? What type of provisioning do you prefer? And for that matter, what type of pizza?
Photo credit: Lppa via Wikimedia.