Converting VMware virtual disk to “eagerzeroedthick”

Pretty simple from the console really:

vmkfstools -d eagerzeroedthick -i <virtual-disk-source>.vmdk <virtual-disk-target>.vmdk

Note that this will completely expand the size of the filesystem (ie: it will no longer be “thin”).

I needed this not to convert a “thin” filesystem to “thick” filesystem, but a “thick” filesystem to a clusterable “thick” filesystem. The default of “zereodthick” for thick filesystem does zeroing as needed on the fly, whereas “eagerzeroedthick” zeros out beforehand (which takes longer). The former, “zeroedthick” isn’t compatible with clustered filesystems, or more particularly, the required setting of “SCSI Bus Sharing” to “Virtual” while “eagerzeroedthick” is.

“eagerzeroedthick” corresponds to the vSphere Client setting when creating a hard disk of “Support clustering features such as Fault Tolerance”. It is incompatible with “Allocate and commit space on demand (Thin Provisioning)”.

More about clustering on the same VMware machine (though aimed at Microsoft unfortunately) can be found here:

To note, renaming virtual disks is equally as simple via the CLI (which the vSphere Client will not allow):

vmkfstools -E <original-virtual-disk>.vmdk <renamed-virtual-disk>.vmdk

Note that in the case of any of the “thick” versions actually have two files which can be confusing, a file that doesn’t have “-flat” and one that does. In that case choose the one that lacks “-flat” for the operations and “vmkfstools” will automatically handle the “-flat” version as well.


Leave a Reply

Your email address will not be published. Required fields are marked *