Guida alla configurazione della virtualizzazione KVM e all'avvio automatico delle macchine virtuali per SLES 15.

SUSE Linux Enterprise Server 15 può fungere da host KVM con l'hypervisor QEMU/KVM e lo stack di gestione libvirt. Questa guida è pensata come riferimento pratico per gli amministratori che desiderano una configurazione ripetibile: verificare la virtualizzazione hardware, installare i componenti supportati, scegliere la rete e lo storage, creare una macchina virtuale, abilitare l'avvio automatico per ogni macchina virtuale e verificare che la macchina virtuale si riavvii dopo il riavvio dell'host.

I comandi e i percorsi di menu riportati di seguito sono stati verificati confrontandoli con la Guida alla virtualizzazione di SUSE Linux Enterprise Server 15 SP7 , la cui pubblicazione attuale è datata 10 settembre 2026. I service pack precedenti di SLES 15 sono simili, ma le versioni dei pacchetti, le impostazioni predefinite del demone e i profili guest disponibili possono differire. SUSE raccomanda di gestire la virtualizzazione supportata tramite libvirt anziché combinare libvirt con la gestione diretta specifica dell'hypervisor.

Lista di controllo per una pianificazione rapida

ArticoloCosa decidere o verificare
processoreLa virtualizzazione hardware è supportata e abilitata nel firmware: Intel VT-x o AMD-V su sistemi x86.
Risorse dell'hostLascia a disposizione risorse sufficienti di CPU, RAM, spazio di archiviazione e I/O sia per SLES stesso che per ogni macchina virtuale.
RetiUtilizzare un bridge quando gli ospiti necessitano di un normale accesso di livello 2 alla LAN; utilizzare una rete virtuale libvirt quando NAT o isolamento basato su routing risultano più appropriati.
MagazzinaggioScegli la posizione in cui verranno archiviate le immagini del disco guest e assicurati che il filesystem o il pool di archiviazione sottostante disponga di spazio libero sufficiente.
GestioneUtilizzate regolarmente gli strumenti di libvirt come virsh, virt-install e Virtual Machine Manager.
Comportamento di avvioL'avvio automatico viene configurato individualmente per ogni macchina virtuale persistente, non tramite un unico interruttore globale per tutte le macchine virtuali.

1. Verificare che l'host supporti KVM

KVM richiede il supporto per la virtualizzazione del processore e impostazioni del firmware che espongano tale supporto al sistema operativo. Su un host x86, un primo controllo rapido consiste nel verificare la presenza del flag Intel vmxo AMD svmCPU. Il pacchetto client libvirt fornisce anche virt-host-validateuna funzione che esegue una serie più ampia di controlli sull'host.

egrep -c '(vmx|svm)' /proc/cpuinfo
sudo virt-host-validate qemu

Un conteggio positivo dei flag della CPU è utile, ma non è l'unico requisito. Se la convalida segnala che KVM non è disponibile, controllare prima le impostazioni del BIOS o dell'UEFI, soprattutto su un server appena configurato. La documentazione host KVM di SUSE afferma che la virtualizzazione deve essere supportata dalla CPU e abilitata nel BIOS/firmware. Ricordare inoltre che la virtualizzazione nidificata è una funzionalità separata; su SLES 15 SP7 SUSE documenta KVM nidificata come anteprima tecnologica piuttosto che come impostazione predefinita supportata in produzione.

Terminale su un host SLES 15 che mostra i controlli di virtualizzazione della CPU e i risultati di virt-host-validate
Visualizzazione da terminale della fase di preflight: i flag di virtualizzazione della CPU e la convalida dell'host vengono controllati prima della creazione di qualsiasi macchina virtuale.

2. Installare il server KVM e gli strumenti di gestione libvirt.

Il percorso più supportato è YaST. Apri YaST > Virtualizzazione > Installa Hypervisor e Strumenti , seleziona Server KVM e, se desideri lo stack di gestione libvirt, seleziona Strumenti KVMyast2-vm . SUSE documenta il pacchetto come il modulo YaST utilizzato per questa configurazione.

Per l'automazione da riga di comando, SLES raggruppa le stesse funzionalità in modelli di installazione. Installare sia il modello host che quello di gestione:

sudo zypper install -t pattern kvm_server kvm_tools

Questo kvm_serverschema installa l'ambiente host QEMU/KVM di base. kvm_toolsAggiunge inoltre strumenti basati su libvirt per la gestione e il monitoraggio delle macchine virtuali. L'elenco esatto delle dipendenze dipende dal service pack, pertanto è preferibile installare gli schemi documentati piuttosto che mantenere un elenco di pacchetti scritto manualmente, a meno che non si disponga di un'architettura host minimale controllata.

Riferimento: SUSE: Installazione dei componenti di virtualizzazione .

Finestra di virtualizzazione YaST con server KVM e strumenti KVM selezionati
In YaST, selezionare "Server KVM" e "Strumenti KVM" per installare l'hypervisor e lo stack di gestione libvirt.

3. Scegliere il modello di rete VM prima di spostare il traffico di produzione

SUSE descrive un bridge di rete come la connessione predefinita e consigliata quando le macchine virtuali devono connettersi direttamente alla LAN dell'host. Un bridge si comporta come uno switch di livello 2: l'interfaccia fisica dell'host e le interfacce virtuali delle VM partecipano allo stesso segmento Ethernet. Questa è solitamente la scelta più ovvia per le VM infrastrutturali che necessitano di indirizzi LAN dedicati, servizi in entrata, prenotazioni DHCP o normale visibilità verso altre macchine.

Una rete virtuale libvirt è spesso più adatta quando le macchine virtuali necessitano di isolamento o di una semplice connettività in uscita. Il NAT consente a più macchine virtuali di condividere l'indirizzo esterno dell'host pur rimanendo su una sottorete privata. La modalità Routed inoltra il traffico senza traduzione degli indirizzi, ma richiede un routing adeguato nella rete circostante.

Se l'host utilizza wicked, che SUSE documenta come servizio di gestione di rete predefinito sugli host server, crea il bridge con YaST o la corrispondente configurazione da riga di comando. I sistemi NetworkManager possono utilizzare nmcli. Fai attenzione sui server remoti: spostare la configurazione IP dell'host su un bridge può interrompere SSH se la modifica non è corretta. Pianifica una finestra di manutenzione o assicurati di avere accesso alla console.

Riferimento: SUSE: Preparazione del server host della macchina virtuale .

Impostazioni di rete YaST che mostrano il bridge br0 collegato a eth0
Esempio di rete bridged con br0 collegato a un'interfaccia Ethernet fisica, adatto quando gli ospiti necessitano di accesso LAN di livello 2.

4. Verificare che i moduli del kernel KVM siano caricati

Dopo l'installazione, verificare il lato kernel di KVM. Gli host Intel normalmente utilizzano kvm_intel; gli host AMD utilizzano kvm_amd. La guida di configurazione host KVM di SUSE mostra come caricare il modulo specifico del processore e verificarlo con lsmod.

sudo modprobe kvm_intel   # Intel host
# or
sudo modprobe kvm_amd     # AMD host

lsmod | grep kvm

Dovresti visualizzare il kvmmodulo generico e il modulo specifico del processore. Se il modulo non si carica, non procedere semplicemente creando una macchina virtuale in emulazione software. Ricontrolla prima le impostazioni di virtualizzazione del firmware e la compatibilità dell'host, a meno che l'emulazione esclusivamente software non sia intenzionalmente parte del tuo progetto.

Riferimento: SUSE: Configurazione di un server host KVM .

Terminale SLES che mostra i moduli kvm e kvm_intel nell'output di lsmod
Il controllo dei moduli previsto su un host Intel mostra sia il modulo KVM generico che il modulo KVM specifico di Intel.

5. Verifica il modello del demone libvirt utilizzato dal tuo service pack

SLES 15 SP7 abilita per impostazione predefinita il modello di demone modulare libvirt. Per KVM, il demone hypervisor primario è virtqemud. I demoni secondari gestiscono funzioni come la rete virtuale e lo storage. SUSE documenta ancora la tradizionale libvirtdimplementazione monolitica, ma non è consigliabile abilitare entrambi i modelli arbitrariamente.

Su un host KVM SP7 predefinito, verificare il demone QEMU:

systemctl status virtqemud.service
sudo systemctl enable --now virtqemud.service

SUSE raccomanda specificamente di configurare il servizio libvirt pertinente per l'avvio automatico all'avvio del sistema quando le macchine virtuali sono configurate anche per l'avvio automatico all'avvio dell'host. Su un'installazione precedente che utilizza intenzionalmente libvirt monolitico, verificare libvirtd.serviceinvece i relativi socket. Prima di cambiare modello di demone su un host esistente, seguire la procedura di transizione documentata da SUSE e arrestare o spostare le macchine virtuali.

Riferimento: SUSE: daemon di libvirt .

Terminale che mostra il servizio systemd virtqemud attivo su un host SLES 15
Nella versione corrente di SLES 15 SP7, verificare il servizio modulare virtqemud prima di fare affidamento sull'avvio automatico delle macchine virtuali all'avvio dell'host.

6. Preparare i supporti di memorizzazione e installazione

Prima di creare la macchina virtuale, è necessario decidere dove posizionare il disco virtuale e dove montare l'immagine ISO di installazione. Le impostazioni predefinite sono adatte per un piccolo host autonomo, mentre installazioni più grandi possono utilizzare volumi LVM dedicati, filesystem separati, NFS, iSCSI o altri sistemi di storage gestiti tramite libvirt. La regola operativa fondamentale è evitare di riempire silenziosamente il filesystem root dell'host con immagini di macchine virtuali in continua crescita.

Per un sistema guest basato su file, verificare lo spazio libero prima di creare il disco:

df -h /var/lib/libvirt/images
ls -lh /data/ISOs/

Se si utilizza un pool di storage libvirt, verificarlo virsh pool-list --alle assicurarsi che il pool previsto sia attivo. Per i sistemi di produzione, includere lo storage delle VM nel monitoraggio della capacità e nella progettazione del backup, anziché trattare l'immagine del disco come un file opaco che si gestirà da solo.

7. Creare la macchina virtuale

È possibile creare una macchina virtuale graficamente con Virtual Machine Manager o dalla riga di comando con virt-install. SUSE descrive virt-installcome lo strumento da riga di comando per la creazione di macchine virtuali tramite libvirt, ed è particolarmente utile per build ripetibili e amministrazione remota.

In Virtual Machine Manager, crea una nuova VM, scegli il supporto di installazione locale, seleziona il sistema operativo guest, alloca la memoria e le CPU virtuali, seleziona lo storage e infine scegli la rete virtuale desiderata. La schermata seguente utilizza un'immagine ISO di SLES 15 a scopo illustrativo; utilizza l'immagine di installazione e il profilo esatti appropriati al tuo Service Pack.

Gestione macchine virtuali, nuova procedura guidata VM, selezione del supporto di installazione locale di SLES 15
Virtual Machine Manager può creare una macchina virtuale da un supporto ISO locale; scegli l'immagine SLES 15 corretta per il service pack che intendi installare.

Un esempio di riga di comando comparabile è:

sudo virt-install   --name sles15-vm   --memory 4096   --vcpus 2   --disk path=/var/lib/libvirt/images/sles15-vm.qcow2,size=40   --cdrom /data/ISOs/SLES-15-SP7-DVD-x86_64-GM-DVD1.iso   --network bridge=br0,model=virtio   --graphics spice

Regola memoria, numero di CPU, dimensione del disco, percorso ISO, sorgente di rete, firmware e opzioni grafiche in base al tuo carico di lavoro. Se utilizzi una rete NAT libvirt anziché un bridge, sostituisci l'opzione bridge con la rete virtuale appropriata. Verifica i sistemi operativi guest e le opzioni di dispositivo supportati nella documentazione di supporto alla virtualizzazione di SUSE quando il supporto in ambiente di produzione è importante.

Riferimento: SUSE: Installazione guest con virt-install .

Terminale che mostra il comando virt-install che definisce una macchina virtuale SLES 15
Un flusso di lavoro di installazione virtuale definisce il nome della macchina virtuale, la RAM, le vCPU, il disco, il supporto di installazione e la connessione di rete in un unico comando ripetibile.

8. Abilita l'avvio automatico della macchina virtuale

L'avvio automatico delle macchine virtuali è una proprietà di libvirt su ogni guest persistente. La documentazione di SUSE specifica esplicitamente che la funzionalità non è abilitata per impostazione predefinita e deve essere attivata singolarmente; non esiste un singolo interruttore globale che contrassegni tutte le macchine virtuali per l'avvio automatico.

Abilitalo per l'ospite:

sudo virsh autostart sles15-vm

Verifica l'impostazione:

sudo virsh dominfo sles15-vm | grep -i autostart

Per disattivare questo comportamento in seguito:

sudo virsh autostart --disable sles15-vm

In Virtual Machine Manager, il controllo equivalente si trova in Visualizza > Dettagli > Opzioni di avvio della macchina virtuale , dove è possibile abilitare l'opzione "Avvia la macchina virtuale all'avvio dell'host" e applicare la modifica.

Riferimento: SUSE: Gestione di base delle macchine virtuali guest e avvio automatico .

Terminale SLES che mostra l'output di virsh autostart e dominfo per una VM persistente
Dopo aver abilitato l'avvio automatico, il comando virsh dominfo dovrebbe segnalare che la macchina virtuale guest è configurata per avviarsi automaticamente con il servizio di virtualizzazione dell'host.

9. Verifica la configurazione invece di dare per scontato che l'avvio automatico funzioni.

Il test più efficace consiste in un riavvio controllato dell'host durante una finestra di manutenzione. Prima del riavvio, registrare lo stato corrente e verificare che la macchina virtuale sia persistente:

sudo virsh list --all
sudo virsh dominfo sles15-vm

Quindi riavvia l'host. Dopo il riavvio dell'host, verifica lo stato del demone di virtualizzazione e della macchina virtuale:

systemctl is-active virtqemud.service
sudo virsh list --all

Se la tua distribuzione utilizza libvirt monolitico, sostituisci il controllo del servizio con libvirtd. Una VM avviata automaticamente dovrebbe passare a runningsenza un virsh start. Verifica anche il servizio all'interno del guest, non solo lo stato della VM. Una VM in esecuzione potrebbe comunque avere un'applicazione non riuscita, una configurazione di rete mancante o un problema di ripristino del filesystem.

Riferimento alla risoluzione dei problemi

SintomoArea probabile da controllareComando utile
KVM non disponibileVirtualizzazione del firmware disabilitata, CPU non supportata o modulo del kernel mancante.virt-host-validate qemu
La macchina virtuale non riesce a raggiungere la LANAppartenenza al bridge, assegnazione IP host, VLAN, firewall o policy dello switchip linkEbridge link
La definizione della macchina virtuale esiste ma non verrà avviataPercorso del disco, autorizzazioni, pool di archiviazione, XML o risorse esauritevirsh start VMNAMEpiù registri di giornale
La macchina virtuale non si avvia dopo il riavvio dell'host.Il flag di avvio automatico o il demone libvirt non sono abilitati per l'avvio dell'host.virsh dominfo VMNAMEEsystemctl is-enabled virtqemud
Lo spegnimento si comporta come un'interruzione di corrente.Comportamento di spegnimento dell'ACPI guest o del sistema operativo guestvirsh shutdown VMNAME

SUSE avverte che uno spegnimento forzato virsh destroyequivale a interrompere bruscamente l'alimentazione e può causare danneggiamento del filesystem guest o perdita di dati. Testare il comportamento di arresto controllato e riavvio prima di utilizzare una macchina virtuale in produzione.

Linee guida pratiche per un host KVM SLES 15 affidabile

Una base di partenza pulita è semplice: mantieni l'host su un service pack SLES 15 supportato, installa i modelli documentati kvm_server, kvm_toolsusa libvirt in modo coerente, scegli deliberatamente la connettività bridge o di rete virtuale, evita di utilizzare un filesystem root di dimensioni insufficienti per l'archiviazione delle VM e contrassegna con . solo le macchine virtuali che necessitano effettivamente dell'avvio all'avvio virsh autostart.

Per SLES 15 SP7, ricordate un dettaglio sui daemon che è facile trascurare: i daemon libvirt modulari sono l'impostazione predefinita, così come virtqemudil servizio che normalmente si convalida per KVM, anziché presumere che ogni host corrente sia incentrato sul vecchio sistema monolitico libvirtd. Questa distinzione è importante quando si diagnostica una VM correttamente contrassegnata per l'avvio automatico ma che non viene comunque visualizzata dopo un riavvio dell'host.

Lascia un commento

Come giocare a GTA: Vice City su Linux con Steam e Proton

Come giocare a GTA: Vice City su Linux con Steam e Proton

Gioca a GTA: Vice City su Linux usando Steam e Proton. Installa la Definitive Edition, abilita la compatibilità, avviala e risolvi i problemi più comuni di Proton.

Come giocare a The Sims 4 su Linux con Steam e Proton

Come giocare a The Sims 4 su Linux con Steam e Proton

Scopri come giocare a The Sims 4 su Linux tramite Steam Play e Proton, collegare il tuo account EA e risolvere i problemi di avvio più comuni.

Come ridimensionare la partizione home su Linux in modo sicuro

Come ridimensionare la partizione home su Linux in modo sicuro

Scopri come ridimensionare in modo sicuro una partizione /home separata su Linux con GParted Live, incluse informazioni su backup, limiti del filesystem e passaggi per ridurla o espanderla.

Come giocare a VRChat su Linux con Steam e Proton

Come giocare a VRChat su Linux con Steam e Proton

È possibile eseguire VRChat su Linux con Steam e Proton Experimental. Seguite la procedura di configurazione attuale, le note di Steam Deck e le soluzioni per i problemi di avvio e video.

Come giocare a Sea of ​​Thieves su Linux con Steam e Proton

Come giocare a Sea of ​​Thieves su Linux con Steam e Proton

Scopri come avviare Sea of ​​Thieves su Linux tramite Steam e Proton, collegare il tuo account Xbox e risolvere i problemi più comuni di avvio o quelli relativi a Easy Anti-Cheat.

Come formattare un'unità USB in FAT32 su Linux

Come formattare un'unità USB in FAT32 su Linux

Formattare un'unità USB in FAT32 su Linux con GNOME Disks o mkfs.fat, includendo controlli di sicurezza del dispositivo, smontaggio, verifica e limiti di FAT32.

Come installare Google Earth Pro su Linux

Come installare Google Earth Pro su Linux

Installa Google Earth Pro su Linux con i pacchetti ufficiali DEB e RPM a 64 bit, oltre ai comandi per Ubuntu, Debian, Fedora e openSUSE.

Come usare Bash per creare directory in Linux con mkdir

Come usare Bash per creare directory in Linux con mkdir

Impara a creare directory Linux da Bash con mkdir, inclusi percorsi annidati, cartelle multiple, nomi con spazi, permessi, verifica e rimozione sicura.

Come convertire eBook da PDF a EPUB su Linux con Calibre

Come convertire eBook da PDF a EPUB su Linux con Calibre

Convertire un eBook PDF in EPUB su Linux con Calibre: installazione, impostazioni di conversione, passaggi per l'esportazione e limitazioni comuni dei file PDF.

Come giocare a GTA III su Linux con Steam Proton

Come giocare a GTA III su Linux con Steam Proton

Gioca al classico GTA III su Linux con Steam Proton. Installa Steam, abilita la compatibilità, scegli Proton, avvia il gioco e risolvi i problemi di avvio più comuni.