Understanding Thin Provisioning and its Working
Innovation in storage technology is focused on greater value for money, optimized performance and effective utilization of acquired storage space. Thin provisioning (TP) is a result of this innovation and is a data service poised to deliver optimized storage utilization rates.
In this article we explore what Thin Provisioning (TP) is, how it works and how important it is for an enterprise. To expand our understanding of TP, we will also compare its working with traditional provisioning.
What is Thin Provisioning (TP) and How does it work?
Thin provisioning uses a trick called “oversubscription” or “overallocation”. In order to understand this trick, let’s first briefly describe a LUN – Logic Unit Number; because without a clear understanding of LUN, it is very difficult to develop an understanding of TP.
What is a LUN – Logic Unit Number?
In essence, LUNs are a reference to allocated storage space. A LUN can be used to represent an entire disk drive, a portion of it or an entire storage array. LUNs are important because they support management by dictating which host/application accesses which storage. LUN creation is similar, in principle, to the creation of a partition within a computer’s hard drive.
Thin Provisioning fools LUNs to think that they have access to the maximum storage space that they need. Instead of reserving a set amount of space for the LUN; LUNs created from the thin provisioning pool dynamically allocate the next available location as data is written. In this setup, it’s highly likely that specific data for a LUN is scattered all over the available pool.
This dynamic allocation happens in the background and the applications or hosts, associated with the LUN, are unaware of it. For the host or application, it’s the same as it would be for a dedicated disk drive/array/storage space.
How does Thin Provisioning differ from Conventional Provisioning?
Traditional LUNs – Creation and Issues
Traditional provisioning creates LUNs and assigns them to specific hosts or applications. The LUN reserves a specific portion of the storage space specifically for the assigned host or application. As the process runs over time, the allocated storage space consumes all of the available storage space.
When a LUN is completely filled with data, problems emerge. Traditional LUNs have growth issues and dedicated applications or hosts experience disruption due to them. Sometimes the application even crashes outright until the LUN is resized.
Traditional LUN expansion needs applications/hosts to be paused and taken offline as the data is first backed up, then removed and then copied to a LUN with larger storage capacity. This is a time consuming process and is also susceptible to errors. A conventional way to overcome this is “fat provisioning”. Fat provisioning, or sometimes called Thick Provisioning, comprises of allocation of excessive storage space to a specific LUN; in anticipation of future requirements. This dedicated storage space is reserved for a single application or host and remains idle until used. It is not an efficient process. If you wish to accommodate more hosts or applications, then due to fat provisioning, you cannot access free storage space and have to acquire additional storage resources.
Thin Provisioned LUNs – Creation and Working
Unlike traditional LUNs, thin provisioned LUNs can be configured to be of larger sizes than the actual available physical storage. Due to the thin provisioned pool concept, mentioned earlier, the LUN continues to operate and scatter data all over the available storage space; while the array keeps track of it.
In this dynamic setup, LUNs don’t have to be interrupted when available storage space is consumed and additional storage is required. By increasing the total thin provisioned pool, the LUN continues to operate and has access to more storage.
To elaborate this in a better way, consider this example: A storage array has a total space of 100 GB but using Thin provisioning a LUN is configured to believe that it has access to 1 TB of storage. Once the LUN consumes 90 GB of storage, additional drives are added to increase the total storage space. The LUN continues to operate because it still believes that there’s 1 TB of available storage space.
Role of Thin Provisioning for the Enterprise
For IT environments that use multiple hosts and applications, thin provisioning can enhance management and reduce costs. Thin provisioning enables effective utilization of acquired storage resources.
Without thin provisioning, IT environments either have to deal with disruption when dedicated storage space for a LUN is consumed or they use fat provisioning. Both solutions are inefficient and exhaust resources. With thin provisioning, the available resources can be effectively leveraged and disruptions are prevented.
Thin provisioning can also be paired with other data services to enhance storage utilization. For instance, compression services pair nicely with TP. Thin provisioning effectively leverage the available storage space while compression reduces the overall footprint of the data.
In short, if an enterprise IT environment has to accommodate multiple hosts and applications then they can effectively leverage their storage resources with thin provisioning; all the while reducing the cost implications.