Thin provisioning is a storage solution that enables administrators to provision storage volumes that are large enough to meet long-term needs but without actually having to commit the full storage need up-front. Through the use of thin provisioning, you’re able to make better and more efficient use of storage resources.
Under thin provisioning, when a storage volume reaches a threshold, more space is automatically made available up to a predefined hard limit or until the SAN runs out of space. In short, when using thin provisioning, you might have a volume that is created at 100 GB in size but that only currently houses 20 GB worth of data. In this scenario, all of the system disk tools would report that the system has 100 GB of space available to it, but the disk would use up only 20 GB of space instead of the full 100 GB being allocated all at once.
In a traditional virtual machine, when you create a new virtual hard disk, that virtual disk claims enough disk space equal to the provisioned size of the disk. If you create a 100 GB virtual disk, 100 GB is allocated in the data store for the virtual disk. It doesn’t have to be this way!
The VMware vSphere hypervisor now supports the thin provisioning storage optimization technique. (Note: Thin provisioning was available in VMware VI3, but it was difficult to administer. vSphere brings this technology to the forefront of the product in a friendly, supportable way.) Under vSphere, there are two kinds of disks available for use: thick disks and thin disks. A thick disk is that aforementioned traditional storage in which all of the storage is allocated at the time a new virtual hard drive is created; a thin virtual disk uses only the amount of space on disk as exists inside the virtual machine.
The result is:
- More efficient use of storage.
- The potential to hold more virtual machines in a store. Be careful with this one, though, as you may add to storage I/O woes.
At first, thin provisioning at the hypervisor level might sound like a crazy idea. After all, if you’ve allocated 100 GB for a volume, and you may not want to risk oversubscribing the VMFS store and possibly running out of space. That’s lesson number one: Watch actual usage to make sure that you don’t run out of space. On the flip side, most disks don’t get filled to capacity, so thin provisioning a virtual disk allows you to provision the storage you think you will need without wasting space.
There are some other potential downsides to using thin provisioning with virtual disks in VMware, which include:
- Fault Tolerance is not available. Virtual machines that use thinly provisioned virtual disks cannot be protected with VMware’s Fault Tolerance tools.
- There can be a performance hit. Any time you don’t provision the full disk space and need to wait for the storage — or the hypervisor — to extend into new space, you might see a storage performance degradation while the expansion process takes place. For an in-depth look at performance as it relates to thin provisioning, read this VMware white paper.
- Administrators need to change their ways. A normal part of the duties for many server administrators is disk defragmentation. For thinly provisioned servers, running a defrag can ruin thin provisioning and result in a virtual machine’s hard disk immediately burgeoning to the fully provisioned size due to changed blocks.
Creating a new virtual machine that uses thinly provisioned virtual disks is very easy and doesn’t require much in the way of special steps. In the Create New Virtual Machine wizard, when you get to the Create A Disk step, select the checkbox next to Allocate And Commit Space On Demand (Thin Provisioning) (Figure A). That’s all there is to it.
Enable thin provisioning for the new virtual disk. (Click the image to enlarge.)
To see if an individual virtual machine is using a thinly provisioned disk, open that virtual machine’s Settings by right-clicking the virtual machine and choosing Edit Settings. On the virtual machine Properties page, choose the virtual hard disk device. In the right-hand-pane of the Settings page, take note of the Disk Provisioning Information box and, in particular, the Type value which (as you can see in this screenshot in Figure B) reads Thin for thinly provisioned disks. If this was a traditional disk, this value would read Thick.
This virtual machine is using a thinly provisioned disk. (Click the image to enlarge.)
Once you create a virtual machine that uses thinly provisioned disks, it’s important to keep an eye on how much space is being used by each of the virtual machines so that you don’t accidentally oversubscribe storage. Figure C gives you a look at the Virtual Machines tab for a server cluster in vCenter. For some virtual machines, there is a difference in the values in the Provisioned Space and Used Space columns. The Used Space column will help you to determine exactly how much space is being used by a thinly provisioned virtual disk.
See how much space is being used by your virtual machines. (Click the image to enlarge.)
Even though disk storage costs have plummeted in recent years, it doesn’t mean that most organizations have an interest in wasting this shared storage mechanism. With the use of VMware’s thin provisioning tools and some careful after-the-fact administration, thin provisioning can help organizations stretch their storage dollars.
Check out the 60-day free trial of VMware’s vSphere to see if it’s a good fit for your organization.