Cómo crear una plantilla de máquina virtual KVM


Una plantilla de máquina virtual es esencialmente una copia de la máquina virtual instalada que resulta útil cuando desea implementar varias instancias de máquinas virtuales. La creación de una plantilla es un proceso de 3 pasos que implica la creación de una máquina virtual, la instalación de todos los paquetes de requisitos que desea instalar y, finalmente, la limpieza de la plantilla.

Sigamos adelante y veamos cómo puede lograrlo.

Paso 1: Instalación de KVM en Linux

El primer paso es instalar KVM en su sistema. Tenemos tutoriales completos sobre:

  • Cómo instalar KVM en Ubuntu 20.04
  • Cómo instalar KVM en CentOS 8

Además, asegúrese de que el demonio libvirtd se esté ejecutando y esté habilitado para iniciarse automáticamente en el arranque.

$ sudo systemctl enable libvirtd
$ sudo systemctl start libvirtd

Verifique si el demonio libvirtd se está ejecutando.

$ sudo systemctl status libvirtd

Si está ejecutando un sistema Ubuntu/Debian, asegúrese de que la imagen vhost-net esté cargada.

$ sudo modprobe vhost_net

Paso 2: crear una imagen virtual KVM

Antes de empezar a crear una plantilla, primero debemos tener una instancia de instalación. En la línea de comandos, crearemos una imagen KVM 20G CentOS 8 usando el comando qemu-img como se muestra.

$ sudo qemu-img create -o preallocation=metadata -f qcow2 /var/lib/libvirt/images/centos8.qcow2 20G

A continuación, use el comando virt-install para crear una máquina virtual CentOS 8 como se muestra.

$ sudo virt-install --virt-type kvm --name centos8 --ram 2096 \
--disk /var/lib/libvirt/images/centos8.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel7.0 \
--location=/home/tecmint/Downloads/CentOS-8-x86_64-1905-dvd1.iso

Esto lanza la instancia de la máquina virtual. Puede confirmar esto dirigiéndose al virt-manager y abriendo la ventana de la consola como se muestra. Lo que puede ver es la página de bienvenida predeterminada del instalador. Asegúrese de completar la instalación hasta el final.

Paso 3: Creación de una imagen de plantilla de máquina virtual KVM

Una vez que se complete la instalación, inicie sesión en la VM y actualice todos los paquetes del sistema.

$ sudo dnf update

Instale los paquetes de requisitos previos que considere esenciales para comenzar. En este caso, lo haré vim. Esto puede ser diferente para su caso.

$ sudo dnf install epel-release wget curl net-tools vim

Si tiene la intención de implementar su plantilla en una plataforma en la nube, instale los paquetes cloud-init como se muestra.

$ sudo dnf install cloud-init cloud-utils-growpart acpid

A continuación, desactive la ruta zeroconf.

$ echo "NOZEROCONF=yes" >> /etc/sysconfig/network

Una vez que haya terminado, asegúrese de apagar su máquina virtual y limpiar la imagen de la plantilla de VM como se muestra.

$ sudo virt-sysprep -d centos8

Virt-sysprep es una utilidad de línea de comandos que restablece una máquina virtual para que se puedan realizar clones a partir de ella. Elimina entradas como claves de host SSH, archivos de registro, cuentas de usuario y algunas configuraciones de red persistentes. Para usar el comando, primero debe asegurarse siempre de que la máquina virtual esté apagada.

$ sudo virt-sysprep -d centos8

Por último, invoque el comando que se muestra para anular la definición del dominio de la máquina virtual.

$ sudo virsh undefine centos8

La imagen de la plantilla ahora está lista para la clonación y la implementación.