When trying to resize a virtual disk (.vmdk) in VMware, you see error message similar to:
[root@<host_fqdn>:/vmfs/volumes/<volumeUUID>/<vm_name>] vmkfstools -X 1G -d eagerzeroedthick /vmfs/volumes/<volumeUUID>/<vm_name>/<vm_name>.vmdk
Failed to extend disk : One of the parameters supplied is invalid (1).
VMware vSphere ESXi
To resolve the issue, specify the total size to allocate to the disk, not just the size to be expanded.
For example, if the disk is 2 GB and we want to add 1 GB we must state as size 3 GB:[root@<host_fqdn>:/vmfs/volumes/<volumeUUID>/<vm_name>] vmkfstools -X 3G -d eagerzeroedthick /vmfs/<volumeUUID>/<vm_name>/<vm_name>.vmdk
The output looks similar to:
[root@<host_fqdn>:/vmfs/volumes/<volumeUUID>/<vm_name>] vmkfstools -X 3G -d eagerzeroedthick /vmfs/volumes/<volumeUUID>/<vm_name>/<vm_name>.vmdk Grow: 100% done.All data on '/vmfs/volumes/<volumeUUID>/<vm_name>/<vm_name>.vmdk' will be overwritten with zeros from sector <4194304> onwards.
Zeroing: 100% done.
Workaround:
1. Perform a storage vMotion on the vVOL VM to another vVOL datastore. This will convert the clone volume to a regular volume and the virtual disk should be expandable after.
2. Place the template in a VMFS datastore and deploy new VMs from that template into the desired vVOL. Doing so would make the new VM's disk immediately resizeable.
3. Deploy the vVOL VM from the template to another vVOL datastore
Ensure that the vVOL VM does not have a clone or snapshot associated with it, if the clone or snapshot was created within vCenter.