QCOW2 (KVM, Xen) - *.qcow2 QED (KVM) - *.qed raw - *.raw (Sometimes no file extension provided) VDI (VirtualBox) - *.vdi VHD (Hyper-V) - *.vpc VMDK (VMware) - *.vmdk
The utility to perform Exports is 'qemu-img' with the sub-command 'convert'
For example, I currently have a VM Template Image in my GlusterFS storage domain. This storage domain is mounted through the hypervisor "rosie-carreiro", so I first SSH in to the hypervisor, and 'cd' to the path where the RAW template resides.
Using the oVirt admin console, I am able to identify that the template/image has a UUID of, bbb58b82-7252-41e2-9b28-72cbf74d98e4.
There are other CLI tools that allow you to query storage domains and resolve UUIDs to names, however the UI is pretty intuitive for new users.
When you run 'df -h' on an oVirt hypervisor, you can see the mount points used:
pedro-godines.mycompany.com:/home/exports/iso 399G 25G 374G 7% /rhev/data-center/mnt/pedro-godines.mycompany.com:_home_exports_isoterri-wolven.mycompany.com:/home/exports 847G 136G 711G 17% /rhev/data-center/mnt/terri-wolven.mycompany.com:_home_exportsrosie-carreiro.mycompany.com:/home/exports 8.2T 761G 7.4T 10% /rhev/data-center/mnt/rosie-carreiro.mycompany.com:_home_exportsglusterfs.mycompany.com:/gv0 1.9T 82G 1.8T 5% /rhev/data-center/mnt/glusterSD/glusterfs.mycompany.com:_gv0
In this case the Template is in the GlusterFS "gv0" volume, so I first 'cd' to /rhev/data-center/mnt/rosie-carreiro... and find the directory with the UUID, bbb58b82-7252-41e2-9b28-72cbf74d98e4.
[root@devops bbb58b82-7252-41e2-9b28-72cbf74d98e4]# ls -ahlt total 33G drwxr-xr-x. 9 36 36 4.0K Aug 25 19:08 .. drwxr-xr-x. 2 36 36 4.0K Aug 25 13:16 . -rw-r--r--. 1 36 36 318 Aug 25 13:16 4b66fd92-99a6-4651-8288-24f50fd3596a.meta -rw-rw----. 1 36 36 40G Aug 25 13:16 4b66fd92-99a6-4651-8288-24f50fd3596a -rw-rw----. 1 36 36 1.0M Aug 25 12:58 4b66fd92-99a6-4651-8288-24f50fd3596a.lease
You can also view the metadata which specifies the format and description.
[root@devops bbb58b82-7252-41e2-9b28-72cbf74d98e4]# cat 4b66fd92-99a6-4651-8288-24f50fd3596a.meta DOMAIN=8fe3f7f3-15c9-4376-b20e-5e237b31b185 CTIME=1503680317 FORMAT=RAW DISKTYPE=2 LEGALITY=LEGAL SIZE=83886080 VOLTYPE=SHARED DESCRIPTION={"DiskAlias":"Windows7_Disk1","DiskDescription":""} IMAGE=bbb58b82-7252-41e2-9b28-72cbf74d98e4 PUUID=00000000-0000-0000-0000-000000000000 MTIME=0 POOL_UUID= TYPE=SPARSE GEN=0 EOF
You can now export the template/image to your desired format:
[root@rosie-carreiro bbb58b82-7252-41e2-9b28-72cbf74d98e4]# qemu-img convert -f raw -O vmdk -o adapter_type=lsilogic 4b66fd92-99a6-4651-8288-24f50fd3596a /root/DevImage-1.1.vmdk
Once completed, verify: [root@rosie-carreiro bbb58b82-7252-41e2-9b28-72cbf74d98e4]# ls -halt /root/DevImage-1.1.vmdk -rw-r--r--. 1 root root 33G Aug 27 16:58 /root/DevImage-1.1.vmdk
NOTE: adapter_type=lsilogic is important because qemu-img VMDK output defaults to using IDE. This means that you cannot later extend the size of the disk in VMware, as the option will actually be grayed out/disabled in vSphere. Use the lsilogic scsi controller format to support extending your disks.