In today’s world, everyone is looking to have faster and more efficient storage systems to power their IT services. It is also observed that over time, we have come a long way from simple file systems to advanced and self-managing storage systems like Ceph storage architecture. In this post, we are going to discuss what Thin Provisioning is and what it does to make Ceph highly effective. If you want to learn more about what Ceph is and what its features are, you can check out this post here. Thin provisioning is one of those great features that makes storage systems efficient and manageable. Let’s try and understand it better.
The primary benefits of Thin Provisioning are:
- The efficient utilization of storage space and
- Ease of scalability
Before we go in-depth, let’s first try and understand what happens in a storage architecture without Thin Provisioning.
In the traditional storage system without Thin Provisioning, consider you have 6 storage disks of 1 TB each available at your disposal. Now to allocate usage of these disks, the storage system creates virtual disks called LUNs. LUN stands for Local Unit Number which is essentially a logical representation of a disk array pointing to the actual physical storage space on the disk. These LUNs can then be allocated to the sites being hosted across the network. Let us see an example of what happens without Thin Provisioning. Let’s say a LUN of 4 TB is created, it will actually block 4TB out of the 6 TB regardless if the whole 4 TB is used or not.
So, if you come to look at it, the first thing is there is a huge possibility of wasting storage space or underutilizing the storage space. Secondly, you can at any point of time only create LUNs of maximum 6 TB. This can drastically hamper the scalability of the whole storage system and you will need either a very smart storage management system or a really active storage administrator working full-time.
Thin Provisioning changes the game a little bit. Similar to the traditional system, Thin Provisioning enabled storage systems also create LUNs which can be then allocated for usage. However, when a LUN is created actual physical storage units are not blocked, rather just pointed to. So technically even if you create a LUN of 4 TB out of the 6 TB disk space, the LUN, if nothing is actually written in it, will virtually occupy Nil amount of space. In simple words, actual storage space is only allocated when a write command is executed on the LUN.
With this flexibility, even if you have 6 TB of actual storage space available, you can still create 4 LUNs of 4 TB each virtually which will account to 16 TB of storage space. The storage space will only be used when actual write operations happen and with good management. You can scale up the physical storage space when you understand the LUNs are being utilized at full capacity and make the system infinitely scalable.
Couple of things to be careful about:
- One needs to be vigilant about LUN utilization. Suppose you create LUNs of higher capacity than what is physically available, and if the LUNs are used, you might face a crunch
- Thin Provisioning gives you the advantage of creating an unlimited number of LUNs to serve more users but can be hellish to efficiently manage them.
At ResellerClub, our Cloud Hosting makes use of Ceph Storage architecture, within which, Thin Provisioning is one of the key features. This allows us to not only efficiently utilize storage space and minimize memory wastage but also give you a highly scalable Cloud Hosting environment to handle any kind of load that you can bring to the table.
Hope this gives you a better understanding of what Thin Provisioning is, how it works and its uses. Please feel free to share your questions or feedback in the comments section below and we would be more than happy to address them. Stay tuned for more!