Com crear una plantilla de màquina virtual KVM


Una plantilla de màquina virtual és essencialment una còpia de la màquina virtual instal·lada que és útil quan voleu desplegar diverses instàncies de màquines virtuals. La creació d'una plantilla és un procés de 3 passos que consisteix a crear una màquina virtual, instal·lar tots els paquets de requisits que voleu instal·lar i, finalment, netejar la plantilla.

Anem endavant i veiem com podeu aconseguir-ho.

Pas 1: instal·lació de KVM a Linux

El primer pas és instal·lar KVM al vostre sistema. Tenim tutorials complets sobre:

  • Com instal·lar KVM a Ubuntu 20.04
  • Com instal·lar KVM a CentOS 8

A més, assegureu-vos que el dimoni libvirtd s'està executant i està habilitat per iniciar automàticament l'arrencada.

$ sudo systemctl enable libvirtd
$ sudo systemctl start libvirtd

Verifiqueu si el dimoni libvirtd s'està executant.

$ sudo systemctl status libvirtd

Si esteu executant un sistema Ubuntu/Debian, assegureu-vos que la imatge vhost-net estigui carregada.

$ sudo modprobe vhost_net

Pas 2: creeu una imatge virtual KVM

Abans d'arribar a crear una plantilla, primer hem de tenir una instància d'instal·lació. A la línia d'ordres, crearem una imatge KVM 20G CentOS 8 mitjançant l'ordre qemu-img tal com es mostra.

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

A continuació, utilitzeu l'ordre virt-install per crear una màquina virtual CentOS 8 tal com es mostra.

$ 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

Això llança la instància de la màquina virtual. Podeu confirmar-ho dirigint-vos al virt-manager i obrint la finestra de la consola tal com es mostra. El que podeu veure és la pàgina de benvinguda predeterminada per a l'instal·lador. Assegureu-vos de completar la instal·lació fins al final.

Pas 3: creació d'una imatge de plantilla de màquina virtual KVM

Un cop finalitzada la instal·lació, inicieu sessió a la màquina virtual i actualitzeu tots els paquets del sistema.

$ sudo dnf update

Instal·leu els paquets de requisits previs que considereu essencials per començar. En aquest cas, faré vim. Això pot ser diferent per al vostre cas.

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

Si teniu intenció de desplegar la vostra plantilla en una plataforma de núvol, instal·leu els paquets cloud-init tal com es mostra.

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

A continuació, desactiveu la ruta zeroconf.

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

Un cop hàgiu acabat, assegureu-vos d'apagar la vostra màquina virtual i netejar la imatge de la plantilla de VM tal com es mostra.

$ sudo virt-sysprep -d centos8

El virt-sysprep és una utilitat de línia d'ordres que restableix una màquina virtual per tal que se'n facin clons. Elimina entrades com ara claus d'amfitrió SSH, fitxers de registre, comptes d'usuari i algunes configuracions de xarxa persistents. Per utilitzar l'ordre, primer, heu d'assegurar-vos sempre que la màquina virtual estigui apagada.

$ sudo virt-sysprep -d centos8

Finalment, invoqueu l'ordre que es mostra per no definir el domini VM.

$ sudo virsh undefine centos8

La imatge de la plantilla ja està preparada per a la clonació i el desplegament.