© Copyright 2026 Ferrantino Francesco

“Macchina Virtuale basata sul Kernel”: indica che la virtualizzazione è gestita direttamente dal kernel Linux.

KVM è una tecnologia di virtualizzazione integrata nel kernel Linux che trasforma il sistema operativo in un hypervisor. Consente di eseguire più macchine virtuali isolate ognuna con il proprio sistema operativo. È una soluzione nativa, efficiente e altamente integrata con le risorse hardware.

QEMU (Quick Emulator)

Tradotto “Emulatore Veloce”. È un emulatore e virtualizzatore che permette di eseguire sistemi operativi diversi su un’unica macchina fisica. QEMU è un emulatore e virtualizzatore open source che permette di eseguire sistemi operativi e applicazioni per diverse architetture hardware. In combinazione con KVM, sfrutta l’accelerazione hardware per offrire prestazioni quasi native. È uno strumento flessibile, usato sia per test che per ambienti di produzione.

Libvirt

Il nome deriva da “Library for Virtualization”, cioè “libreria per la virtualizzazione”. È una raccolta di strumenti e API per gestire hypervisor e macchine virtuali. Libvirt è una libreria API scritta in C che fornisce un’interfaccia unificata per interagire con diversi hypervisor come KVM, QEMU, Xen, VMware, ecc. Oltre alla libreria include anche strumenti di gestione come il comando virsh e il servizio libvirtd che usano proprio quella libreria per comunicare con i sistemi di virtualizzazione.

Libvirt può funzionare in due modalità diverse:

Modalità utente: session
$ echo "=== VM utente ===" $ virsh list --all

Scopo: permettere a un utente normale di creare e usare VM senza privilegi di root. Ogni utente ha un piccolo ambiente libvirt personale. Le VM girano solo quando l’utente è loggato. Non possono danneggiare il sistema o interferire con altri utenti Le immagini e le configurazioni stanno nella home:/home/user_name/.local/share/libvirt/ Serve per test o uso personale in modo sicuro. È come avere un mini-hypervisor privato dentro il tuo account

Modalità sistema: system
$ echo "=== VM di sistema ===" $ virsh -c qemu:///system list --all

Scopo: gestire VM per tutto il sistema come fa un server o un host Proxmox. Le VM continuano a funzionare anche se l’utente non è loggato. Le configurazioni stanno in: /etc/libvirt/ Possono usarle più utenti (se appartengono al gruppo libvirt). Servono privilegi amministrativi, perché controllano dispositivi reali (CPU, dischi, rete, ecc) È la modalità usata in ambienti server, laboratori, o da strumenti come CRC, OpenShift, Proxmox, ecc.

Verifica se il processore è Intel / AMD e supporta la virtualizzazione hardware:

$ lscpu | grep Virtualization Virtualization: VT-x

Installazione

$ sudo apt install qemu-system-x86 libvirt-daemon-system virt-viewer dnsmasq vde2 bridge-utils ebtables dmidecode virtinst ovmf

Editare il file libvirtd.conf:

$ sudo nano /etc/libvirt/libvirtd.conf

decommentare le due righe:

unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"

Aggiungere l'utente corrente al gruppo libvirt, questo è utile quando si desidera consentire all'utente di interagire con l'hypervisor di virtualizzazione libvirt senza dover inserire il comando sudo ogni volta:

$ sudo usermod -aG libvirt $USER

Aggiungere l'utente corrente al gruppo kvm, questo è utile quando si desidera consentire all'utente di interagire con la virtualizzazione KVM (Kernel-based Virtual Machine) senza dover inserire il comando sudo ogni volta:

$ sudo usermod -aG kvm $USER

Configurare la rete in bridge:

$ sudo mv /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/default.xml.bck $ sudo virsh -c qemu:///system net-edit default

oppure

$ sudo nano /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<forward mode="bridge"/>
<bridge name="br0"/>
</network>
$ sudo chmod 0600 /etc/libvirt/qemu/networks/default.xml

Avviare la rete virtuale ed avviarla automaticamente all'avvio del sistema:

$ sudo virsh -c qemu:///system net-start default $ sudo virsh -c qemu:///system net-autostart default

Abilitare ed avviare il server libvirtd:

$ sudo systemctl enable --now libvirtd $ sudo systemctl start libvirtd $ sudo systemctl status libvirtd $ virsh -c qemu:///system net-list --all $ virsh -c qemu:///system list --all

Per verificare se l'installazione è avvenuta con successo:

$ virsh -c qemu:///system list
Id NameState

altrimenti la risposta sarà:

libvirt: Remote error : Permission denied
error: failed to connect to the hypervisor

I permessi del file libvirt-sock devono essere simili a:

$ sudo ls -la /var/run/libvirt/libvirt-sock srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock

Installazione di VirtManager sul PC client

$ sudo apt install virt-manager
Ferrantino Francesco

Ferrantino Francesco

Cookie Policy

Leggi  informativa Cookie Policy
Il "Sito" utilizza i Cookie per rendere i propri servizi semplici e efficienti per l’utenza che visiona le pagine di franksoft.it

Disclaimer

L'autore degli articoli non si assume nessuna responsabilità per eventuali danni ai vostri dispositivi. Tutto ciò che viene spiegato è puramente a scopo dimostrativo.
Il presente sito non costituisce testata giornalistica in quanto non ha carattere periodico ed è aggiornato secondo la mia disponibilità e la reperibilità dei materiali ivi contenuti. Pertanto, non può essere considerato in alcun modo un prodotto editoriale ai sensi della Legge n. 62 del 7/03/2001.

Licenza

Tutte le immagini presenti nel sito appartengono ai rispettivi titolari e sono utilizzate senza alcuno scopo di lucro. Ogni eventuale violazione del copyright non è intenzionale.
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 4.0 Internazionale.  Licenza Creative Commons