Thin provisioning in storage arrays is widely used and is a proven technology. Almost all of us use it at this point. The array has a limited amount of physical capacity. Thin provisioning allows us to present much more storage than what is physically available. The array guarantees portion of storage to different storage volumes based on writes. The assumption here being that consumers of storage will not use all the requested capacity immediately. The consumers of storage will be competing for the storage available which is marked in purple in the picture (Figure 1) below. Figure 1 – Thin provisioning over allocation at array
There are different tools to monitor the over allocation levels (Figure 1, marked in orange) in storage arrays. I have seen different numbers that customers consider safe for over allocation numbers. The most common number for allocation is 400%. Meaning, if you have 1TB storage you allocate up to 4 TB to consumers.
Now, let’s add thin provisioning at the server level. You are taking the capacity that is not guaranteed at the array level and blowing it up even higher. Consider the following scenario:
Figure 2 - Thin-on-Thin over allocation at array and virtualization layer
You take the 4TB and give it to 4 server admins, 1 TB each. In turn they take that 1TB and create virtual machines that are thinly provisioned for a total of 2 TB. Your server admins are more conservative and have only allocated 200% of what they have. Now 200% allocation is not that big and is totally perfect, right?
If you really do the math between physical capacity and what is seen by the guest VMs, it is not 200% or 400%. You have just taken 1 TB of physical capacity and given it as 8 TB. That is a whopping 800% allocation. Does this whole scheme sound familiar to you? Taking assets that don’t have any guarantees and considering them as a base for creating additional offerings, you are setting yourself up for a subprime crisis of your own with thin-on-thin.
The bigger problem that I have seen with customers is, people don’t even know how much they have over allocated.
Storage Operations Manager (SOM) provides out of the box calculations for over allocation after two levels of thin provisioning. This information is presented at each data store level. SOM also provides how much physical capacity is available for expansion in the storage array.
Figure 3 - Virtual server analytics dashboard in SOM
There are different recommendations from storage array vendors and hypervisor providers to effectively use thin provisioning. With SOM you can take control of thin provisioning be it on the array level or the data store level or thin-on-thin.