-- Leo's gemini proxy

-- Connecting to michan.es:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=es-ES

Instalación de KVM/QEMU en Arch Linux


0. Motivación

Desde hace tiempo uso diversas máquinas virtuales para varias tareas - principalmente compilar y probar Simutrans en diferentes sistemas. He venido usando VirtualBox desde el principio, no sin algunos inconvenientes:


1. No he sido nunca capaz de hacer funcionar las "guest extensions" que se necesitan, entre otros, para cambiar la resolución de la MV (porque trabajar a 800x600 es complicado en cualquier sistema moderno).

2. Y aunque funcionasen, son software privativo, así que van en contra de la filosofía del software libre. Desde mi punto de vista es siempre mejor no depender de software que no sea 100% libre.

3. No me gusta Oracle.


Aquí es donde entra la alternativa: KVM+QEMU. No entraré en detalles técnicos: algunos dicen que es mejor técnicamente, otros que no notarás la diferencia. Pero lo que sí está claro es que es más difícil de instalar, así que he ido posponiendo la migración hasta que tuviese suficiente tiempo como para investigar el tema a fondo. Esta pequeña guía es el resultado de mis descubrimientos.


1. Prerrequisitos

Primero vamos a comprobar si nuestro sistema es compatible con KVM y a cargar los módulos necesarios.


Ejecuta y comprueba que es VT-x o AMD-V


> LC_ALL=C lscpu | grep Virtualization


Ejecuta y comprueba que existe ``CONFIG_KVM_{AMD/INTEL}={y/m}``


> zgrep CONFIG_KVM /proc/config.gz


Añadir al usuario al grupo kvm


> sudo gpasswd -a $(whoami) kvm


Añadir (según procesador) kvm_intel o kvm_amd a /etc/modules-load.d/kvm.conf


Cargar el módulo (según procesador)


> sudo modprobe kvm_amd

> sudo modprobe kvm_intel


2. Instalación

> sudo pacman -S --needed qemu virt-manager dnsmasq iptables iptables-nft

> sudo systemctl enable --now libvirtd


3. Post-instalación

Autoriza a los usuarios del grupo kvm a gestionar libvirt sin autenticación


> sudo $EDITOR /etc/polkit-1/rules.d/50-libvirt.rules


/* Autoriza a los usuarios del grupo kvm a gestionar libvirt sin autenticación */
polkit.addRule(function(action, subject) {
	if (action.id == "org.libvirt.unix.manage" &&
		subject.isInGroup("kvm")) {
			return polkit.Result.YES;
	}
});

Crea el grupo y añade al usuario


> sudo groupadd libvirt

> sudo gpasswd -a $(whoami) libvirt


Chequea el estado de la red


> sudo virsh net-list --all


Si es inactivo, arráncalo


> sudo virsh net-start default


Finalmente inicia el gestor de MV


> virt-manager


Con esto ya podemos crear y lanzar nuevas máquinas virtuales, desde la imagen .iso de instalación. No obstante, si ya teníamos máquinas virtuales de VirtualBox, podemos convertirlas al formato usado por QEMU con el siguiente comando:


> qemu-img convert -f vdi -O qcow2 ubuntu.vdi ubuntu.qcow2


Quizás lleve un buen rato, pero en mi experiencia la conversión ha sido siempre exitosa :-)


Fuente principal

-- Response ended

-- Page fetched on Sun May 12 10:58:58 2024