9

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?

2
  • seems to be duplicate of serverfault.com/questions/279773/… --- maybe the two should be merged
    – mdpc
    Nov 11, 2011 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, 2011 at 1:06

4 Answers 4

5

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.

1
  • 4
    You can thin provision a thick VM if you do a storage vMotion.
    – jftuga
    Nov 11, 2011 at 13:46
3

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.
2

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

2
  • 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, 2011 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, 2011 at 18:00
2

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .