Cómo instalar KVM en CentOS/RHEL 8


La máquina virtual basada en kernel (KVM en resumen) es una solución de virtualización estándar de facto y de código abierto que está estrechamente integrada en Linux. Es un módulo de kernel cargable que convierte a Linux en un hipervisor de tipo 1 (bare-metal) que crea una plataforma operativa virtual que se utiliza para ejecutar máquinas virtuales (VM).

Bajo KVM, cada VM es un proceso de Linux que está programado y administrado por el kernel y tiene hardware virtualizado privado (es decir, CPU, tarjeta de red, disco, etc.). También es compatible con la virtualización anidada, que le permite ejecutar una máquina virtual dentro de otra máquina virtual.

Algunas de sus características clave incluyen soporte para una amplia gama de plataformas de hardware compatibles con Linux (hardware x86 con extensiones de virtualización (Intel VT o AMD-V)), proporciona seguridad y aislamiento mejorados de VM mediante SELinux y virtualización segura (sVirt), hereda las funciones de administración de la memoria del kernel y admite la migración fuera de línea y en tiempo real (migración de una máquina virtual en ejecución entre hosts físicos).

En este artículo, aprenderá cómo instalar la virtualización KVM, crear y administrar máquinas virtuales en CentOS 8 y RHEL 8 Linux.

  1. Una nueva instalación del servidor CentOS 8
  2. Una nueva instalación del servidor RHEL 8
  3. Una suscripción a RedHat habilitada en el servidor RHEL 8

Además, asegúrese de que su plataforma de hardware admita la virtualización ejecutando el siguiente comando.

# grep -e 'vmx' /proc/cpuinfo		#Intel systems
# grep -e 'svm' /proc/cpuinfo		#AMD systems

Además, confirme que los módulos KVM están cargados en el kernel (deberían estarlo, por defecto).

# lsmod | grep kvm

Aquí hay un resultado de muestra en el sistema de prueba que está basado en Intel:

En una serie anterior de guías KVM, mostramos la consola web Cockpit.

Paso 1: Configurar la consola web de Cockpit en CentOS 8

1. La cabina es una interfaz basada en web fácil de usar, integrada y ampliable para administrar un servidor Linux en un navegador web. Le permite realizar tareas del sistema, como configurar redes, administrar el almacenamiento, crear máquinas virtuales e inspeccionar registros con un mouse. Utiliza los inicios de sesión y privilegios de usuario normales de su sistema, pero también se admiten otros métodos de autenticación.

Viene preinstalado y habilitado en el sistema CentOS 8 y RHEL 8 recién instalado, si no lo tiene instalado, instálelo usando el siguiente comando dnf. La extensión cockpit-machines debe instalarse para administrar VM basadas en Libvirt.

# dnf install cockpit cockpit-machines

2. Cuando se complete la instalación del paquete, inicie el socket de la cabina, habilítelo para que se inicie automáticamente al arrancar el sistema y verifique su estado para confirmar que está en funcionamiento.

# systemctl start cockpit.socket
# systemctl enable cockpit.socket
# systemctl status cockpit.socket

3. A continuación, agregue el servicio de cabina en el firewall del sistema que está habilitado de manera predeterminada, utilizando el comando firewall-cmd y vuelva a cargar la configuración del firewall para aplicar los nuevos cambios.

# firewall-cmd --add-service=cockpit --permanent
# firewall-cmd --reload

4. Para acceder a la consola web de la cabina, abra un navegador web y use la siguiente URL para navegar.

https://FQDN:9090/
OR
https://SERVER_IP:9090/

La cabina utiliza un certificado autofirmado para habilitar HTTPS, simplemente continúe con la conexión cuando reciba una advertencia del navegador. En la página de inicio de sesión, utilice las credenciales de su cuenta de usuario del servidor.

Paso 2: Instalación de KVM Virtualization CentOS 8

5. A continuación, instale el módulo de virtualización y otros paquetes de virtualización de la siguiente manera. El paquete virt-install proporciona una herramienta para instalar máquinas virtuales desde la interfaz de línea de comandos, y se usa un visor virt para ver las máquinas virtuales.

# dnf module install virt 
# dnf install virt-install virt-viewer

6. A continuación, ejecute el comando virt-host-validate para validar si la máquina host está configurada para ejecutar controladores de hipervisor libvirt.

# virt-host-validate

7. A continuación, inicie el demonio libvirtd (libvirtd) y habilítelo para que se inicie automáticamente en cada arranque. Luego verifique su estado para confirmar que está funcionando.

# systemctl start libvirtd.service
# systemctl enable libvirtd.service
# systemctl status libvirtd.service

Paso 3: configurar el puente de red (conmutador de red virtual) a través de la cabina

8. Ahora cree un puente de red (conmutador de red virtual) para integrar máquinas virtuales a la misma red que el host. De forma predeterminada, una vez que se inicia el demonio libvirtd, se activa la interfaz de red predeterminada virbr0 que representa el conmutador de red virtual que opera en modo NAT.

Para esta guía, crearemos una interfaz de red en modo puente llamado br0. Esto permitirá que las máquinas virtuales sean accesibles en las redes de host.

Desde la interfaz principal de la cabina, haga clic en Redes, luego haga clic en Agregar puente como se indica en la siguiente captura de pantalla.

9. En la ventana emergente, ingrese el nombre del puente y seleccione los esclavos del puente o los dispositivos de puerto (por ejemplo, enp2s0 que representa la interfaz Ethernet) como se muestra en la siguiente captura de pantalla. Luego haga clic en Aplicar.

10. Ahora, cuando mire la lista de interfaces, el nuevo puente debería aparecer allí y, después de unos segundos, la interfaz Ethernet debería estar desactivada (retirada).

Paso 4: creación y administración de máquinas virtuales a través de la consola web de Cockpit

11. Desde la interfaz principal de la cabina, haga clic en la opción Máquinas virtuales como se resalta en la siguiente captura de pantalla. Desde la página de Máquinas Virtuales, haga clic en Crear VM.

12. Aparecerá una ventana con opciones para crear una nueva VM. Ingrese la conexión, el nombre (p. Ej., Ubuntu18.04), el tipo de fuente de instalación (en el sistema de prueba, hemos almacenado imágenes ISO en el grupo de almacenamiento, es decir,/var/lib/libvirt/images /), fuente de instalación, almacenamiento, tamaño , Memoria como se muestra en la siguiente imagen. El proveedor del sistema operativo y el sistema operativo deben seleccionarse automáticamente después de ingresar a la fuente de instalación.

También marque la opción para iniciar inmediatamente la máquina virtual, luego haga clic en Crear.

13. Después de hacer clic en Crear en el paso anterior, la máquina virtual debería iniciarse automáticamente y debería iniciarse utilizando la imagen ISO proporcionada. Proceda a instalar el sistema operativo invitado (Ubuntu 18.04 en nuestro caso).

Si hace clic en Interfaces de red de la máquina virtual, la fuente de red debe indicar la interfaz de red puente recién creada.

Y durante la instalación, en el paso de configurar una interfaz de red, debería poder notar que la interfaz Ethernet de la VM recibe una dirección IP del servidor DHCP de la red host.

Tenga en cuenta que debe instalar el paquete OpenSSH para acceder al sistema operativo invitado a través de SSH desde cualquier máquina en la red host, como se describe en la última sección.

14. Cuando se complete la instalación del sistema operativo invitado, reinicie la máquina virtual, luego vaya a Discos y desconecte/quite el dispositivo cdrom debajo de los discos de las máquinas virtuales. Luego haga clic en Ejecutar para iniciar la VM.

15. Ahora, en Consolas, puede iniciar sesión en el sistema operativo invitado utilizando una cuenta de usuario que creó durante la instalación del sistema operativo.

Paso 5: acceder a un sistema operativo invitado de máquina virtual a través de SSH

16. Para acceder al SO invitado recién instalado desde la red del host a través de SSH, ejecute el siguiente comando (reemplace 10.42.0.197 con la dirección IP de su invitado).

$ ssh [email protected]

17. Para apagar, reiniciar o eliminar una VM, haga clic en ella en la lista de VM, luego use los botones resaltados en la siguiente captura de pantalla.

¡Eso es todo por ahora! En esta guía, hemos mostrado cómo instalar paquetes de virtualización KVM y crear y administrar máquinas virtuales a través de la consola web de la cabina. Para obtener más detalles, consulte: Introducción a la virtualización en RHEL 8.