Ricerca nel sito web

Come creare un modello di macchina virtuale KVM


Un modello di macchina virtuale è essenzialmente una copia della macchina virtuale installata che risulta utile quando si desidera distribuire più istanze di macchine virtuali. La creazione di un modello è un processo in 3 passaggi che prevede la creazione di una macchina virtuale, l'installazione di tutti i pacchetti di requisiti che si desidera installare e infine la pulizia del modello.

Andiamo avanti e vediamo come è possibile ottenere questo risultato.

Passaggio 1: installazione di KVM in Linux

Il primo passo è installare KVM sul tuo sistema. Abbiamo tutorial completi su:

  • Come installare KVM su Ubuntu 20.04
  • Come installare KVM su CentOS 8

Inoltre, assicurati che il demone libvirtd sia in esecuzione e sia abilitato a avviarsi automaticamente all'avvio.

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

Verifica se il demone libvirtd è in esecuzione.

sudo systemctl status libvirtd

Se stai utilizzando un sistema Ubuntu/Debian, assicurati che l'immagine vhost-net sia caricata.

sudo modprobe vhost_net

Passaggio 2: crea un'immagine virtuale KVM

Prima di arrivare alla creazione di un modello, dobbiamo innanzitutto avere un'istanza di installazione. Sulla riga di comando, creeremo un'immagine 20G CentOS 8 KVM utilizzando il comando qemu-img come mostrato.

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

Successivamente, utilizza il comando virt-install per creare una macchina virtuale CentOS 8 come mostrato.

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

Questo avvia l'istanza della macchina virtuale. Puoi confermarlo andando su virt-manager e aprendo la finestra della console come mostrato. Ciò che puoi vedere è la pagina di benvenuto predefinita per il programma di installazione. Assicurati di completare l'installazione fino alla fine.

Passaggio 3: creazione dell'immagine del modello della macchina virtuale KVM

Una volta completata l'installazione, accedi alla VM e aggiorna tutti i pacchetti di sistema.

sudo dnf update

Installa i pacchetti prerequisiti che ritieni essenziali per iniziare. In questo caso installerò la versione EPEL, wget, curl, net-tools e vim. Questo potrebbe essere diverso per il tuo caso.

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

Se intendi distribuire il tuo modello su una piattaforma cloud, installa i pacchetti cloud-init come mostrato.

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

Successivamente, disabilita il percorso zeroconf.

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

Una volta terminato, assicurati di spegnere la macchina virtuale e di pulire l'immagine del modello VM come mostrato.

sudo virt-sysprep -d centos8

virt-sysprep è un'utilità della riga di comando che reimposta una macchina virtuale per poterne creare cloni. Rimuove voci come chiavi host SSH, file di registro, account utente e alcune configurazioni di rete persistenti. Per utilizzare il comando, innanzitutto, è necessario assicurarsi sempre che la VM sia spenta.

sudo virt-sysprep -d centos8

Infine, richiama il comando mostrato per annullare la definizione del dominio della VM.

sudo virsh undefine centos8

L'immagine del modello è ora pronta per la clonazione e la distribuzione.