KVM (Kernel-Based Virtual Machine) è un software di virtualizzazione che offre la possibilità di eseguire più macchine virtuali (guest) con l'aiuto di estensioni di virtualizzazione hardware. Supporta un'ampia varietà di sistemi operativi guest come Linux, Windows, Solaris e molti altri.
Le macchine virtuali possono essere create o gestite utilizzando strumenti a riga di comando (virsh, virt-install e guestfish) o strumenti grafici disponibili (console Web Cockpit).
Qui vedremo come installare KVM su CentOS 8 / RHEL 8 e impareremo come creare macchine virtuali.
Prerequisiti
Controlla il supporto VT
Come detto in precedenza, puoi eseguire macchine virtuali solo se la CPU ha il supporto della virtualizzazione hardware, sia Intel VT o AMD-V.
Per scoprire se la tua CPU supporta le funzionalità VT, esegui il comando seguente.
egrep '(vmx|svm)' /proc/cpuinfo | wc -l
Se il comando precedente restituisce un valore diverso da zero, il tuo hardware ha VT abilitato, altrimenti no.
Bridge di rete
Crea un bridge di rete sul tuo sistema per consentire alle macchine virtuali di comunicare con le reti esterne.
Qui creeremo un bridge virtuale chiamato br0. Per fare ciò, prima crea un file di configurazione della rete bridge.
vi /etc/sysconfig/network-scripts/ifcfg-br0
Aggiorna il file di configurazione con l'indirizzo IP e altre informazioni di rete. Questo bridge sarà la mia connessione di rete principale.
DEVICE="br0"
BOOTPROTO="static"
IPADDR="192.168.0.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.0.1"
DNS1="192.168.0.1"
ONBOOT="yes"
TYPE="Bridge"
Modifica il file di configurazione della tua interfaccia di rete per utilizzare il bridge br0.
vi /etc/sysconfig/network-scripts/ifcfg-ens33
Aggiorna la configurazione con le seguenti informazioni.
DEVICE="ens33"
TYPE="Ethernet"
BOOTPROTO="none"
ONBOOT="yes"
BRIDGE="br0"
Ricaricare il profilo di connessione e riavviare NetworkManager.
nmcli connection reload
systemctl restart NetworkManager
Convalida la configurazione di rete utilizzando il comando ifconfig.
ifconfig
Risultato:
Installa KVM
Installa il modulo di virtualizzazione. Questo modulo installerà tutti i pacchetti necessari affinché il sistema supporti la virtualizzazione.
dnf module install -y virt
Installa i pacchetti virt-install e virt-viewer.
dnf install -y virt-install virt-viewer
virt-install – Strumento da riga di comando per creare macchine virtuali.
virt-viewer – Console grafica
Esegui il comando seguente per verificare se l'host è pronto per eseguire macchine virtuali.
virt-host-validate
Output: QEMU: Checking for hardware virtualization : PASS QEMU: Checking if device /dev/kvm exists : PASS QEMU: Checking if device /dev/kvm is accessible : PASS QEMU: Checking if device /dev/vhost-net exists : PASS QEMU: Checking if device /dev/net/tun exists : PASS QEMU: Checking for cgroup 'cpu' controller support : PASS QEMU: Checking for cgroup 'cpuacct' controller support : PASS QEMU: Checking for cgroup 'cpuset' controller support : PASS QEMU: Checking for cgroup 'memory' controller support : PASS QEMU: Checking for cgroup 'devices' controller support : PASS QEMU: Checking for cgroup 'blkio' controller support : PASS QEMU: Checking for device assignment IOMMU support : WARN (No ACPI IVRS table found, IOMMU either disabled in BIOS or not supported by this hardware platform)Se ottieni QEMU:Verifica della virtualizzazione dell'hardware:FAIL (sono disponibili solo CPU emulate, le prestazioni saranno notevolmente limitate), la tua macchina non può eseguire macchine virtuali.
Crea e gestisci macchine virtuali
Se la convalida dell'host è buona, possiamo creare macchine virtuali utilizzando la riga di comando o l'interfaccia grafica.
Modalità riga di comando
Il comando virt-install viene utilizzato per creare macchine virtuali. Il comando necessita di alcuni argomenti obbligatori per creare una macchina virtuale come nome VM, CPU, memoria, disco, rete, posizione del supporto di installazione, variante del sistema operativo e altro.
virt-install --name=itzgeekguest --ram=1024 --vcpus=1 --os-type=linux --os-variant=rhel6.0 --cdrom=/tmp/CentOS-6.10-x86_64-minimal.iso --network bridge=br0 --graphics vnc,port=5901,listen=0.0.0.0 --disk path=/var/lib/libvirt/images/itzgeekguest.qcow2,size=10
Argomenti | Scopo |
---|---|
--nome | Nome della macchina virtuale |
--ariete | Dimensioni della memoria in MB |
--vcpus | CPU virtuali in numeri |
--os-type | Tipi di SO come Linux, Windows, ecc. |
--os-variante | Variante del sistema operativo come RHEL 6, Solaris |
--cdrom | Posizione dell'immagine ISO |
--rete | Rete con Opzioni |
--grafica | Console ospite (VNC con numero di porta) |
--percorso-disco | Posizione del disco (qcow2) con una dimensione |
Dopo aver eseguito il comando precedente, creerà una macchina virtuale e avvierà la sessione del visualizzatore VNC per la console grafica.
Il comando virt-install non verrà chiuso a meno che l'installazione del sistema operativo non venga completata. Quindi, apri un nuovo terminale e continua.Consenti le connessioni VNC nel firewall.
firewall-cmd --permanent --add-port=5901/tcp
firewall-cmd --reload
Apri un visualizzatore VNC e accedi alla console VM.
Pochi comandi importanti per gestire le macchine virtuali.
Elenca tutte le macchine virtuali:
virsh list --all
Avvia una macchina virtuale:
virsh shutdown <vmname>
Spegnimento corretto di una macchina virtuale:
virsh shutdown <vmname>
Riavvia una macchina virtuale:
virsh reset <vmname>
Forza l'arresto di una macchina virtuale:
virsh destroy <vmname>
Elimina una macchina virtuale insieme ai suoi volumi di archiviazione:
virsh undefine <vmname> --remove-all-storage
Modalità grafica
CentOS 8 / RHEL 8 viene fornito con Cockpit, un'interfaccia basata sul Web per la gestione di sistemi Linux locali e remoti.
LEGGI: Come installare Cockpit su CentOS 8 / RHEL 8
Il Cockpit fornisce componenti aggiuntivi aggiuntivi per gestire le macchine virtuali dalla sua console.
dnf install -y cockpit-machines
Dopo l'installazione, riavvia il servizio Cockpit.
systemctl restart cockpit.socket
Accedi al Cockpit e vai alla pagina Macchine virtuali. Dovresti vedere tutte le tue macchine virtuali esistenti.
Se non disponi di macchine virtuali, vai avanti e crea una nuova VM facendo clic su Crea VM. Compila il modulo Crea nuova macchina virtuale e fai clic su Crea.
Tra pochi secondi dovresti vedere la macchina virtuale appena creata.
Fai clic sulla VM e vai alla scheda Console. Vedrai la schermata di installazione di CentOS 6.
Puoi eseguire le azioni del ciclo di alimentazione della macchina virtuale come avviare, spegnere, riavviare, mettere in pausa la macchina virtuale selezionata.
Puoi gestire la macchina virtuale andando nella scheda Dischi e Reti. Lì puoi aggiungere, modificare e rimuovere dispositivi disco/di rete.
Dischi:
Reti:
Conclusione
È tutto. Spero che tu abbia imparato come installare KVM su CentOS 8 / RHEL 8 e creare macchine virtuali.