VM Image Formats

From UVOO Tech Wiki
Jump to navigation Jump to search

Key

Use OVA Format Version 2.0 SHA256 digests for vmdk and ovf file in the .mf file Right now, at least on VM Workstation Pro 15 using ubuntu cloud image https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.ova you need the ova filename to be the same as ovf, vmdk, mf.

tar cf myname.ova myname.ovf myname.vmdk myname.mf

It had strange issues importing into VMWare even using myname-disk001.vmdk - Who knows as to the reason.

Common Virtual Machine Hypervisors

  • VMWare
  • XEN
  • QEMU-KVM
  • Virtualbox

Issues between platforms

As usual, when you stay with one platform all seems to go well but if you try and play between platforms issues start to happen.

It seems between OVF Versions 1.0/2.0 and the exporting out of different platforms there are issues.

This may be by platform developers by design or just buggy code. Who knows. Welcome to vm image format Hell.

I would like to support all formats with one qcow2, vmdk disk image and one OVA archive file for easy import but that doesn't seem to be in the cards.

Resolve

I think the above is one of the many reasons of the move from VM guests to micro services or a process that lives on a host in a particular namespace with access to a particular network space. Containers and VMS may seem to help with multi-tenancy security issues and controls but they almost create more issues in function and security than they solve.

In support of virtual machine space, I will look at only supporting QEMU-KVM. I will probably use OVF format v1.0 as it seems that hosts can be imported and used easier in other platforms. It is really fast and extremely flexible. Libvirt is ok as an api mechanism. It is essentially python app with c bindings.

I like Virtualbox overall but it does seem to have issues, either by design or neglect. I don't know if we only want to support virtualbox. They could always run Virtualbox VM guest that has qemu-kvm and libvirt packages and run our app from there.

Reproducing Issues

Converting between vm image formats

References