Skip to main content

What is Thin Provisioning?

Thin provisioning is a storage technology that helps consolidate and share physical disk space across multiple thinly provisioned virtual disks or disk images (sparse files).

With thin provisioning, we can create arbitrary large files or virtual disks without the need to provide all the necessary storage capacity at once immediately. The term thin provisioning is most commonly associated with virtual hard disks, such as disk images for virtual machines or containers.

Benefits of Thin Provisioning?

Thin provisioning helps you keep your storage usage to the actual requirement at any given point in time. This is achieved by storage consolidation, as we will see further down.

A typical use case for thinly provisioned storage is virtual machine images or container storage. You create a disk that is 20 gigabytes in size or can grow up to 20 gigabytes but only use what is required at the time. This means that if your VM only occupies 2 gigabytes, your virtual hard disk only occupies 2 gigabytes, too.

When creating the virtual hard disk, your virtualization solution, such as VMware, VirtualBox, qemu, or whatever, asks you if the new disk image should be thinly provisioned or thick provisioned. The latter provisioning the whole file upfront. Meaning, a virtual disk of 20 gigabytes capacity immediately requires 20 gigabytes on the underlying physical storage. The former, however, will initially be a few kilobytes in size and keeps growing while data is written to the virtual hard disk.

How does Thin Provisioning work?

Assume we want to implement a thinly provisioned storage. To do that, we first need to understand what it usually looks like. For example, let’s look at three virtual machines, each with its own storage disk attached.

Three virtual machines, each with its own disk storage. Disk usages are 10%, 50%, and 80%.
Figure 1: Three virtual machines, each with its own disk storage. Disk usages are 10%, 50%, and 80%.

All disks have the same capacity. Let’s assume 20 gigabytes. The first one is used at about 10%, the second is used at about 50%, and the third one is about to run out of storage at around 80%.

That means, that while the first disk is wasting allocated capacity without requiring it, the third one could use additional storage disk space.

Storage Consolidation via Thin Provisioning

Now, using a thinly provisioned storage solution, the disks can be arbitrarily large. However, there is no requirement for the physical disk space to exist. Hence, let’s make all disks larger, say 40 gigabytes each. However, the configured capacity is negligible. It could be 1 terabyte each. Since the storage isn’t actually required until used, it can be anything.

Three virtual machines with virtual disks, attached to a thinly provisioning storage backend, storing all data consolidated and blocks allocated as they come.
Figure 2: Three virtual machines with virtual disks, attached to a thinly provisioning storage backend, storing all data consolidated and blocks allocated as they come.

Anyhow, a thinly provisioned virtual storage is always backed by an engine that supports thin provisioning, like simplyblock. The thinly provisioned storage is stored and consolidated into a single backend storage pool. When a virtual machine writes data to its virtual storage device, it is written into the backend storage as it comes.

Since each virtual machine has as much (or even more) storage capacity than the backend storage, theoretically, we’d hit a point where we run out of available disk space. However, solutions like simplyblock, can be scaled by adding additional disks or cluster nodes to increase the backend storage capacity.

That means that with thin provisioning, you get much more out of your underlying storage, and you always only need what you actually use.

Infrastructure Operation Simplified

As an operator serving customers or as an infrastructure team serving other departments, thin provisioning can minimize the initial investment, simplify storage management, and minimize safe-guard overprovisioning.

From a customer perspective, the option to pay for storage by actual use rather than provisioned capacity is a big competitive advantage and great for cost-saving measures.

I hope you see where thin provisioning helps you save money and brings incredible new opportunities to your infrastructure. Enable customers to only pay for what they need or bring down your own infrastructure cost for an increased margin.