Convert qcow2 to vmdk and make it ESXi 6.0 Compatible

sgTheUser picture sgTheUser · Jun 13, 2016 · Viewed 65.7k times · Source

I am currently working on VMWare virtualization; I am trying to make a converted image from qcow2 to vmdk work with ESXi Server 6.0.

I have myImage.qcow2 with a disk which is thin provisioned for 300GB.

I used the image converter tool qemu with the following command

qemu-img convert -f qcow2 myImage.qcow2 -O vmdk myNewImage.vmdk 

This command gives me a vmdk image which is only VMWare Workstation compatible. Therefore, in order to make it ESXi compatible I have to use the vmkfstools with the following command.

vmkfstools -i myImage.vmdk outputName.vmdk -d thin

The vmkfstools command gives me two files, an metadata.vmdk and the actual data.vmdk.

As mentioned above my disk is thin provisioned for 300GB and when I apply vmkfstools it expands the disk and gives me a size of 300GB.

Deploying the image through the vSphere Client works without any problem; however, for the purpose of this project I want to use the ovftool and doing so with such a large image is not feasible.

Is there a way for me to make my .vmdk ESXi compatible without vmkfstools expanding my image to 300GB?

Or Is there any other method for me to deploy those 300GB using the ovftool while the disk image is on the datastore, so that it doesn't have to be downloaded/uploaded through the deployment process?

I have been stuck on this for weeks and any help will be highly appreciated.

Answer

Kedar picture Kedar · Aug 17, 2016

FYI: This support has been added in Qemu 2.1 and above as per changelogs

qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 SC-1.qcow2 SC-1.vmdk