La forma completa di KVM è Kernel Virtual Machine. È la soluzione di virtualizzazione per Linux. KVM è un modulo del kernel Linux che permette al kernel Linux di agire come un programma hypervisor come VMware ESXi o VSphere.

In questo articolo, vi mostrerò come installare KVM su Ubuntu 20.04 LTS e creare una semplice macchina virtuale KVM con esso. Quindi, cominciamo.

Abilitare la virtualizzazione hardware:

È necessario abilitare l’estensione della virtualizzazione hardware dal BIOS del computer per far funzionare KVM. Per i processori Intel, dovresti abilitare la caratteristica del processore VT-x o VT-d dal BIOS. Per i processori AMD, dovresti abilitare la caratteristica del processore AMD-v dal BIOS.

Una volta che hai abilitato la virtualizzazione hardware nel BIOS, esegui il seguente comando per verificare se l’estensione VT-x/VT-d o AMD-v è abilitata.

$ grep –color –perl-regexp ‘vmx|svm’ /proc/cpuinfo

Dovresti avere il flag svm o vmx disponibile nell’output se hai la virtualizzazione hardware abilitata nel BIOS. Quindi, il flag svm è disponibile nel mio caso. Se stai usando un processore Intel, allora sarà vmx.

Aggiornamento del sistema:

Prima di installare KVM, dovresti aggiornare i pacchetti software della tua Ubuntu 20.04 LTS.

Prima di tutto, aggiorna la cache del repository dei pacchetti APT di Ubuntu 20.04 LTS con il seguente comando:

La cache del repository dei pacchetti APT di Ubuntu 20.04 LTS dovrebbe essere aggiornata.

Come potete vedere, tutti i pacchetti della mia macchina Ubuntu 20.04 LTS sono già aggiornati. Quindi, non devo fare nulla.

Se hai aggiornamenti disponibili, puoi applicare questi aggiornamenti con il seguente comando:

$ sudo apt upgrade

Poi, premi Y e poi premi <Enter> per confermare l’installazione.

Una volta che gli aggiornamenti sono installati, riavviare il computer con il seguente comando:

$ sudo reboot

Installazione di KVM:

I pacchetti KVM sono disponibili nel repository ufficiale dei pacchetti di Ubuntu 20..04 LTS.

È possibile installare KVM sul vostro Ubuntu 20.04 LTS con il seguente comando:

$ sudo apt install qemu qemu-kvm qemu-system qemu-utils

Per confermare l’installazione, premere Y e poi premere <Enter>.

Il gestore di pacchetti APT dovrebbe scaricare da internet tutti i pacchetti richiesti.

Una volta scaricati i pacchetti, il gestore dei pacchetti APT li installerà.

A questo punto, KVM dovrebbe essere installato.

Installazione di LibVirt:

LibVirt è uno strumento per creare e gestire macchine virtuali KVM e configurare KVM. È uno strumento indispensabile per la virtualizzazione con KVM.

LibVirt è disponibile nel repository ufficiale dei pacchetti di Ubuntu 20.04 LTS.

Per installare LibVirt, eseguire il seguente comando:

$ sudo apt install libvirt-clients libvirt-daemon-system virtinst

Per confermare l’installazione, premere Y e poi premere <Enter>.

Il gestore di pacchetti APT dovrebbe scaricare e installare tutti i pacchetti richiesti da internet.

LibVirt dovrebbe essere installato a questo punto.

Una volta installato LibVirt, aggiungete il vostro utente di login al gruppo libvirt con il seguente comando:

$ sudo usermod -aG libvirt $(whoami)

Poi, riavviate il computer con il seguente comando affinché le modifiche abbiano effetto.

$ sudo reboot

Una volta che il computer si è avviato, eseguite il seguente comando per confermare che LibVirt funziona.

$ virsh –version

Il comando dovrebbe riportare il numero di versione di LibVirt. Nel mio caso, è 6.0.0.

Impostare le directory KVM necessarie:

Penso sia una buona idea mantenere tutti i dati della macchina virtuale organizzati. Di solito tengo tutti i dati della macchina virtuale KVM nella directory /kvm/. Nella directory /kvm/, creo 2 sottodirectory disk/ e iso/. Nella sottodirectory disk/, tengo tutti i file del disco fisso della macchina virtuale (VM). Nella sottodirectory iso/, tengo le immagini di installazione ISO di diversi sistemi operativi (cioè Ubuntu, Debian, CentOS, ecc.).

È possibile creare le stesse strutture di directory con il seguente comando:

$ sudo mkdir -pv /kvm/{disk,iso}

Creazione di una macchina virtuale KVM:

In questa sezione, vi mostrerò come creare una macchina virtuale KVM Ubuntu Server 20.04 LTS.

Per prima cosa, dovete scaricare l’immagine di installazione ISO di Ubuntu Server 20.04 LTS. Per mantenere tutti i file/dati della macchina virtuale organizzati, è una buona idea memorizzare l’immagine ISO nella directory /kvm/iso/.

Perciò, navigate nella directory /kvm/iso/ con il seguente comando:

$ cd /kvm/iso

Si può scaricare l’immagine ISO di Ubuntu Server 20.04 LTS dal sito ufficiale di Ubuntu con il seguente comando:

$ sudo wget https://releases.ubuntu.com/20.04/ubuntu-20.04.1-live-server-amd64.iso

wget dovrebbe iniziare a scaricare l’immagine ISO di Ubuntu Server 20.04 LTS. Ci vorrà un po’ per completarlo.

Una volta scaricata l’immagine ISO di Ubuntu Server 20.04 LTS, puoi creare una macchina virtuale KVM con il seguente comando:

$ virt-install –name server-01 \
–os-type linux \
–os-variant ubuntu20.04 \
–ram 1024 \
–disk /kvm/disk/server-01.img,device=disk,bus=virtio,size=10,format=qcow2 \
–graphics vnc,listen=0.0.0.0 \
–noautoconsole \
–hvm \
–cdrom /kvm/iso/ubuntu-20.04.1-live-server-amd64.iso \
–boot cdrom,hd

Qui, il nome della macchina virtuale sarà server-01.

Il sistema operativo che installeremo è linux.

La variante del sistema operativo è ubuntu20.04 (Ubuntu 20.04 LTS).

I valori del tipo e della variante del SO non sono casuali. Puoi trovare il tipo di OS e la variante OS per la tua distribuzione Linux desiderata con il comando osinfo-query. Come potete vedere, per Ubuntu 20.04 LTS, il tipo di OS in linux e la variante OS è ubuntu20.04.

$ osinfo-query os –fields=name,short-id,family | grep -i Ubuntu

Se non hai il comando osinfo-query disponibile nel tuo computer, puoi installarlo con il seguente comando:

$ sudo apt install libosinfo-bin

La RAM (Random Access Memory) della VM sarà di 1024 MB (Megabyte).

Il disco virtuale della VM sarà salvato nel file /kvm/disk/server-01.img. Il disco virtuale ha una dimensione di circa 10 GB, e il formato è QCOW2 (QEMU Copy-On-Write v2)

La macchina virtuale sarà accessibile tramite il protocollo desktop remoto VNC (Virtual Network Computing), e il server VNC sarà in ascolto su tutte le interfacce di rete disponibili configurate sul vostro host Ubuntu 20.04 LTS KVM host.

Ubuntu 20.04 LTS KVM host non cercherà automaticamente di connettersi alla macchina virtuale una volta creata la macchina virtuale. La macchina virtuale continuerà a funzionare in background.

Usa la virtualizzazione completa per la macchina virtuale. Questo renderà le macchine virtuali più performanti.

Utilizza l’immagine ISO di Ubuntu Server 20.04 LTS che abbiamo appena scaricato come CD/DVD ROM virtuale della macchina virtuale e utilizzato per installare Ubuntu Server 20.04 LTS sulla macchina virtuale.

Imposta l’ordine di avvio della macchina virtuale. La prima voce di avvio è il CD/DVD ROM virtuale e poi il disco rigido virtuale. Così, la macchina virtuale sarà in grado di avviarsi dall’immagine ISO di Ubuntu Server 20.04 LTS e installare Ubuntu Server 20.04 LTS sul disco rigido.

Queste sono fondamentalmente tutte le opzioni necessarie per creare una macchina virtuale KVM.

Una volta eseguito il comando virt-install, KVM dovrebbe iniziare a creare la macchina virtuale. Potrebbe volerci un po’ a seconda della configurazione della vostra macchina virtuale.

A questo punto, la macchina virtuale KVM dovrebbe essere creata.

Elenco delle macchine virtuali KVM:

Una volta creata la macchina virtuale KVM, puoi elencarla con il seguente comando:

$ virsh list –all

Il comando dovrebbe mostrare tutte le macchine virtuali KVM che hai. In questo momento, ho solo 1 macchina virtuale server-01. Questa è quella che ho appena creato. Come potete vedere, la macchina virtuale server-01 è in esecuzione. Dovresti essere in grado di connetterti ad essa usando qualsiasi client VNC.

Connettersi alle macchine virtuali KVM da remoto con VNC:

In questa sezione, ti mostrerò come connettersi alla tua macchina virtuale KVM da remoto con VNC.

Puoi trovare il numero di porta VNC della macchina virtuale KVM server-01 con il seguente comando:

$ virsh vncdisplay server-01

Come puoi vedere, il numero di porta VNC della macchina virtuale server-01 è 0.

Qui, porta 0 significa porta 5900. Allo stesso modo, porta 1 significa porta 5901 e così via.

Ora, trovate l’indirizzo IP del vostro host KVM Ubuntu 20.04 LTS con il seguente comando:

$ ip a

Nel mio caso, l’indirizzo IP è 192.168.20.131. Per voi sarà diverso. Quindi, assicuratevi di sostituirlo con il vostro d’ora in poi.

Aprite qualsiasi client VNC e connettetevi all’indirizzo 192.168.20.131:0.

Cliccate su Continua.

Si dovrebbe essere connessi al display della macchina virtuale KVM server-01, come si può vedere nello screenshot qui sotto.

Ora, potete installare il sistema operativo desiderato sulla macchina virtuale.

Nel mio caso, installerò il sistema operativo Ubuntu Server 20.04 LTS sulla macchina virtuale.

Ubuntu Server 20.04 LTS è installato sulla macchina virtuale a questo punto. Riavviamo la macchina virtuale.

Premete <Invio> quando vedete questo messaggio.

La macchina virtuale KVM server-01 dovrebbe essere spenta automaticamente, come potete vedere nello screenshot sottostante.

$ virsh list –all

Avvia la macchina virtuale KVM server-01 con il seguente comando:

$ virsh start server-01

La macchina virtuale server-01 dovrebbe essere avviata.

Ora, puoi connetterti alla macchina virtuale server-01 da un client VNC come prima. Come puoi vedere, viene visualizzata la schermata di login di Ubuntu Server 20.04 LTS.

Puoi fare il login ed eseguire qualsiasi comando tu voglia.

Rimuovere le macchine virtuali KVM:

Potete anche rimuovere una macchina virtuale KVM molto facilmente usando LibVirt.

Come potete vedere, ho 2 macchine virtuali KVM (server-01 e server-02) in esecuzione sul mio host KVM Ubuntu 20.04 LTS. Rimuoviamo la macchina virtuale KVM server-02.

$ virsh list –all

Come potete vedere, la macchina virtuale KVM server-02 è in esecuzione. Dovete fermarla prima di rimuoverla.

$ virsh list –all

Per fermare forzatamente la macchina virtuale KVM server-02, eseguire il seguente comando:

$ virsh destroy server-02

Come potete vedere, la macchina virtuale server-02 è spenta.

$ virsh list –all

Puoi rimuovere definitivamente la macchina virtuale server-02 e tutti i suoi hard disk virtuali collegati con il seguente comando:

$ virsh undefine –remove-all-storage server-02

Come potete vedere, la macchina virtuale server-02 non è più disponibile.

$ virsh list –all

Issue#1: Fixing cpu->kvm_msr_buf->nmsrs Assertion Error

Mentre si crea una macchina virtuale KVM su Ubuntu 20.04 LTS, si può vedere il seguente messaggio di errore. Si tratta di un bug del kernel. Di solito, questo accade quando si esegue KVM all’interno di un’altra macchina virtuale. Io sto eseguendo KVM all’interno di una macchina virtuale VMware. Questo è il motivo per cui ho ricevuto questo errore, credo. È facile da risolvere.

Crea un nuovo file /etc/modprobe.d/qemu-system-x86.conf con il seguente comando:

$ sudo nano /etc/modprobe.d/qemu-system-x86.conf

Aggiungi le seguenti righe nel file se stai usando un processore AMD.

options kvm_amd nested=1 enable_apicv=n
options kvm ignore_msrs=1

Aggiungi le seguenti linee nel file se stai usando un processore Intel.

options kvm_intel nested=1 enable_apicv=n
options kvm ignore_msrs=1

Una volta finito, premi <Ctrl> + X seguito da Y e <Enter> per salvare il file /etc/modprobe.d/qemu-system-x86.conf.

Poi, riavviate il computer con il seguente comando affinché le modifiche abbiano effetto.

$ sudo reboot

Il vostro problema dovrebbe essere risolto.

Conclusione:

In questo articolo, vi ho mostrato come installare KVM su Ubuntu 20.04 LTS e creare macchine virtuali KVM utilizzando LibVirt. Vi ho anche mostrato come rimuovere le macchine virtuali KVM. Questo dovrebbe aiutarvi a iniziare con la virtualizzazione KVM di Linux.

admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

lg