KVM (Kernel-based Virtual Machine) es la tecnología de virtualización integrada en el kernel de Linux. En un VPS Linux Infrawire significa que su servidor se comporta como una máquina real con su propio kernel, y no como una simple carpeta aislada en el sistema de otra persona. Esta guía explica la diferencia con las tecnologías de contenedores y muestra cómo comprobarlo usted mismo.
📋 Requisitos previos
- Un VPS Linux (Ubuntu 24.04, Debian 12, AlmaLinux 9 o Rocky Linux 9)
- Acceso SSH como root o como usuario con
sudo - Conocimientos básicos de línea de comandos
1. Cómo funciona KVM
KVM convierte el kernel Linux del host físico en un hipervisor. Cada máquina virtual es un proceso normal gestionado por QEMU, pero ve hardware emulado: CPU, RAM, disco y tarjeta de red. Gracias a las extensiones de virtualización de la CPU (Intel VT-x, AMD-V), el código del invitado se ejecuta casi a velocidad nativa.
Dentro de la VM instala un sistema operativo completo con su propio kernel, su propio sistema de init y sus propios procesos. Desde su punto de vista, es un servidor dedicado.
2. KVM frente a OpenVZ y LXC
Las tecnologías de contenedores funcionan de otra manera:
- OpenVZ y LXC: todos los contenedores comparten el kernel del host. Solo obtiene un espacio de usuario aislado. No puede cambiar el kernel, cargar módulos ni elegir la versión del kernel.
- KVM: virtualización completa. Cada VPS arranca su propio kernel y tiene su propia asignación de memoria y disco.
Un contenedor es más ligero, pero está limitado por lo que permite el kernel del host. Un VPS KVM le da libertad a cambio de un consumo de memoria algo mayor.
3. Por qué importa en un VPS
Con su propio kernel puede:
- Cargar módulos del kernel como WireGuard,
br_netfilteronf_conntrack - Ejecutar Docker y otros motores de contenedores sin restricciones (cgroups, sistema de archivos overlay, iptables)
- Ajustar el sistema con
sysctl(búferes de red, reenvío IP, control de congestión BBR) - Usar su propio cortafuegos, archivo de intercambio (swap) y el sistema de archivos que prefiera
- Instalar otra versión del kernel de su distribución
Bash# Mostrar el kernel en ejecución uname -r # Mostrar los parámetros del kernel que puede cambiar sudo sysctl net.ipv4.ip_forward net.ipv4.tcp_congestion_control
4. Comprobar que está en KVM
Lo más sencillo es systemd-detect-virt:
Bashsystemd-detect-virt # Salida esperada: kvm
Si el comando muestra openvz, lxc o docker, está dentro de un contenedor. none indica una máquina física.
Puede confirmarlo con lscpu:
Bashlscpu | grep -iE 'hypervisor|virtualization type' # Hypervisor vendor: KVM # Virtualization type: full
Y con los mensajes de arranque del kernel:
Bashsudo dmesg | grep -i -E 'kvm|hypervisor' # Hypervisor detected: KVM
Por último, hostnamectl muestra una línea Virtualization: kvm.
5. Probar lo que le aporta KVM
Compruebe que puede cargar un módulo y ejecutar contenedores:
Bash# Ubuntu 24.04 / Debian 12: módulo WireGuard sudo modprobe wireguard lsmod | grep wireguard # Instalar Docker desde el repositorio de la distribución y ejecutar un contenedor de prueba sudo apt update && sudo apt install -y docker.io sudo docker run --rm hello-world
En AlmaLinux 9 o Rocky 9, use sudo dnf install -y wireguard-tools para las herramientas y siga la documentación oficial de Docker (docs.docker.com) para instalar el motor.
🔧 Solución de problemas
dmesg: read kernel buffer failed: Operation not permitted
El kernel restringe dmesg a root. Ejecútelo con sudo o use sudo journalctl -k.
modprobe: FATAL: Module wireguard not found
En algunas imágenes mínimas faltan los módulos adicionales. En Ubuntu, instale linux-modules-extra-$(uname -r). Si acaba de actualizar el kernel, reinicie primero para que uname -r coincida con los módulos instalados.
systemd-detect-virt: command not found
La imagen no tiene systemd o es muy mínima. Use lscpu o dmesg, o instale el paquete systemd.
Docker se queja de cgroups o iptables
Compruebe que el servicio está activo con systemctl status docker y que no ha desactivado nf_tables o iptables en una configuración de cortafuegos personalizada.
🚀 Ya sabe lo que KVM aporta a su VPS: un kernel real, control total y ningún límite oculto impuesto por el host.