Product Announcements

2TB VMDKs on Upgraded VMFS-3 to VMFS-5. Really?

Yes! 🙂

I've had this query a number of times now, so I decided to do a quick note about it. There seems to be some uncertainty around whether or not you can create larger (2TB – 512 byte) VMDKs on VMFS-3 filesystems that have been upgraded to VMFS-5. The answer is "yes you can". I think this uncertainty is arising because the upgraded VMFS-5 continues to use the previously defined file block size of the VMFS-3, and that block size had a bearing on the size of the VMDK that you could create, i.e.

  • 1MB file block size – max file size is 256GB
  • 2MB file block size – max file size is 512GB
  • 4MB file block size – max file size is 1TB
  • 8MB file block size – max file size is 2TB

And I guess folks are thinking that because we maintain this original file block size in the upgraded VMFS-5, this still has relevance to the maximum size of the VMDK. But this is not true. Let's run through a scenario:

Step 1 – Let's build a VMFS-3 with a 2MB file block size to begin with:

Vmfs-3

Note also that VMFS-3 volumes (single extent) are limited to 2TB.

Step 2 – Let's build a VM with the largest possible VMDK on this VMFS-3. The largest possible VMDK should be 512GB as limited by the block size.

Vmfs3-largest-vmdk

And it is. I can't increment this value any higher that 512GB. This implies that the maximum VMDK size on a VMFS-3 is limited by the file block size as mentioned previously. To get larger VMDKs, you need to build the VMFS-3 with larger block sizes. To get a 2TB (- 512 byte) VMDK, you need to use a 8MB file block size when creating the VMFS-3 datastore.

Step 3 – Let's upgrade this VMFS-3 to a VMFS-5. This is a very simple operation. Just select the Host > Configuration tab > Storage > Datastore, and if the datastore is VMFS-3, a link to Upgrade to VMFS-5 appears automatically. You simply click this to do the Upgrade.

Upgrade-vmfs3-to-vmfs5

After the upgrade, please note that the VMFS-5 continues to maintain some attributes of the VMFS-3, including the File Block Size of 2MB. Next we will see that even though these characteristics are maintained, you can still go ahead and create much larger VMDKs than before. Here are the datastore details after it has been upgraded to VMFS-5.

Upgraded-vmfs5

Step 4 – In order to build a much larger VMDK, I am first going to grow the VMFS-5 to a size larger than 2TB. Remember that VMFS-3 limited the maximum size of a single extent to 2TB. With an upgraded VMFS-5, you can have a much larger single extent datastore size. Simply select the Properties link of the datastore, and click on the Increase Size button & follow the wizard steps. In this example I have grown my single extent (upgraded) VMFS-5 to 3TB.

3tb-vmfs-5

Step 5 – This is the final step, and is really just to show you that an upgraded VMFS-3 to VMFS-5 datastore which has a 2MB file block size can handle the creation of very large (~2TB) VMDKs. Let's now build a new VM with the largest possible VMDK on this datastore. As you can clearly see, I can now select a 2TB VMDK for this new VM, using the same upgraded VMFS-5.

2tb-vmdk

Therefore, although the upgraded VMFS-5 continues to maintain many of the original characteristics of the VMFS-3, it can also avail of the new VMFS-5 features such as larger single extent volumes, and of course much larger VMDKs.

However, having said all that, and returning to something I alluded to in my original VMFS-5 host, if you have the luxury of deploying brand new volumes, and then Storage vMotion'ing your VMs to the newly created VMFS-5 datastores, then that would be the most preferred method of upgrading to VMFS-5.