La virtualización nos ayuda a probar, usar y configurar máquinas de sistemas operativos variados como Linux, macOS o Windows en equipos que aún son incompatibles por el sistema de archivos usado, la gran ventaja de la virtualización es que ahorra costos al no tener que comprar nuevo hardware y en caso de errores o fallas críticas se verá afectada solo la máquina virtual mas no el equipo físico, para el caso de Ubuntu contamos con una aplicación integral para este tipo de tareas como lo es QEMU/KVM.
QEMU/KVM es un emulador que nos permite virtualizar máquinas genéricas bajo el código abierto el cual está en constantes actualizaciones, su uso permite emular un sistema ofreciendo un modelo virtual de la máquina completa respecto a sus componentes como procesador, memoria RAM, discos, etc, esto permite ejecutar un sistema operativo invitado, esto permite que QEMU actúe como un hipervisor KVM, Xen, Hax o Hypervisor.
- Cuenta con utilidades de línea de comandos independientes
- Permite crear, convertir y modificar imágenes de disco
- Es compatible con arquitecturas ARM, MIPS (little endian), PPC, RISC-V, s390x, SPARC y X86
- Puede ejecutar sistemas Linux OS, macOS, FreeBSD, NetBSD, OpenBSD y Windows
- Emulación completa del sistema
- QEMU puede ejecutarse sin un controlador de kernel de host
- Posee traducción dinámica a código nativo
- Emulación de clone() a través de CPU clone() nativa con el fin de usar el planificador de Linux para subprocesos
- Conversor genérico de llamadas al sistema Linux
- QEMU hace uso de MMU de software completo para una máxima portabilidad en las máquinas
- Puede usar un acelerador en el kernel KVM
- Es compatible con multiprocesamiento simétrico (SMP)
Veamos cómo instalar y usar QEMU en Ubuntu.
Crear máquinas virtuales con QEMU en Ubuntu
Para iniciar abrimos la terminal y validamos que la virtualización este habilitada:
egrep -c '(vmx|svm)' /proc/cpuinfo
Si el resultado es mayor que cero significa que lo está, si es 0 la virtualización no estará habilitada.
Alternativamente ejecutamos:
grep -E --color '(vmx|svm)' /proc/cpuinfoEl resultado en color es el tipo de CPU usado:
Si es vmx será Intel y si es svm será AMD. Validamos que el sistema soporte la virtualización ejecutando:
kvm-ok
Instalamos la utilidad:
sudo apt install cpu-checker
Ingresamos la letra S para confirmar el proceso de instalación:
Validamos de nuevo:
kvm-ok
Actualizamos el sistema:
sudo apt update
Instalamos QEMU/KVM y los paquetes necesarios:
sudo apt install qemu-kvm virt-manager virtinst libvirt-clients bridge-utils libvirt-daemon-system
Confirma el proceso ingresando la letra S:
Esperamos que se inicie el proceso:
Al finalizar veremos lo siguiente:
Habilitamos e iniciamos el servicio:
sudo systemctl enable --now libvirtd sudo systemctl start libvirtd
Comprueba el estado del servicio:
sudo systemctl status libvirtd
Añadimos el usuario a los grupos kvm y libvirt:
sudo usermod -aG kvm $USER sudo usermod -aG libvirt $USER
Abrimos la aplicación QEMU/KVM:
sudo virt-manager
Vamos a "Archivo - Nueva máquina virtual":
Veremos lo siguiente:
Activamos la casilla "Medio de instalación local (Imagen ISO o CDROM) y damos clic en Forward para ver lo siguiente:
Damos clic en "Explorar" y se abrirá lo siguiente:
Damos clic en "Explore localmente" y seleccionamos la imagen ISO:
Damos clic en Abrir para ver la imagen añadida:
Allí se detectará el sistema a usar.
En la ventana emergente damos clic en "Si" para el emulador:
Ahora asignamos Memoria RAM y CPU:
Luego establecemos el tamaño del disco:
Damos clic en Forward y podremos asignar nombre y gestionar la red:
Damos clic en "Finalizar" y se abrirá automáticamente la máquina virtual:
Veremos la máquina virtual en curso:
Se cargara el menú de inicio:
Damos clic derecho sobre la máquina virtual para ver sus opciones:
Allí será posible apagarla, reiniciarla, pausarla, eliminar, migrar a otro equipo o abrir sus propiedades.
Dentro de la máquina virtual disponemos de algunos menús, desde Máquina virtual es posible capturar pantalla, reiniciar o apagar la máquina, editar medios USB:
Desde “Vista” es posible ver diversas opciones de la maquina a nivel de visualización, escalar la pantalla, conectarse automáticamente, ver pantalla completa y trabajar con instantáneas:
En “Enviar tecla” disponemos de una serie de combinaciones de teclas que pueden ser usadas en el sistema operativo invitado:
Así, QEMU/KVM es una solución completa para crear y administrar máquinas virtuales en Ubuntu y disponer de las opciones necesarias para su uso allí.