KVM
¿Qué es KVM?
Es una solución para full virtualization sobre sistemas GNU/Linux x86 que tengan activadas en la BIOS las extensiones de Virtualización
- Intel VT para procesadores Intel.
- AMD-V para procesadores AMD.
KVM me va a permitir ejecutar máquinas virtuales utilizando imágenes de disco que van a contener los sistemas operativos sin ninguna modificación, ya que estamos trabajando con este tipo de modo de Virtualización.
Mi primera máquina KVM¶
Para virtualizar con KVM, debemos asegurarnos que el procesador de nuestro equipo tiene habilitadas en la BIOS las extensiones de virtualización:
- vmx en procesadores Intel VT-x
- svm en procesadores AMD-V
Para ello, vamos a comprobarlo copiando y pegando la siguiente linea en la terminal:
grep -E --color '(vmx|svm)' /proc/cpuinfo
REQUERIMIENTOS DE NUESTRO EQUIPO
Para llevar a cabo este laboratorio, voy a utilizar un ordenador reciclado con:
- Sistema operativo Debian 11 netinst
- Procesador Intel Core i5
- 8 GB de RAM
- 250 GB de Disco duro
Instalación de paquetes¶
Estos serian los paquetes necesarios para utilizar virtualización con KVM.
# En nuestra terminal copiamos y pegamos
apt-get -y install qemu-system libvirt-clients libvirt-daemon-system virtinst bridge-utils libguestfs-tools
qemu-kvm libvirt0 python3-libvirt virt-manager virt-viewer qemu-kvm virtinst genisoimage
Configuración de la red¶
ADAPTADOR PUENTE (Bridged)
Son interfaces virtuales que se encuentran conectadas de manera directa con una interfaz física de nuestro equipo (servidor).
Para definir o crear una nueva red en KVM, lo haremos mediante un archivo XML llamado br0.xml con el siguiente contenido:
<network>
<name>br0</name>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='br0' stp='on' delay='0'/>
<ip address='10.21.21.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.21.21.20' end='10.21.21.200'/>
</dhcp>
</ip>
</network>
A continuación declaramos la nueva interfaz de red:
# Declaración mediante el archivo XML
virsh net-create br0.xml
# Iniciamos la nueva interfaz br0
virsh net-start br0
# Listamos todas las redes
virsh net-list