2,086 22/03/2026 07/04/2026 3 min

La virtualizzazione è diventata una necessità per molti ambienti di produzione, e KVM (Kernel-based Virtual Machine) con Libvirt offre un'ottima soluzione. Configurare un hypervisor come KVM richiede attenzione, non solo per le performance, ma anche per la sicurezza dei dati e delle macchine virtuali. In questo articolo, esploreremo come allestire un ambiente KVM completo con bridging di rete e snapshot, tenendo presente un approccio sicuro.

Prerequisiti

  • Un server Linux con KVM installato.
  • Libvirt e virt-manager per la gestione delle VM.
  • Accesso root o permessi sudo.
  • Conoscenza base di networking e virtualizzazione.

Step 1: Installazione di KVM e Libvirt

Per prima cosa, assicurati di avere KVM e Libvirt installati sul tuo sistema. Puoi farlo eseguendo i seguenti comandi:

sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

Assicurati di controllare lo stato del demone libvirt con:

sudo systemctl status libvirtd

# Output: Active: active (running)

Perché funziona: Questo comando verifica che il servizio di virtualizzazione sia attivo.

Step 2: Configurazione della rete bridge

Un bridge di rete consente alle VM di comunicare tra loro e con il mondo esterno, come se fossero collegati direttamente alla rete fisica. Procedi a creare un file di configurazione per il bridge.

sudo nano /etc/network/interfaces

Aggiungi la seguente configurazione:

auto br0
iface br0 inet dhcp
 bridge_ports eth0
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0

# Output: Configurazione del bridge completata.

Perché funziona: Questo file configura un bridge di rete che utilizza l'interfaccia fisica eth0.

Step 3: Creazione e gestione delle macchine virtuali

Ora che hai configurato il bridge, puoi creare una nuova VM. Esegui il comando seguente:

virt-install \
  --name myVM \
  --ram 2048 \
  --disk path=/var/lib/libvirt/images/myVM.img,size=20 \
  --vcpus 2 \
  --os-type linux \
  --os-variant ubuntu20.04 \
  --network bridge=br0 \
  --graphics none \
  --location 'http://releases.ubuntu.com/20.04/ubuntu-20.04-live-server-amd64.iso' \
  --extra-args 'console=ttyS0,115200n8 serial'

# Output: Inizio installazione della VM...

Perché funziona: Questo comando crea una VM con 2 GB di RAM e 2 vCPU, utilizzando il bridge configurato.

Step 4: Abilitare i snapshot per le VM

Il supporto per i snapshot ti consente di catturare lo stato di una VM per ripristini rapidi e test. Puoi creare uno snapshot della tua VM con il comando:

virsh snapshot-create-as myVM mySnapshot --description 'Snapshot di produzione'

# Output: Snapshot creato correttamente.

Perché funziona: Questo comando salva lo stato della VM "myVM" come "mySnapshot".

Step 5: Sicurezza e hardening delle VM

Assicurati di seguire pratiche di sicurezza. Alcuni accorgimenti includono:

  • Utilizza firewall per isolare le VM.
  • Limita l'accesso SSH solo agli utenti necessari.
  • Imposta politiche di sicurezza SELinux o AppArmor per proteggere l'integrità delle VM.

In aggiunta, puoi limitare le risorse per ogni VM per evitare che una macchina possa sovraccaricare l'host.

Verifica finale

Dopo aver completato la configurazione, esegui un controllo delle VM attive e delle loro impostazioni:

virsh list --all

# Output: ID Nome Stato ---------------------------------------------------- 1 myVM running

Perché funziona: Questo comando mostra tutte le VM attive e il loro stato.

Troubleshooting

Se riscontri problemi, ecco alcuni errori comuni e come risolverli:

  1. Errore: "Cannot access storage file '/var/lib/libvirt/images/myVM.img'".

    Cause: Permessi insufficienti sul file. Fix: sudo chown libvirt-qemu:libvirt-qemu /var/lib/libvirt/images/myVM.img

  2. Errore: "br0 interface not found".

    Cause: Bridge non configurato correttamente. Fix: Controlla le impostazioni nel file /etc/network/interfaces.

  3. Errore: "Internal error: qemu unexpectedly closed the monitor".

    Cause: Risorse insufficienti su host. Fix: Aumenta RAM e CPU disponibili per il sistema.

Conclusione

Hai configurato con successo un ambiente KVM con Libvirt, utilizzando network bridge e snapshot per garantire performance elevate e sicurezza. Prossimo passo: approfondire l'integrazione di sistemi di backup per le VM e la gestione degli aggiornamenti di sicurezza.