Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I typically use thin-provisioning of storage space when building VMs: it provides a lot of flexibility, and seems to be faster to build.

The only potential definite advantage I can see is to ensure that a VM doesn't accidentally run out of available space on the underlying storage infrastructure - are there others?

share|improve this question
    
seems to be duplicate of serverfault.com/questions/279773/… --- maybe the two should be merged –  mdpc Nov 11 '11 at 1:04
    
@mdpc - I saw that one when getting ready to ask this one - it is related, but i think this is enough different to warrant itself :) –  warren Nov 11 '11 at 1:06
add comment

4 Answers

up vote 5 down vote accepted

Thin provisioned disks cannot be shrunk; once you've allocated all the blocks, that's it.

Also, unless you do a Quick Format, Windows will actually fill the entire thin provisioned disk.

There may also be a performance penalty, but that I'm not 100% certain of and is something that should be tested out; I know that was the case with some host-based hypervisors.

share|improve this answer
4  
You can thin provision a thick VM if you do a storage vMotion. –  jftuga Nov 11 '11 at 13:46
add comment

Other unmentioned culprits:

  • thin provisioned drives can become heavily fragmented very easily. If you can't defragment the hosting device, it can hurt performance very badly.
  • if you ever run out of real disk space on thin provisioned storage where you over-allocated space, any write can bring a catastrophic failure on one or several VM drives, usually beyond any repair, so you'd better monitor your actual disk usage on the storage host carefully.
share|improve this answer
add comment

sparse disks have an extra performance overhead hit, because monitoring their size and extending it when required takes up resources. Not too much really, but it depends on the resources you have at hand. For some setups, disk space is of no matter, so everything is preallocated to improve performance, for others, there's enough CPU cycles and IOPS, but the storage space is limited (especially when using SSD based storage), so it's preferable to use sparse disks

share|improve this answer
3  
In fact the performance hit is mostly fragmentation. When initializing a drive, all its block are contiguous, while they may become heavily fragmented when thin-provisioned. "monitoring the size and extending it" simply doesn't happen; sparse files are actually a "free" filesystem feature and they simply grow automatically when blocks are allocated to them. –  wazoox Nov 17 '11 at 17:47
1  
That is true if you're using a filesystem (which can be a performance issue in it's own right, unless you're getting into direct IO land, which is not always a good thing as well) –  dyasny Nov 17 '11 at 18:00
add comment

The main advantages of Thick-provisioning are:

  • Hard Drive allocation is more likely to use contiguous blocks, so less fragmentation on the physical platters
  • Physical disk space is allocated immediately, so you will not fall into the trap of over-provisioning.

The main disadvantages are:

  • Disk provisioning will take longer because it needs to fully claim that space
  • Even capacity unused by a given VM is used up in the allocation.
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.