Thin provisioning

In computing, thin provisioning involves using virtualization technology to portray the illusion of having more physical resources than are actually available. If a system always has enough resources to simultaneously support all virtualized resources, then it is not thin-provisioned. In this article, the term "thin provisioning" is applied to the disk layer, but in practice, it can refer to an allocation scheme for any resource. For example, real memory in a computer is typically thin-provisioned to run tasks with some form of address translation technology doing the virtualization. Each program acts as if it has real memory allocated; the total allocated virtual memory typically exceeds the total real memory.

The efficiency of thin or thick/fat provisioning depends on the use case, not the technology. Thick provisioning is typically more efficient when resource use closely matches resource allocation; thin provisioning is beneficial when only a fraction of an allocation is actually used, so that the benefit of providing just the required resources surpasses the overhead of virtualization.

Just-in-time allocation differs from thin provisioning; most filesystems allocate files just-in-time but aren't thin-provisioned. Overallocation also differs from thin provisioning; resources can be overallocated/oversubscribed without virtualization, for example, overselling seats on a flight without allocating actual seats at the time of sale, avoiding a claim on a specific seat number for each customer.

Thin provisioning is a mechanism that applies to large-scale centralized computer disk-storage systems, SANs, and storage virtualization systems. It permits easy allocation of space to servers on a just-enough and just-in-time basis; thin provisioning is also known as "sparse volumes" in some contexts.