Skip to end of metadata
Go to start of metadata

This is short list of command found on PROXMOX forum - how to extract and use OVA VM's.


Step-by-step guide

  1. Download the OVA to the proxmox host - this can go anywhere, such as a sudo or root user's home directory
  2. Untar the OVA - an ova is just a config file tarred along with images of the disks of the virtual machine. The config file is configured to be readable by the specific virtualization system it's being installed on. The disk images are just disk images.
    • tar xvf PRODUCT_vmware.ova
  3. Now configure a VM to the exact specs in the ova config file, such as number of processors and ram size and stuff. To see what the OVA would have configured the machine(s) with:
    • cat PRODUCT_vmware.ovf | grep -e “Memory RAMSize” -e “CPU count” -e “Netw” -e “Disk”
  4. Convert the vmdk(s) to qcow2 format, the native format pve uses for disk images. I think you can also skip this if you have the tools available to directly mount the vmdk to perform the later dd command. NOT recommended to follow guides suggesting a RAW copy as this can create a much larger resulting disk than is necessary.
    • qemu-img convert -f vmdk PRODUCT_vmware-disk1.vmdk -O qcow2 PRODUCT_vmware-disk1.qcow2
  5. Mount the qcow2 disk using the qemu Disk Network Block Device Server - this just makes it easy to dd the used bytes.
    • qemu-nbd -c /dev/nbd0 PRODUCT_vmware-disk1.qcow2
  6. dd (or whatever else bitstream you prefer) the contents of the disk to the (stopped) VM's disk. NOTE: you'll have to establish the correct VM number based on its ID in proxmox.
    • dd if=/dev/nbd0 of=/dev/zvol/rpool/data/vm-107-disk-1 bs=1M
  7. Boot the VM via whatever method you prefer - easiest probably the web UI.