Cómo instalar KVM/QEMU en Manjaro/Archlinux

Compruebe los detalles de conexión de QEMU/KVM

KVM es un acrónimo de Máquina virtual basada en kernel, es una solución tecnológica para la virtualización basada en el módulo kernel de Linux. KVM es una solución de software de código abierto que se ejecuta en la máquina Linux x86 con el soporte de extensiones de virtualización de hardware Intel VT o AMD-V. El módulo de kernel KVM se envió al kernel de Linux desde la versión 2.6.20 y se ha portado a otros sistemas operativos como FreeBSD e Illumos como módulos de kernel cargables.

La tecnología KVM convertirá la máquina Linux en una virtualización de hipervisor, que se denomina máquina host. En la máquina host, podrá crear múltiples sistemas aislados llamados máquinas virtuales (VM). Cada máquina virtual tiene su sistema (puede ser Linux, Windows o BSD), también tiene hardware privado virtualizado como memoria, CPU, tarjeta de red, disco, gráfica, etc.

¿Qué es QEMU?

QEMU o Emulador rápido es un emulador y virtualizador de sistemas de código abierto para la virtualización de hardware. Generalmente, se usa como un virtualizador con el módulo kernel KVM para ejecutar máquinas virtuales. Para lograr un gran rendimiento para máquinas invitadas/máquinas virtuales, aprovechará las extensiones de virtualización de hardware como Intel VT o AMD-V. La virtualización QEMU/KVM se utiliza principalmente como hipervisor en un centro de datos.

En esta guía, aprenderá a configurar la virtualización KVM/QEMU en una máquina Manjaro/Archlinux. Además, aprenderá a crear la primera máquina virtual con la aplicación GUI «virt-manager», una interfaz de usuario de escritorio para administrar máquinas virtuales.

requisitos previos

  • Un Manjaro/Archlinux con arquitectura x86 o 64 bits.
  • Una CPU/procesador con soporte de virtualización (Intel VT o AMD-V).
  • Un usuario no root con privilegios de sudo root.

Comprobación de la arquitectura del sistema y la compatibilidad con la virtualización de la CPU

Primero, verifique la arquitectura de la máquina y el soporte de hardware de aceleración de virtualización Intel VT para CPU Intel y AMD-v para CPU AMD.

1. Ejecute el siguiente comando para verificar la arquitectura del sistema de su sistema.

uname -m

Obtendrá el siguiente resultado.

Linux machine1 5.4.134-1 #1 SMP PREEMPT Tue Jul 06 08:10:03 UTC 2021 x86_64 GNU/Linux

Como se ve, actualmente estamos usando el sistema Linux con «x86_64» o «64 bits» arquitectura y la versión del kernel «5.4«.

2. A continuación, verifique el soporte de virtualización de hardware ejecutando el siguiente comando.

sudo lscpu | grep Virtualization

Para el procesador Intel, verá un resultado similar al que se muestra a continuación.

Virtualization:                  VT-x

Y para los procesadores AMD, a continuación se muestra un resultado similar.

Virtualization:                  AMD-V

3. Opcionalmente, puede habilitar la virtualización anidada en su máquina usando el siguiente comando.

sudo modprobe -r kvm_intel
sudo modprobe kvm_intel nested=1

Después de eso, ejecute el siguiente comando para verificar la virtualización anidada.

cat /sys/module/kvm_intel/parameters/nested

Si obtienes la salida como «Y» o «1», significa que la función de virtualización anidada está habilitada. De lo contrario, verá el mensaje de error como «El fichero o directorio no existe».

Instalación de paquetes QEMU y Virt-Manager

1. Para instalar los paquetes qemu y virt-manager, ejecute el siguiente comando.

sudo pacman -S qemu virt-manager libvirt virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables libguestfs

Para el sistema manjaro, habrá un conflicto de paquetes entre «iptables» y «ebtables«. Escribe «y» para eliminar el paquete de iptables predeterminado y reemplazarlo con «ebtables» y «nftables«.

A continuación se encuentran los paquetes esenciales que debe conocer:

  • qemu: un emulador y virtualizador de máquinas de código abierto.
  • virt-gerente; Una aplicación GUI para administrar máquinas virtuales.
  • libvirt: una API para controlar motores de virtualización como KVM, QEMU, etc.
  • dnsmasq: Reenviador de DNS ligero y servidor DHCP.
  • bridge-utils: Utilidades para configurar el puente ethernet de Linux.
  • libguestfs: conjunto de herramientas para modificar imágenes de disco de máquina virtual (VM).

2. Luego, inicie y habilite el servicio libvirtd usando el siguiente comando.

sudo systemctl enable --now libvirtd

Obtendrá un resultado similar al siguiente.

Created symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service → /usr/lib/systemd/system/libvirtd.service.
Created symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket → /usr/lib/systemd/system/virtlockd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket → /usr/lib/systemd/system/virtlogd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd.socket → /usr/lib/systemd/system/libvirtd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket → /usr/lib/systemd/system/libvirtd-ro.socket.

3. Después de eso, ejecute el siguiente comando para verificar el estado del servicio libvirtd.

sudo systemctl status libvirtd

Y debería ver una salida similar a la siguiente. Como se ve, el servicio libvritd está activo y ejecutándose.

? libvirtd.service - Virtualization daemon
     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-07-23 10:33:25 UTC; 6s ago
TriggeredBy: ? libvirtd-ro.socket
             ? libvirtd.socket
             ? libvirtd-admin.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
   Main PID: 16828 (libvirtd)
      Tasks: 19 (limit: 32768)
     Memory: 16.4M
        CPU: 226ms
     CGroup: /system.slice/libvirtd.service
             ??16828 /usr/bin/libvirtd --timeout 120

Permitir que usuarios no root utilicen la virtualización KVM/QEMU

De forma predeterminada, solo el usuario «raíz» puede crear y administrar máquinas virtuales. Para permitir que los usuarios no root creen y administren máquinas virtuales, debe seguir la configuración de libvirtd a continuación.

1. Ejecute el siguiente comando para editar la configuración de libvirtd.

sudo nano /etc/libvirt/libvirtd.conf

Descomenta la opción «unix_sock_group» e ingrese el nombre del grupo como «biblioteca«.

# Set the UNIX domain socket group ownership. This can be used to
# allow a 'trusted' set of users access to management capabilities
# without becoming root.
#
# This setting is not required or honoured if using systemd socket
# activation.
#
# This is restricted to 'root' by default.
unix_sock_group = "libvirt"

Después de eso, descomente la opción «unix_sock_rw_perms«y dejar el permiso por defecto»0770«.

# Set the UNIX socket permissions for the R/W socket. This is used
# for full management of VMs
#
# This setting is not required or honoured if using systemd socket
# activation.
#
# Default allows only root. If PolicyKit is enabled on the socket,
# the default will change to allow everyone (eg, 0777)
#
# If not using PolicyKit and setting group ownership for access
# control, then you may want to relax this too.
unix_sock_rw_perms = "0770"

Guarde la configuración presionando el botón Control+x botón y tipo ydespués ingresar.

2. A continuación, agregue su usuario al grupo «biblioteca» usando el siguiente comando.

sudo usermod -a -G libvirt username

3. Después de eso, reinicie el servicio libvirtd para aplicar una nueva configuración.

sudo systemctl restart libvirtd

Ahora todos los usuarios dentro del grupo «libvirt» podrán crear y configurar máquinas virtuales.

Verifique la instalación de QEMU/KVM con virt-manager

Ahora abre la aplicación «virt-manager» del menú de su aplicación.

1. Haz clic en el menú «Editar -> Detalles de conexión» en la aplicación virt-manager.

Compruebe los detalles de conexión de QEMU/KVM

2. En la pestaña «Visión general» verá que virt-manager se conectará automáticamente a «qemu:///sistema«.

virt-manager se conectará automáticamente a QEMU/KVM dentro del sistema

3. Mover a las pestañas «Redes virtuales» y verás el «defecto«configuración de red.Publicidad

  • Interfaz: virbr0
  • Inicio automático en el arranque: sí
  • Dirección IP: 192.168.122.0/24
  • Rango de dirección IP DHCP: 192.168.122.2 – 192.168.122.254
  • Tipo de red: NAT

Configuración de red predeterminada para QEMU/KVM con NAT

4. Ahora ve a la pestaña «Almacenamiento«, y verás el»defecto«Configuración de almacenamiento de grupo.

  • Tipo: directorio del sistema de archivos
  • Tamaño: Depende de su disco
  • Ubicación: /var/lib/libvirt/images
  • Inicio automático en el arranque: sí

Todas las imágenes de máquinas virtuales estarán disponibles en este almacenamiento predeterminado, el directorio «/var/lib/libvirt/imágenes«.

Almacenamiento QEMU/KVM predeterminado

5. A continuación, haga clic en el botón «+» para crear un nuevo almacenamiento de grupo para archivos de imagen ISO. Todos los sistemas operativos de archivos ISO estarán disponibles en este grupo.

Siga la configuración de almacenamiento de la siguiente manera:

  • Nombre: ISO
  • Tipo: dir: directorio del sistema de archivos
  • Ruta de destino: /ruta/directorio/a/su/iso/

Crear nuevo almacenamiento para sistemas operativos de archivos ISO

Haga clic en el «Finalizar» para completar el proceso. Después de eso, estará listo para crear nuevas máquinas virtuales.

Crear nueva máquina virtual usando virt-manager

1. En la aplicación virt-manager, haga clic en el botón «+» para crear una nueva máquina virtual.

Crear nueva máquina virtual con virt-manager

2. Seleccione «Medios de instalación locales» para usar la imagen ISO para la instalación y haga clic en «Delantero«botón para continuar.

Seleccione la instalación de tipo ISO de medios locales

3. Haga clic en «Navegar» para seleccionar el archivo ISO.

Explore el sistema operativo ISO que desea instalar

Ahora elija el almacenamiento de la piscina «YO ASI» y seleccione el archivo iso para la instalación (para este ejemplo es el «Debian 10«), luego haga clic en «Elija volumen«.

Seleccione el archivo ISO del sistema operativo para el ejemplo de instalación Debian 10

Desmarque la opción «Detectar automáticamente desde el medio/fuente de instalación«, escriba el sistema operativo que desea instalar (para este ejemplo es «Debian 10«), luego haga clic en «Delantero» botón de nuevo para continuar.

Elija el tipo de sistema operativo que desea instalar

4. Elija la cantidad de memoria y CPU para la máquina virtual, luego haga clic en «Delantero«.

configuración de memoria y CPU para máquina virtual

5. Elija cuánto disco para la máquina virtual y haga clic en «Delantero«.

Elija el tamaño del disco para la máquina virtual

6. Vuelva a verificar su configuración y haga clic en «Finalizarbotón » para instalar.

Confirme para crear e instalar una máquina virtual

7. Ahora la máquina virtual está funcionando con la virtualización QEMU/KVM y puede continuar con la instalación del sistema operativo.

La máquina virtual está funcionando con la virtualización QEMU/KVM

Conclusión

¡Felicidades! ha aprendido a configurar la virtualización QEMU/KVM en una máquina Manjaro/Archlinux. Además, cómo usar la aplicación virt-manager para crear máquinas virtuales. Ahora puede crear máquinas virtuales con su sistema operativo preferido. Puede usar otra distribución de Linux, Windows o sistema operativo de la familia BSD.

1 respuesta

  1. José Miguel dice:

    Compañero, muchísimas gracias por tu gran trabajo. He seguido el tutorial y todo funciona como se espera.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *