La máquina virtual basada en el kernel (KVM) es una tecnología de virtualización de open source integrada a Linux. En concreto, con KVM puede convertir a Linux en un hipervisor que permite que una máquina de host ejecute entornos virtuales múltiples y aislados llamados máquinas virtuales (VM) o huéspedes.
KVM es parte de Linux. Si tiene Linux 2.6.20 o posterior, tiene KVM. KVM se lanzó por primera vez en 2006 y se integró a la versión del kernel principal de Linux un año después. Debido a que KVM es parte del código existente de Linux, aprovecha de forma inmediata cada nueva función, solución y progreso de Linux sin requerir ingeniería adicional.
¿Cómo funciona KVM?
KVM convierte a Linux en un hipervisor de tipo 1 (sin sistema operativo). Todos los hipervisores necesitan algunos componentes al nivel del sistema operativo (por ejemplo, administrador de memoria, planificador de procesos, pila de entrada o salida (E/S), controladores de dispositivos, gestión de seguridad, pila de red y más) para ejecutar las máquinas virtuales. KVM cuenta con todos estos componentes porque es parte del kernel de Linux. Cada máquina virtual se implementa como un proceso regular de Linux, programada por el planificador estándar de Linux con hardware virtual dedicado como tarjeta de red, adaptador de gráficos, CPU, memoria y discos.
Implementar KVM
En pocas palabras, debe ejecutar una versión de Linux lanzada después de 2007 y que deba instalarse en hardware X86 que sea compatible con capacidades de virtualización. Si ya lo hizo, entonces todo lo que tiene que hacer es cargar dos módulos existentes (un módulo host del kernel y un módulo específico del procesador), un emulador y cualquier controlador que lo ayude a ejecutar sistemas adicionales. Sin embargo, al implementar KVM en una distribución Linux como la de Red Hat Enterprise Linux, se amplían las capacidades de KVM, lo que le permite intercambiar recursos entre guests, compartir bibliotecas comunes, optimizar el rendimiento del sistema y mucho más
Instalar en Ubuntu 18.04
Para poder instalar KVM vamos a necesitar que nuestro hardware ofrezca soporte para virtualización, algo que en general cualquier equipo nuevo va a ofrecernos pero pues nunca está de más saber a ciencia cierta.
En el caso de procesadores Intel
cat /proc/cpuinfo | grep vmx
En el caso de procesadores AMD
cat /proc/cpuinfo | grep svm

Instalación:
apt update
apt install qemu-kvm libvirt-bin virtinst virt-manager bridge-utils

En la instalación se ha creado un grupo de usuario «libvirt» que es el que controla las máquinas virtuales. para poder ejecutar el servicio el usuario tiene que estar dentro del grupo. En nuestro caso el usuario es «perzam» es el usuario con el que configuramos la instalación y es el que nos pide credenciales en el inicio de sesión. Si el tuyo es diferente sustituye el usuario «perzam» por el que arranques la sesión en la siguiente sentencia:
usermod -a -G libvirt perzam
Arrancar el servicio:
systemctl start libvirtd
systemctl enable libvirtd
Arrancamos la interface gráfica de virtualización la cual es virt-manager
virt-manager

Instalar en Red Hat 8
Instale los paquetes en el módulo de virtualización RHEL 8:
# yum module install virt
Instale los paquetes virt-install y virt-viewer:
# yum install virt-install virt-viewer
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