A quick post on VMFS block sizes. There are two configurable VMFS versions in vSphere 5. VMFS-3 and VMFS-5. VMFS-3 data stores could be configured to use different block sizes. The reason for doing this was that based on the block size, a user could increase the maximum size of a single virtual disk. So the block size dictates the maximum file size for a particular data store. For instance…
|Block size||Max size of|
|1 MB||256 GB|
|2 MB||512 GB|
|4 MB||1 TB|
|8 MB||2 TB|
So when you create a VMFS-3 data store, you get the option of selecting the block size…
This is not the case with the newest version of VMFS, VMFS-5. Only hosts running vSphere 5 or later support VMFS-5. Hosts running earlier version wont even be able to see the data stores formatted with VMFS-5. VMFS-5 has the following improvements.
-VMFS-5 uses a unified block size of 1MB. The block size isn’t even a configurable options when you add storage as VMFS5. Despite the smaller block size the max file size in VMFS-5 is 2 TB.
-VMFS-5 data stores can be as large as 64 TB. This is the max size for data stores with or without extents.
-Physical RDMs in VMFS-5 can be larger than 2 TB in size.
So there are some significant enhancements in VMFS-5. And the bonus is that you can upgrade VMFS-3 to VMFS-5 on the fly. The only gotcha is that the block size can’t be changed. For instance, let’s upgrade one of my VMFS-3 data stores to VMFS-5. So here is what we have to start with…
As you can see, once it completed I’m now running VMFS-5. Also note that although VMFS-5 only uses a block size of 1 MB, the block size is still 8MB. To get the best performance out of the data store, I’d likely want to rebuild it as a native VMFS-5 data store to get the same performance as newly built VMFS-5 data stores.