Cómo instalar KVM en CentOS / RHEL 8


La máquina virtual basada en kernel (KVM, abreviado) 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 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 utilizando 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. A fresh installation of CentOS 8 server
  2. A fresh installation of RHEL 8 server
  3. A RedHat subscription enabled on RHEL 8 server

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 de KVM, mostramos cómo crear máquinas virtuales en Linux usando KVM (máquina virtual basada en kernel) donde demostramos cómo crear y administrar máquinas virtuales usando la herramienta GUI virt-manager (que ahora está obsoleta según RHEL 8 documentación). Para esta guía, tomaremos un enfoque diferente, usaremos 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 extensible 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. Se debe instalar la extensión cockpit-machines 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, use 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 la línea de comandos, y se utiliza 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á en funcionamiento.

# 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 desactivarse (retirarse).

Paso 4: Crear y administrar 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 Virtual Machines, haga clic en Create 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 VM debería iniciarse automáticamente y debería iniciarse usando 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 VM, 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 de 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 máquina virtual, haga clic en ella en la lista de máquinas virtuales y 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.