Ditching Vagrant: VMs with KVM and Virsh on Debian
25 points
3 days ago
| 4 comments
| benjamintoll.com
| HN
happyPersonR
3 days ago
[-]
There used to be virt-manager

Wonder if it’s still around ? Hope it’s doing well !

reply
creshal
18 minutes ago
[-]
"around" is the best way to describe it; the libvirt/virt-manager ecosystem isn't dead, but redhat killing off ovirt/rhev support drained a lot of resources out of it.

And for some bizarre reason people decided that the much less mature (both organizationally and technologically) proxmox VE is the best thing since sliced bread, so everyone who does care about linux virtualization is now trying to hammer some homelabbers' collection of perl scripts into a replacement.

It would be funny if it wasn't so sad.

reply
MisterTea
3 days ago
[-]
Unfortunately it still exists. Virt manager drives me crazy because it hides the VM files in its own directory with permissions that aren't yours forcing you to use sudo to manually manage your own fucking vm files. Creating a new VM? You're forced to pick an OS by typing the name of your OS into a search box which is tedious and doesnt give you an option for generic x86 machine. I hate it with a burning passion and instead manually manage VMs by reading the qemu man page and writing a script to directly invoke qemu. I'd recommend VirtualBox over it any day.
reply
jeroenhd
1 hour ago
[-]
I can't say I share your hatred. It's my go-to management interface for VMs like this. Especially because it allows managing a remote libvirt install over SSH, handling things like forwarding the screen and input for you.

If you don't want to pick an OS preset, you can always just go for "manual install" and a "generic" OS and pick your own preferred configuration later. Or you paste the URL for an online install directory, which is even easier.

To manage libvirt machine without root, you can add your user to the libvirt group.

reply
Intralexical
2 minutes ago
[-]
> Virt manager drives me crazy because it hides the VM files in its own directory with permissions that aren't yours forcing you to use sudo to manually manage your own fucking vm files.

I just checked my `~/.local/share/libvirt/`. It doesn't do this for me, and I don't think it ever has.

I do remember having to set this up at some point. Looks like this is it:

https://unix.stackexchange.com/questions/799034/whats-the-di...

There are some limits around network ports in User Sessions, but it should suffice for anything you'd use Vagrant for.

> Creating a new VM? You're forced to pick an OS by typing the name of your OS into a search box which is tedious and doesnt give you an option for generic x86 machine.

...There is though? It's in the dropdown under "Generic or unknown OS. Usage is not recommended (generic)". Here it is in the code if you don't believe me:

https://github.com/virt-manager/virt-manager/blob/c3df2ba/vi...

And a random tutorial which makes use of it:

https://cyberlab.pacific.edu/courses/comp178/resources/virtu...

reply
tremon
7 minutes ago
[-]
I don't share your antipathy against libvirt, but I do the same. To configure a qemu vm via libvirt you need to learn two concepts: the qemu internals, and how they're mapped to libvirt properties. And since the qemu internals are mostly documented as command-line switches, you can skip learning the libvirt mappings by just using shell.
reply
tosti
44 minutes ago
[-]
You can add directories to the storage, including ones in your home directory. Generic is actually the default option, all you have to do is to disable auto-detection.

It's fine to run qemu directly, but virt-manager ain't bad.

reply
shellwizard
3 days ago
[-]
Have you tried distrobox/toolbox instead of having to spin up VMs? Also microvm looks nice
reply
zamadatix
3 days ago
[-]
This is another area I hope I'm able to migrate to systemd. I already use nspawn for containers but vmspawn is still a bit new and limited in the options. Once it gets there though it'll be nice to have system+containers+vms under one consistent roof.
reply
s8kur
55 minutes ago
[-]
Membership in the libvirt group is root-equivalent, not a permissions fix. Through qemu:///system it lets you attach arbitrary host block devices to a VM, so anyone in that group can mount and read the host's own disk. If you want to manage VMs without root or that group, use qemu:///session instead: unprivileged, images live under ~/.local/share/libvirt, no sudo. Tradeoff is you lose bridged networking without a setuid helper.
reply