Máquinas Virtuales Casi Nativas con KVM en Debian/Ubuntu
Descubre cómo instalar, configurar y utilizar KVM en Debian/Ubuntu para crear máquinas virtuales de alto rendimiento con QEMU y libvirt.
Máquinas Virtuales Casi Nativas con KVM en Debian/Ubuntu
¿Te gustaría aprovechar al máximo el poder de la virtualización en Linux? En esta guía, aprenderás a configurar KVM para ejecutar máquinas virtuales de alto rendimiento en tu sistema Debian o Ubuntu.
¿Qué es KVM y cómo funciona?
KVM (Kernel-based Virtual Machine) permite que Linux actúe como un hipervisor de tipo 1 (bare-metal). Esto significa que, a diferencia de otros sistemas de virtualización, KVM trabaja directamente sobre el hardware de tu máquina, ofreciendo un rendimiento casi nativo.
Características clave:
- Aprovecha los mismos recursos de administración que Linux: memoria, CPU, red, etc.
- Cada máquina virtual funciona como un proceso regular de Linux, completamente aislado.
- Es compatible con sistemas virtuales de hardware, incluidas CPUs, tarjetas de red, discos y más.
Instalación y configuración
Paso 1: Instalar los paquetes necesarios
Esta guía está diseñada para sistemas basados en Debian/Ubuntu. Sin embargo, es compatible con cualquier distribución de Linux; solo será necesario buscar y adaptar los paquetes requeridos según tu distribución.
1
2
sudo apt update && sudo apt upgrade -y
sudo apt install qemu-kvm qemu-utils libvirt-clients bridge-utils virtinst libvirt-daemon-system
Esto incluye:
- QEMU-KVM: Herramienta principal para crear y gestionar máquinas virtuales.
- libvirt: Sistema eficiente para administrar máquinas virtuales.
- virtinst: Proporciona utilidades como
virt-install
para crear máquinas virtuales fácilmente. - bridge-utils: Para configurar redes en tus máquinas virtuales.
Paso 2: Configurar las redes virtuales
Para que las máquinas virtuales tengan acceso a Internet, puedes usar una red virtual con NAT o configurar una interfaz bridge.
Red virtual de tipo NAT:
1
2
3
4
5
6
7
8
# Verifica si hay redes disponibles
sudo virsh net-list
# Inicia la red predeterminada si no está activa
sudo virsh net-start default
# Configura la red para que inicie automáticamente con el sistema
sudo virsh net-autostart default
Crear una interfaz bridge:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Crear la interfaz bridge
nmcli connection add type bridge ifname br0
# Asignar una interfaz física al bridge
nmcli connection add type bridge-slave ifname eth0 master br0
# Configurar una IP estática
nmcli connection modify br0 ipv4.addresses 192.168.1.100/24 ipv4.method manual
nmcli connection modify br0 ipv6.method ignore # Deshabilitar IPv6 si no lo usas
# Si prefieres usar DHCP (opcional)
nmcli connection modify br0 ipv4.method auto
nmcli connection modify br0 ipv6.method ignore
# Deshabilitar STP (o habilitarlo si es necesario)
nmcli connection modify br0 bridge.stp no
# Reducir el tiempo de forward delay
nmcli connection modify br0 bridge.forward-delay 0
# Activar el bridge
nmcli connection down "Wired connection 1"
nmcli connection up br0
Extra: añadir br0 a virsh
Crea el siguiente archivo en /tmp/br0.xml y añade el siguiente contenido:
1
2
3
4
5
<network>
<name>br0</name>
<forward mode="bridge"/>
<bridge name="br0" />
</network>
Luego ejecuta:
1
2
3
4
virsh net-define /tmp/br0.xml
virsh net-start br0
virsh net-autostart br0
virsh net-list --all
Paso 3: Agregar tu usuario al grupo libvirt
1
2
sudo usermod -aG libvirt myuser
sudo systemctl restart libvirtd # Reinicia el servicio de libvirt para aplicar los cambios
Usando virt-manager: Una interfaz gráfica para KVM
Si prefieres una solución gráfica, virt-manager es una herramienta que proporciona una interfaz sencilla para crear, administrar y monitorear tus máquinas virtuales.
Instálalo con:
1
sudo apt install virt-manager
Una vez instalado, inícialo ejecutando:
1
virt-manager
Configuración y creación de una máquina virtual
Con el entorno configurado, crear tu primera máquina virtual es muy sencillo:
Abrir virt-manager:
Ejecutavirt-manager
desde tu terminal o menú de aplicaciones.Añadir una nueva conexión:
Haz clic en “File” y selecciona “Add Connection”. Luego, conecta con la configuración predeterminada.- Crear una nueva máquina virtual:
Haz clic en el botón “Nuevo” y sigue el asistente:- Elige el medio de instalación (archivo ISO o red).
- Configura los recursos asignados (CPU, RAM, disco).
- Personaliza la red y otros ajustes según tus necesidades.
- Inicia la máquina virtual:
Una vez creada e instalada, selecciona tu VM y haz clic en “Iniciar”.