Are you thin, thick or just lazy?

vSphere 5 is almost upon us and I’ll try to start throwing out nuggets (now that I’ve learned the Beta NDA is over).

One of my favorite tidbits is the new way to create hard drives (VMDKs) for virtual machines. While there are many types of VMDK files suported only three can be created from the GUI in 4.x and 5.x : Thin, Thick (Lazy) and Thick (Eager).

In vSphere 4.x there were two checkboxes when creating a VMDK files:

The checkboxes were a little misleading, because you could only choose one. It also only referred to one of the types by name (Thin) and you don’t really get an understanding of what would happen if you didn’t choose either (the default is Thick, Lazy) and the third option seemed to be tied directly to a little-used feature (Fault Tolerance).

Enter vSphere 5:

Now it lists all 3 types, you see radio buttons and the default is obvious.

Quick definitions:
Thin Provisioning creates the VMDK with just the header information, but it does not allocate or zero blocks.
Thick (Lazy) creates the VMDK and allocates all the blocks for the VMDK but doesn’t write zeroes them.
Thick (Eager) creates the VMDK, allocates and zeros all the blocks.

Best write speed: Eager (note this is more “performance white paper” territory than real-world difference)
Best creation time: Thin
Least space taken on disk if it’s not needed: Thin
Historic default: Lazy

This entry was posted in Cloud, Computing, Storage, Virtualization, VMware and tagged , , , . Bookmark the permalink.

7 Responses to Are you thin, thick or just lazy?

  1. In my beta of vSphere 5 there was some slightly different names which were (in my opinion) even more confusing. See this for the alternative disk types: http://rickardnobel.se/archives/669
    I wonder what will be in the final product?

    • JAndrews says:

      Interesting, what build are you using?
      I’ve got 5.0.0 381646, which is included in the View 5 Beta and is a later build than the current one for vSphere5.
      I’d say they came to the same conclusion you did and fixed it for later builds. We’ll see what RTM looks like in a few weeks.

      • Strangely I have the exact same build as you, 5.0.0 381646. I did a quick re-check now and in my vSphere Client I see only those other names (flat, thick, thin).

        • JAndrews says:

          What is your client version? I’m on 434157 and when I add a new VMDK to an existing HW7 or HW8 VM I see Thin, Thick Lazy, Thick Eager.

          I tried via vCenter 5.0 and directly to the host.

  2. My client is build 380461 which seems to be an older version than yours, that might be the cause of the differences. I shall try to upgrade it and see if it changes!

  3. Fascinating. During the entire lifetime of vSphere 4 I thought the only way to eager-zero a thick disk was to perform a long format from the guest operating system. Now I find out from reading your article that “enable fault tolerance” does it too.

Leave a Reply