Data Store Size Limits in VMware ESX and ESXi

Well, you took the leap and are now virtualized.  You’re now doing more than ever, and data size is growing rapidly.  Time to add a new virtual hard drive to your machine, but wait…  I said 500 GB, why is it only 256 GB.  Well, you hit a limitation of the data store in VMware under your current default configuration.  Check to see what your data store block size is.  here’s where to find it:

Highlighted you will see the datastore block size.

Highlighted you will see the data store block size.

When data stores are created, their default block size is 1 MB, which gives you a maximum virtual hard drive size maximum of 256 GB.  So how do you get larger VHD’s?

Hopefully you are reading this and have a brand new ESX/ESXi setup, in which case you can just delete the data store and recreate it, choosing a different block size.  If you already have machines running on the data store, you have a project ahead of you, because deleting the data store will format all data on that drive, and you will have to start from scratch, or be creative before you make the change (there are some ideas of how to work around this below).

If you have the disk space to cover 2TB, then I would go with the maximum of 8MB block size to give you a maximum virtual HDD size of 2TB.  There is no noticeable I/O performance difference by using maximum size, so use the largest size to mazimize your storage.  Here is a quick reference of what block size you can choose and what the maximum VHD that will give you:

Block Size     Max VHD size

1MB                256GB
2MB               512GB
4MB               1TB
8MB               2TB

Already have servers running?  How do you fix it?

If you already have the data store in use, and can afford some downtime for a maintenance window, here is a workaround you could do, asuming you have more than one ESX(i) server at your disposal.  You can power the VM down and use the free VMware vCenter Converter (http://www.vmware.com/products/converter/) to move the virtual machine from one ESX(i) server to another.  Figure on about 1 minute per gig of hard drive size when moving it, with a GB network.  Once the VM is moved to its new location, power it an and make sure all is working well before you delete from disk the VM on the original ESX(i) server.  Once all the VMs are moved off the ESX server, you can go ahead and remove the data store and create a new one using the new block size.

If you hapen to have your VMs in a cluster with vMotion, this task is even easier, as you can change the location of the datastore through the migrate option.  If you dont have any other ESX servers, you could probably do it to VMware Servers, but at that point, you would probably be better just adding multiple drives to the VMs, it would be a lot less work.

Here is a nice reference guide from VMware with this and other importand configuration information: http://www.vmware.com/pdf/vi3_35/esx_3/r35u2/vi3_35_25_u2_config_max.pdf

Advertisements