Come installare KVM/QEMU su CentOS 8

Come installare KVM/QEMU su CentOS 8
La forma completa di KVM è la macchina virtuale del kernel. È una soluzione di virtualizzazione per Linux. KVM è un modulo Kernel Linux che consente al kernel Linux di fungere da programma Hypervisor come VMware ESXI o VSPhere.

In questo articolo, ti mostrerò come installare KVM su CentOS 8 e creare una semplice macchina virtuale KVM con esso. Quindi iniziamo.

Abilitazione della virtualizzazione hardware:

È necessario abilitare l'estensione della virtualizzazione dell'hardware dal BIOS del computer affinché KVM funzioni. Per i processori Intel, è necessario abilitare la funzione del processore VT-X o VT-D dal BIOS. Per i processori AMD, è necessario abilitare la funzione del processore AMD-V dal BIOS.

Una volta che si è abilitata la virtualizzazione hardware nel BIOS, eseguire il comando seguente per verificare se l'estensione VT-X/VT-D o AMD-V è abilitata.

$ grep--color -perl-regexp 'vmx | svm' /proc /cpuinfo

Dovresti avere un SVM O VMX Flag disponibile nell'output se si dispone di virtualizzazione hardware abilitata nel BIOS.

Sto usando un processore AMD. Così il SVM La bandiera è disponibile nel mio caso. Se stai usando un processore Intel, allora lo sarà VMX.

Aggiornamento del sistema:

Prima di installare KVM, è necessario aggiornare tutti i pacchetti software esistenti della macchina CentOS 8.

Innanzitutto, aggiorna la cache del repository del pacchetto DNF della macchina CentOS 8 con il seguente comando:

$ sudo dnf makecache

La cache del repository del pacchetto DNF deve essere aggiornata.

Aggiorna tutti i pacchetti software esistenti della macchina CentOS 8 con il seguente comando:

$ sudo dnf aggiornamento

Per confermare l'aggiornamento, premere Y e poi premere .

Il pacchetto DNF deve scaricare tutti i pacchetti richiesti da Internet.

Una volta completato il download del pacchetto, dovrebbe installare tutti i pacchetti scaricati. Potrebbe volerci un po 'di tempo per completare.

A questo punto, il tuo sistema CentOS 8 dovrebbe essere aggiornato.

Per avere effetto le modifiche, riavviare la macchina CentOS 8 con il seguente comando:

$ sudo riavvia

Impostazione di Selinux in modalità permissiva:

La configurazione di Selinux per KVM è fuori dall'ambito di questo articolo. Se lasci Selinux applicare Modalità (impostazione predefinita), otterrai errori negati dell'autorizzazione durante la creazione di macchine virtuali KVM. Se non hai esperienza con Selinux, dovresti impostarlo permissivo modalità. Altrimenti, non sarai in grado di creare macchine virtuali KVM.

Per impostare Selinux su permissivo modalità, aprire il /etc/selinux/config file con un editor di testo (i.e. nano) con il seguente comando:

$ sudo nano/etc/selinux/config

Cambiare la linea Selinux = applicazione A Selinux = permissive come contrassegnato nello screenshot seguente.

Una volta che hai finito, premere + X seguito da Y E Per salvare il file di configurazione.

Per avere effetto le modifiche, riavviare il computer con il seguente comando:

$ sudo riavvia

Installazione di KVM:

È possibile installare facilmente tutti i pacchetti richiesti per la virtualizzazione KVM su CentOS 8 semplicemente installando il Host di virtualizzazione gruppo di pacchetti.

Puoi installare il Host di virtualizzazione Gruppo di pacchetti sulla macchina CentOS 8 con il seguente comando:

$ sudo dnf groupinstall "host di virtualizzazione"

Per confermare l'installazione, premere Y e poi premere .

Il pacchetto DNF deve scaricare tutti i pacchetti richiesti da Internet.

Una volta completato il download del pacchetto, dovrebbe installare tutti i pacchetti scaricati. Potrebbe volerci un po 'di tempo per completare.

A questo punto, KVM dovrebbe essere installato.

Ora, controlla se il libvirtd Il servizio è in esecuzione con il seguente comando:

$ sudo systemctl status libvirtd

Come puoi vedere, il libvirtd Il servizio è attivo/corsa. libvirtd Il servizio è molto importante. Se non è in esecuzione, non sarai in grado di amministrare KVM.

Se la libvirtd Il servizio non è in esecuzione nel tuo caso, puoi avviarlo con il seguente comando:

$ sudo systemctl inizia libvirtd

Controlla se è possibile eseguire il comando di gestione KVM virsh come segue:

$ sudo virsh -version

Il comando dovrebbe stampare le informazioni sulla versione come puoi vedere nello screenshot seguente.

Installazione di virt-install:

virt-install è uno strumento di riga di comando per creare facilmente macchine virtuali KVM. virt-install è basato su libvirt. Quindi, le macchine virtuali create utilizzando virt-install può anche essere gestito con virsh E virt-manager.

Puoi installare virt-install con il seguente comando:

$ sudo dnf Installa virt-install

Per confermare l'installazione, premere Y e poi premere .

virt-install dovrebbe essere installato.

Impostazione delle directory KVM richieste:

Penso che sia una buona idea mantenere organizzati tutti i dati della macchina virtuale. Di solito tengo tutti i dati della macchina virtuale KVM /kvm/ directory. Nel /kvm/ Directory, creo 2 sottodirectory disco/ E iso/. Nel disco/ Sottirectory, mantengo tutti i file del disco rigido della macchina virtuale (VM). Nel iso/ sottodirectory, mantengo le immagini di installazione ISO di diversi sistemi operativi (i.e. Ubuntu, Debian, Centos, ecc.).

È possibile creare le stesse strutture di directory con il seguente comando:

$ sudo mkdir -pv /kvm /disco, iso

Creazione di una macchina virtuale KVM:

In questa sezione, ti mostrerò come creare un desktop Ubuntu 20.04 LTS KVM Virtual Machine.

Innanzitutto, devi scaricare Ubuntu Desktop 20.04 LTS ISO IMPOSTAZIONE IMMAGINE. Per mantenere organizzati tutti i file/dati della macchina virtuale, è una buona idea archiviare l'immagine ISO nel /kvm/iso/ directory.

Quindi, naviga su /kvm/iso/ Directory con il seguente comando:

$ CD /KVM /ISO

Puoi scaricare Ubuntu Desktop 20.04 LTS ISO Immagine dal sito Web ufficiale di Ubuntu con il seguente comando:

$ sudo wget https: // rilascia.Ubuntu.com/20.04/Ubuntu-20.04.1-Desktop-AMD64.iso

Wget dovrebbe iniziare a scaricare Ubuntu Desktop 20.04 LTS ISO Immagine. Ci vorrà un po 'di tempo per completare.

A questo punto, il desktop Ubuntu 20.04 LTS ISO L'immagine deve essere scaricata.

Il desktop Ubuntu 20.04 LTS ISO L'immagine è disponibile in /kvm/iso/ directory come puoi vedere nello screenshot qui sotto.

Una volta il desktop Ubuntu 20.04 LTS IME IMMAGINE Viene scaricato, è possibile creare una macchina virtuale KVM con il seguente comando:

$ sudo virt-install --name udesktop20_04-01 \
--Linux di tipo OS \
--OS-Variante Ubuntu19.10 \
--RAM 4096 \
--disco/kvm/disco/udesktop20_04-01.img, dispositivo = disco, bus = virtio, size = 20, format = qcow2 \
--Grafica vnc, ascolta = 0.0.0.0 \
--noautoconsole \
--hvm \
--cdrom/kvm/iso/ubuntu-20.04.1-Desktop-AMD64.iso \
--Boot CDROM, HD

Qui, il nome della macchina virtuale sarà udesktop20_04-01.

Il sistema operativo che installeremo è Linux.

La variante del sistema operativo è Ubuntu19.10. Il database del sistema operativo di CentOS 8 non ha una voce per Ubuntu 20.04 LTS al momento di questa scrittura. Quindi, ho usato le informazioni per Ubuntu 19.10.

I valori del tipo di sistema operativo e del sistema operativo non sono casuali. Puoi trovare il tipo di sistema operativo e la variante del sistema operativo per la distribuzione Linux desiderata con il Osinfo-Query comando. Come puoi vedere, nessuna voce per Ubuntu 20.04 LTS è disponibile. Ma una voce per Ubuntu 19.10 è disponibile. Il tipo di sistema operativo di Ubuntu 19.10 è Linux E la variante del sistema operativo è Ubuntu19.10.

$ Osinfo-Quiery OS-Fields = Name, Short-ID, Famiglia | grep -i ubuntu

La RAM (memoria di accesso casuale) della VM sarà 4096 MB (megabyte) o 4 GB (gigabyte).

Il disco virtuale della VM verrà salvato nel /kvm/disco/udesktop20.04-01.img file. Il disco virtuale parla 20 GB di dimensioni e il formato è QCOW2 (QEMU Copy-on-Write V2)

La macchina virtuale sarà accessibile tramite protocollo desktop remoto VNC (Virtual Network Computing) e il server VNC ascolterà su tutte le interfacce di rete disponibili configurate sull'host CentOS 8 kVm.

L'host CentOS 8 KVM non proverà automaticamente a connettersi alla macchina virtuale una volta creata la macchina virtuale. La macchina virtuale continuerà a funzionare in background.

Usa la virtualizzazione completa per la macchina virtuale. Questo farà funzionare le macchine virtuali.

Usa il desktop Ubuntu 20.04 LTS ISO Immagine Abbiamo appena scaricato come ROM CD/DVD virtuale della macchina virtuale. Utilizzato per l'installazione di Ubuntu Desktop 20.04 LTS sulla macchina virtuale.

Imposta l'ordine di avvio della macchina virtuale. La prima voce di avvio è la ROM CD/DVD virtuale e quindi il disco rigido virtuale. Quindi, la macchina virtuale sarà in grado di avviare dal desktop Ubuntu 20.04 LTS ISO Immagine e installa il desktop Ubuntu 20.04 LTS sul disco rigido.

Sono tutte le opzioni necessarie per creare una macchina virtuale KVM.

Una volta eseguito il virt-install Comando, KVM dovrebbe iniziare a creare la macchina virtuale. Potrebbe volerci un po 'di tempo a seconda della configurazione della macchina virtuale.

A questo punto, la macchina virtuale KVM dovrebbe essere creata.

Elenco macchine virtuali KVM:

Una volta creata la macchina virtuale KVM, è possibile elencarla con il seguente comando:

$ virsh list -Tutto

Il comando dovrebbe mostrarti tutte le macchine virtuali KVM che hai. In questo momento, ho solo 1 macchina virtuale udesktop20_04-01. Questo è quello che ho appena creato. Come puoi vedere, la macchina virtuale udesktop20_04-01 È corsa. Dovresti essere in grado di connetterti ad esso utilizzando qualsiasi client VNC.

Configurazione del firewall per l'accesso remoto alle macchine virtuali KVM:

Per accedere alla macchina virtuale KVM in remoto, è necessario consentire l'accesso al firewall alla porta VNC della macchina virtuale.

Per trovare la porta VNC della macchina virtuale KVM udesktop20_04-01, Esegui il seguente comando:

$ virsh vncdisplay udesktop20_04-01

Come puoi vedere, il numero di porta VNC del udesktop20_04-01 La macchina virtuale è 0.

Qui, porto 0 significa porto 5900. Allo stesso modo, porto 1 significa porto 5901 e così via.

Come puoi vedere, la macchina virtuale KVM udesktop20_04-01 è in esecuzione sulla porta 5900 (: 0).

$ sudo netstat -tln

Per consentire l'accesso alla porta 5900, Esegui il seguente comando:

$ sudo firewall-cmd --add-port = 5900/tcp --permanent

Per avere effetto le modifiche al firewall, eseguire il comando seguente:

$ sudo firewall-cmd--ricarichi

Connessione a distanza alle macchine virtuali KVM con client VNC:

Per connettersi alla macchina virtuale tramite VNC, è necessario conoscere l'indirizzo IP dell'host CentOS 8 KVM.

Puoi trovare l'indirizzo IP del tuo host CentOS da 8 kvm con il seguente comando:

$ ip a

Nel mio caso, l'indirizzo IP è 192.168.0.103. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo da ora in poi.

Apri qualsiasi client VNC e connettiti all'indirizzo 192.168.0.103: 0.

Clicca su Continua.

Clicca su Continua.

Dovresti essere connesso al display del udesktop20_04-01 Macchina virtuale KVM come puoi vedere nello screenshot seguente.

Ora puoi installare il tuo sistema operativo desiderato sulla macchina virtuale.

Nel mio caso, installerò il desktop Ubuntu 20.04 LTS Sistema operativo sulla macchina virtuale.

Ubuntu Desktop 20.04 LTS viene installato sulla macchina virtuale KVM. Potrebbe volerci un po 'di tempo per completare.

Una volta completata l'installazione, fare clic su Riavvia ora.

Premere .

La connessione VNC dovrebbe essere chiusa.

La macchina virtuale deve essere spezzata automaticamente una volta completata l'installazione del sistema operativo come si può vedere nello screenshot seguente.

$ SUDO VIRSH ELENCO -Tutti

Iniziare il udesktop20_04-01 KVM Virtual Machine con il seguente comando:

$ virsh inizia udesktop20_04-01

La macchina virtuale udesktop20_04-01 dovrebbe essere iniziato.

Ora puoi connetterti a udesktop20_04-01 macchina virtuale da un client VNC come prima. Come puoi vedere, il desktop Ubuntu 20.04 LTS funziona bene nella macchina virtuale KVM.

Rimozione di macchine virtuali KVM:

Puoi anche rimuovere una macchina virtuale KVM molto facilmente con il virsh Strumento di comando.

Come puoi vedere, ho macchine virtuali da 2 kVm (udesktop20_04-01 E udesktop20_04-02) in esecuzione sul mio host CentOS 8 KVM. Rimuoviamo udesktop20_04-02 Macchina virtuale KVM.

$ virsh list -Tutto

Come puoi vedere, il udesktop20_04-02 KVM Virtual Machine è corsa. Devi fermarlo prima di rimuoverlo.

$ virsh list -Tutto

Per forzare fermare il udesktop20_04-02 KVM Virtual Machine, eseguire il seguente comando:

$ virsh distruggere udesktop20_04-02

Come puoi vedere, il udesktop20_04-02 La macchina virtuale è spente.

$ virsh list -Tutto

Puoi rimuovere permanentemente il udesktop20_04-02 macchina virtuale e tutti i suoi dischi rigidi virtuali allegati con il seguente comando:

$ virsh undefine--remove-tutti-stoccaggio Udesktop20_04-02

Come puoi vedere, il udesktop20_04-02 La macchina virtuale non è più disponibile.

$ virsh list -Tutto

Numero 1: Fissaggio di CPU-> KVM_MSR_BUF-> Errore di asserzione NMSRS

Durante la creazione di una macchina virtuale KVM sull'host CentOS 8 KVM, è possibile vedere il seguente messaggio di errore. È un bug del kernel. Di solito, questo accade quando si esegue KVM all'interno di un'altra macchina virtuale. Sto eseguendo KVM all'interno di una macchina virtuale VMware. Questo è il motivo per cui ho ricevuto questo errore, credo. È facile da risolvere.

Apri il file di configurazione /etc/modprobe.d/kvm.conf con il seguente comando:

$ sudo nano /etc /modprobe.d/kvm.conf

IL /etc/modprobe.d/kvm.conf Il file dovrebbe essere aperto. Devi abilitare l'opzione specifica del processore per la virtualizzazione nidificata KVM da qui.

Se stai utilizzando un processore Intel, rimborsare la linea contrassegnata nello screenshot seguente.

Se stai utilizzando un processore AMD, rimborsare la linea contrassegnata nello screenshot seguente.

Quindi, aggiungi la linea opzioni kvm ignore_msrs = 1 Alla fine del file come mostrato nello screenshot seguente.

Una volta che hai finito, premere + X seguito da Y E per salvare il /etc/modprobe.d/kvm.conf file.

Quindi, riavvia il tuo host CentOS 8 KVM con il seguente comando per le modifiche per avere effetto.

$ sudo riavvia

Il tuo problema dovrebbe essere risolto.

Problema n. 2: correzione dell'errore del protocollo RFB del client VNC:

Quando si connette alla macchina virtuale KVM utilizzando un client VNC, è possibile visualizzare il seguente messaggio di errore. Questo messaggio di errore viene visualizzato quando viene impostata la qualità dell'immagine del client VNC Automatico. È facile da risolvere.

Clicca sul Proprietà icona del tuo client VNC.

Come puoi vedere, il Qualità dell'immagine è impostato per Automatico.

Per risolvere questo problema, selezionare entrambi Basso, medio, O Alto dal Qualità dell'immagine menu a discesa.

Una volta che hai finito, fai clic su OK.

Il tuo problema dovrebbe essere risolto.

Conclusione:

In questo articolo, ti ho mostrato come installare KVM su CentOS 8 e creare macchine virtuali KVM dalla riga di comando. Ti ho anche mostrato come rimuovere le macchine e le soluzioni virtuali KVM ad alcuni problemi di KVM comuni. Questo dovrebbe aiutarti a iniziare con la virtualizzazione di Linux KVM.