Introduzione

KVM (Virtual Machine basata su kernel) è una tecnologia di virtualizzazione open source integrata nel kernel Linux. Consente di eseguire più macchine virtuali guest isolate basate su Linux o Windows. Ogni ospite ha il proprio sistema operativo e hardware virtuale dedicato come CPU, memoria, interfacce di rete e archiviazione.

Questa guida spiega come installare e configurare KVM sul desktop Ubuntu 18.04. Ti mostreremo anche come creare macchine virtuali che possono essere utilizzate come ambiente di sviluppo per PHP, Node.js, Ruby e così via.

Le stesse istruzioni valgono per Ubuntu 16.04 e qualsiasi altra distribuzione basata su Ubuntu, inclusi Linux Mint e SO elementare.

Prerequisiti

Per poter eseguire guest con più di 2 GB di RAM e per ospitare guest KVM sia a 32 che a 64 bit, è necessario disporre di un siste ma host a 64 bit.

Prima di continuare con l'installazione, assicurati che la tua macchina host Ubuntu supporti la virtualizzazione KVM. Il sistema dovrebbe avere un processore Intel con VT-x (vmx) o un processore AMD con il supporto della tecnologia AMD-V (svm).

Immettere il comando grep seguente per vedere se il processore supporta la virtualizzazione hardware:

grep -Eoc '(vmx|svm)' /proc/cpuinfo

Se la tua CPU supporta la virtualizzazione hardware, questo comando genererà un numero maggiore di zero, che è il numero dei core della CPU. Altrimenti, se l'output è 0 significa che la CPU non supporta la virtualizzazione hardware.

Su alcune macchine, le estensioni della tecnologia virtuale potrebbero essere disabilitate nel BIOS dai produttori.

Per verificare se VT è abilitato nel BIOS, utilizzare lo strumento kvm-ok, incluso nel pacchetto cpu-checker. Esegui i seguenti comandi come utente root o utente con privilegi sudo per installare il pacchetto:

sudo apt update
sudo apt install cpu-checker

Una volta fatto, controlla se il tuo sistema può eseguire macchine virtuali KVM con accelerazione hardware:

kvm-ok

Se la funzionalità di virtualizzazione del processore non è disabilitata nel BIOS, il comando genererà:

INFO: /dev/kvm exists
KVM acceleration can be used

Altrimenti, il comando stamperà e un messaggio di errore e facoltativamente un breve messaggio su come abilitare l'estensione. Il processo di abilitazione della tecnologia AMD-V o VT dipende dalla scheda madre e dal tipo di processore. Fare riferimento alla documentazione della scheda madre per le informazioni sulla configurazione del BIOS di sistema.

Installare KVM su Ubuntu

Eseguire il comando seguente per installare KVM e pacchetti di gestione della virtualizzazione aggiuntivi:

sudo apt install qemu-kvm libvirt-bin bridge-utils virtinst virt-manager
  • qemu-kvm - software che fornisce l'emulazione hardware per l'hypervisor KVM.
  • libvirt-bin - software per la gestione di piattaforme di virtualizzazione.
  • bridge-utils - un set di strumenti da riga di comando per la configurazione di bridge ethernet.
  • virtinst - un set di strumenti da riga di comando per la creazione di macchine virtuali.
  • virt-manager - fornisce un'interfaccia GUI facile da usare e supporta utility da riga di comando per la gestione di macchine virtuali tramite libvirt.

Una volta installati i pacchetti, il demone libvirt si avvierà automaticamente. Puoi verificarlo eseguendo:

sudo systemctl is-active libvirtd
active

Per poter creare e gestire macchine virtuali, dovrai aggiungere il tuo utente ai gruppi "libvirt" e "kvm". Per farlo, digita:

sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER

$USER è una variabile di ambiente che contiene il nome dell'utente attualmente connesso.

Disconnettersi e riconnettersi in modo da aggiornare l'appartenenza al gruppo.

Configurare la rete

Un dispositivo bridge chiamato "virbr0" viene creato per impostazione predefinita durante il processo di installazione di libvirt. Questo dispositivo utilizza NAT per connettere le macchine degli ospiti al mondo esterno.

Esegui lo strumento brctl per elencare i bridge correnti e le interfacce a cui sono collegati:

brctl show
bridge name	bridge id		      STP enabled	interfaces
virbr0		  8000.52540003f59e	yes		      virbr0-nic

Il ponte "virbr0" non ha alcuna interfaccia fisica aggiunta. "Virbr0-nic" è un dispositivo virtuale senza traffico instradato attraverso di esso. L'unico scopo di questo dispositivo è quello di evitare di cambiare l'indirizzo MAC del bridge "virbr0".

Questa configurazione di rete è adatta per la maggior parte degli utenti desktop di Ubuntu ma presenta delle limitazioni. Se si desidera accedere agli ospiti dall'esterno della rete locale, è necessario creare un nuovo bridge e configurarlo in modo che le macchine ospiti possano connettersi al mondo esterno attraverso l'interfaccia fisica dell'host.

Creare macchine virtuali

Ora che KVM è installato sul desktop di Ubuntu, creiamo la prima macchina virtuale. Questo può essere fatto dalla riga di comando o usando l'applicazione virt-manager.

Scarica l'immagine ISO del sistema operativo che desideri installare e segui i passaggi seguenti per creare la tua macchina virtuale:

  1. Nella barra di ricerca delle attività digitare "Virtual Machine Manager" e fare clic sull'icona per avviare l'applicazione.
  2. Dopo aver avviato l'applicazione, dal menu in alto fare clic su "File -> "Nuova macchina virtuale".
  3. Apparirà una nuova finestra. Scegli "Supporto di installazione locale" e fai clic sul pulsante "Avanti".
  4. Fornisci il percorso dell'immagine ISO e fai clic sul pulsante Avanti.
  5. Nella schermata successiva, seleziona la memoria della VM e le impostazioni della CPU. Fai clic su Avanti.
  6. Quindi, selezionare "Crea un'immagine disco per la macchina virtuale" e selezionare la dimensione dello spazio su disco della VM. Fai clic su Avanti.
  7. Immettere un nome per il nome della macchina virtuale e fare clic su "Fine". La VM si avvierà e si aprirà una nuova finestra.
  8. Da qui, è possibile seguire le istruzioni visualizzate per completare l'installazione del sistema operativo.

Una volta installato il sistema operativo, è possibile accedervi dall'applicazione virt-manager, tramite ssh o tramite l'interfaccia della console seriale.

Conclusione

Ti abbiamo mostrato come installare KVM su sistemi Ubuntu 18.04. Ora puoi creare i tuoi computer guest Windows o Linux. Per ulteriori informazioni su KVM, visitare la pagina della documentazione di KVM.