In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, thin provisioning involves using
virtualization technology to give the appearance of having more physical resources than are actually available. If a system always has enough resource to simultaneously support all of the virtualized resources, then it is not thin provisioned. The term thin provisioning is applied to disk layer in this article, but could refer to an allocation scheme for any resource. For example, real memory in a computer is typically thin-provisioned to running tasks with some form of address translation technology doing the virtualization. Each task acts as if it has real memory allocated. The sum of the allocated virtual memory assigned to tasks typically exceeds the total of real memory.
The efficiency of thin or thick/fat provisioning is a function of the
use case
In software and systems engineering, the phrase use case is a polyseme with two senses:
# A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
# A potential scenari ...
, not of the technology. Thick provisioning is typically more efficient when the amount of resource used very closely approximates to the amount of resource allocated. Thin provisioning offers more efficiency where the amount of resource used is much smaller than allocated, so that the benefit of providing only the resource needed exceeds the cost of the virtualization technology used.
Just-in-time allocation differs from thin provisioning. Most file systems back files just-in-time but are not thin provisioned. Overallocation also differs from thin provisioning; resources can be over-allocated / oversubscribed without using virtualization technology, for example
overselling
Overselling or overbooking is sale of a volatile good or service in excess of actual supply. Overselling is a common practice in the travel and hospitality sectors, in which it is expected that some people will cancel. The practice occurs as an in ...
seats on a flight without allocating actual seats at time of sale, avoiding having each consumer having a claim on a specific seat number.
Thin provisioning is a mechanism that applies to large-scale centralized computer disk-storage systems,
SANs, and
storage virtualization
In computer science, storage virtualization is "the process of presenting a logical view of the physical storage resources to" a host computer system, "treating all storage media (hard disk, optical disk, tape, etc.) in the enterprise as a single ...
systems. Thin provisioning allows space to be easily allocated to servers, on a just-enough and just-in-time basis. Thin provisioning is called "sparse volumes" in some contexts.
Overview
Thin provisioning, in a shared-storage environment, provides a method for optimizing utilization of available storage. It relies on on-demand allocation of blocks of data versus the traditional method of allocating all the blocks in advance. This methodology eliminates almost all whitespace which helps avoid the poor utilization rates, often as low as 10%, that occur in the traditional storage allocation method where large pools of storage capacity are allocated to individual servers but remain unused (not written to). This traditional model is often called "fat" or "thick" provisioning.
With thin provisioning, storage capacity utilization efficiency can be automatically driven up towards 100% with very little administrative overhead. Organizations can purchase less storage capacity up front, defer storage capacity upgrades in line with actual business usage, and save the operating costs (electricity and floorspace) associated with keeping unused disk capacity spinning.
Thin technology on a storage virtualization frame was first introduced by
VMware
VMware, Inc. is an American cloud computing and virtualization technology company with headquarters in Palo Alto, California. VMware was the first commercially successful company to virtualize the x86 architecture.
VMware's desktop software ru ...
as part of their
VMware Workstation
VMware Workstation Pro (known as VMware Workstation until release of VMware Workstation 12 in 2015) is a hosted (Type 2) hypervisor that runs on x64 versions of Windows and Linux operating systemshttps://kb.vmware.com/selfservice/microsites/sear ...
and
VMware ESX
VMware ESXi (formerly ESX) is an enterprise-class, type-1 hypervisor developed by VMware for deploying and serving virtual computers. As a type-1 hypervisor, ESXi is not a software application that is installed on an operating system (OS); ...
products in early 2001. Previous systems generally required large amounts of storage to be physically pre-allocated because of the complexity and impact of growing volume (
LUN LUN or Lun may refer to:
* Logical unit number
In computer storage, a logical unit number, or LUN, is a number used to identify a logical unit, which is a device addressed by the SCSI protocol or by Storage Area Network protocols that encapsulate ...
) space. Thin provisioning enables over-allocation or over-subscription.
Over-allocation
Over-allocation or over-subscription is a mechanism that allows a
server
Server may refer to:
Computing
*Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients
Role
* Waiting staff, those who work at a restaurant or a bar attending customers and su ...
to view more storage capacity than has been physically reserved on the storage array itself. This allows flexibility in growth of storage volumes, without having to predict accurately how much a volume will grow. Instead, block growth becomes sequential. Physical storage capacity on the array is only dedicated when data is actually written by the application, not when the storage volume is initially allocated. The servers, and by extension the applications that reside on them, view a full size volume from the storage but the storage itself only allocates the blocks of data when they are written.
As a practical consideration, a storage manager needs to monitor actual storage used, adding additional storage capacity such as disks, tapes, solid-state drives (
SSD
A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory, and functioning as secondary storage in the hierarchy of computer storage. It is ...
), etc. as necessary to satisfy the write requests of the server and residing application(s).
The over-allocation concept was first introduced when
StorageTek
Storage Technology Corporation (StorageTek or STK, earlier STC) was a data storage technology company headquartered in Louisville, Colorado. New products include data retention systems, which it calls "information lifecycle management" (ILM).
It ...
(STK) announced their Iceberg product in 1991 (released later in 1994).
Banking analogy
There is an analogy between thin provisioning in computers and the keeping of
cash reserve ratios in banks. Much as all processes running on a computer whose memory is thinly provisioned may not simultaneously use the sum total of their allotments of memory because it does not all exist in the computer at one time; if all depositors to a bank simultaneously close their accounts by taking cash withdrawals, a
bank run
A bank run or run on the bank occurs when many clients withdraw their money from a bank, because they believe the bank may cease to function in the near future. In other words, it is when, in a fractional-reserve banking system (where banks no ...
ensues, since their combined total usually exceeds the cash kept by the bank.
See also
*
Logical Volume Manager
In computer storage, logical volume management or LVM provides a method of allocating space on mass-storage devices that is more flexible than conventional partitioning schemes to store volumes. In particular, a volume manager can concatenate, ...
*
Statistical multiplexing
Statistical multiplexing is a type of communication link sharing, very similar to dynamic bandwidth allocation (DBA). In statistical multiplexing, a communication channel is divided into an arbitrary number of variable bitrate digital channels or ...
*
Storage hypervisor
Software-defined storage (SDS) is a marketing term for computer data storage software for policy-based provisioning and management of data storage independent of the underlying hardware. Software-defined storage typically includes a form of storag ...
*
Storage virtualization
In computer science, storage virtualization is "the process of presenting a logical view of the physical storage resources to" a host computer system, "treating all storage media (hard disk, optical disk, tape, etc.) in the enterprise as a single ...
*
Fractional-reserve banking
Fractional-reserve banking is the system of banking operating in almost all countries worldwide, under which banks that take deposits from the public are required to hold a proportion of their deposit liabilities in liquid assets as a reserv ...
References
{{reflist
External links
Wikibon thin provisioning article
Computer data storage
Hardware virtualization