I am experimenting with KVM-based VMs on my home server. The host runs Ubuntu Server 16.04.1 LTS, and so would the guests.
I was able to create a guest using vmbuilder. It outputs a qcow2 image, which I then converted to raw image on a LVM logical volume to improve performance. The total size of this image is about 900MB, and it works well for what I need.
However, when I manually create a VM and install Ubuntu from the ubuntu server ISO onto it, I am able to expose my logical volume to the VM guest as a block raw device rather than file raw image. In my testing, this seems to generally improve disk performance even further, by not insignificant margins, depending on how I test. However, this VM is not nearly as lean (installed 1.8GB or so) and boot time is much slower (the block device VM created by vmbuilder boots in about 5 seconds, the file-based VM that I manually installed in about 15 seconds).
So my goal is to have a VM that is like the one vmbuilder installs, fewer packages, fast boot, etc, but to have it use a raw block device as storage instead of the file-based raw image.
Questions:
How is the VM created by vmbuilder different from when I manually install it?
I see that Ubuntu (used to ) have Ubuntu JeOS and see references that it can be installed from the Server iso, but I can't find out how. Is this still an option? If so, is that what the vmbuilder installs?
How can I create a vmbuilder-like system manually OR how can I convert the qcow2 image to raw block rather than raw file image.