We recently wrote about the methods of data deduplication and file compression for optimising storage space. A method for utilising space on a storage area network (SAN) is known as ‘thin provisioning’.
With a traditional SAN, storage is allocated to different applications on the network. For example, in an enterprise environment, there may be an allocation of the total storage for the finance department, the HR department, and for emails. Each of these applications gets a chunk of the overall storage, and a logical unit number (LUN) is assigned to each one – this is called provisioning.
For example, let’s say that a company has 30TB of storage available to them, and that the only three requirements they have for it are for finance, HR, and email applications. Each application gets a LUN, and a chunk of 10TB of storage. At the beginning, this 10TB is an empty allocation, but when finance start work, they will begin to use up their 10TB allocation.
This traditional method of provisioning has some drawbacks. Traditional LUNs cannot be scaled easily, and once a LUN’s storage allocation is nearly full it starts to experience performance problems. It’s also difficult to add more LUNs to the network. So, if three months down the line the sales department want their application added to the network, it’s not as simple as just adding a new LUN, because there’s no room for it. The 30TB allocation has already been taken up by the three 10TB LUNs, even if the departments are not using all of their allocation. There is no available capacity for adding new applications, because any available disk space has already been allocated to the original three LUNs.
One unfavourable solution to adding a new LUN is to back everything up, take everything offline, split the 30TB storage into four LUNs of 7.5TB capacity, and start all over again. This is a time-consuming and risky process, and it gets messy if one LUN was near full, etc.
Through thick and thin provisioning
To combat this, it was common for enterprises to buy a load more storage than they needed, split it into more LUNs than they use, each with a larger allocation of storage than they’ll probably ever want, and just have empty back-up LUNs in the background doing nothing until months or years later when an expansion is required. This is a complete waste of resources, and money, because they’re buying far more storage than they need. This is often dubbed ‘thick provisioning’.
What is thin provisioning?
Thin provisioning tricks the SAN into thinking that there is more free space than there actually is. This allows new LUNs to be created even if all of the storage has already been allocated. Thin provisioning also allows for existing LUNs to be resized. So, thin provisioning would let the company’s sales department add a new application/LUN to the network, without having to strip everything down and start over again.
This is known as ‘overallocation’. There is still only 30TB of storage space, but with thin provisioning it’s possible to make four 10TB LUNs. This gives an extra 10TB of ‘virtual storage’. That storage doesn’t actually exist, and technically can’t be used, but it solves the problem of having to buy extra, unnecessary storage up front. Thin provisioning means storage space on the LUNs is only allocated when it’s needed.
Why use thin provisioning?
With thin provisioning, the finance, HR, sales and email applications all get a 10TB allocation, even though there’s only 30TB storage in total. When the 30TB is almost reached, it’s far easier to add more storage to a thinly provisioned SAN than a traditionally provisioned one.
It’s important to remember that that extra 10TB of space thin provisioning gives you is virtual – it’s there without really being there. If the 30TB is used up between the four LUNs then the applications will start to see performance problems if more storage isn’t added in time. Thin provisioning allows for dynamic, efficient and flexible allocation of storage, but requires clever and constant management to ensure that the LUNs don’t run out of storage space.
Thin provisioning means that instead of a business investing in 50TB of storage up front because they expect that they’ll need it in the future, they can invest in 20TB, utilise it more efficiently and add more when they need it.
This choice between resources up front and scalable resources on demand is one of the key differences between cloud servers and dedicated servers.