Ricerca nel sito web

Come installare KVM su CentOS/RHEL 8


La macchina virtuale basata sul kernel (KVM in breve) è una soluzione di virtualizzazione open source e standard di fatto strettamente integrata in Linux. È un modulo del kernel caricabile che trasforma Linux in un hypervisor di tipo 1 (bare metal) che crea una piattaforma operativa virtuale utilizzata per eseguire macchine virtuali (VM).

In KVM, ogni VM è un processo Linux pianificato e gestito dal kernel e dispone di hardware virtualizzato privato (ad esempio CPU, scheda di rete, disco, ecc.). Supporta anche la virtualizzazione nidificata, che consente di eseguire una VM all'interno di un'altra VM.

Alcune delle sue caratteristiche principali includono il supporto per un'ampia gamma di piattaforme hardware supportate da Linux (hardware x86 con estensioni di virtualizzazione (Intel VT o AMD-V)), fornisce sicurezza e isolamento migliorati delle VM utilizzando sia SELinux e virtualizzazione sicura (sVirt), eredita le funzionalità di gestione della memoria del kernel e supporta la migrazione sia offline che in tempo reale (migrazione di una VM in esecuzione tra host fisici).

In questo articolo imparerai come installare la virtualizzazione KVM, creare e gestire macchine virtuali in CentOS 8 e RHEL 8 Linux.

Prerequisiti

  1. Una nuova installazione del server CentOS 8
  2. Una nuova installazione del server RHEL 8
  3. Un abbonamento RedHat abilitato sul server RHEL 8

Inoltre, assicurati che la tua piattaforma hardware supporti la virtualizzazione eseguendo il comando seguente.

grep -e 'vmx' /proc/cpuinfo		#Intel systems
grep -e 'svm' /proc/cpuinfo		#AMD systems

Inoltre, conferma che i moduli KVM siano caricati nel kernel (dovrebbero esserlo per impostazione predefinita).

lsmod | grep kvm

Ecco un esempio di output sul sistema di test basato su Intel:

In una precedente serie di guide KVM, abbiamo mostrato come creare macchine virtuali in Linux utilizzando KVM (Kernel-based Virtual Machine) in cui abbiamo dimostrato come creare e gestire VM utilizzando lo strumento GUI virt-manager (che è ora deprecato secondo la documentazione RHEL 8). Per questa guida adotteremo un approccio diverso, utilizzeremo la console web Cockpit.

Passaggio 1: configurare la console Web Cockpit su CentOS 8

1. Il cockpit è un'interfaccia basata sul web facile da usare, integrata ed estendibile per amministrare un server Linux in un browser web. Ti consente di eseguire attività di sistema come la configurazione di reti, l'amministrazione dell'archiviazione, la creazione di macchine virtuali e l'ispezione dei registri con il mouse. Utilizza i normali accessi e privilegi utente del tuo sistema, ma sono supportati anche altri metodi di autenticazione.

Viene preinstallato e abilitato sui sistemi CentOS 8 e RHEL 8 appena installati, se non lo hai installato, installalo utilizzando il seguente comando dnf. Per gestire le VM basate su Libvirt è necessario installare l'estensionecockpit-machines.

dnf install cockpit cockpit-machines

2. Una volta completata l'installazione del pacchetto, avvia il socket del Cockpit, abilitalo all'avvio automatico all'avvio del sistema e controlla il suo stato per confermare che sia attivo e funzionante.

systemctl start cockpit.socket
systemctl enable cockpit.socket
systemctl status cockpit.socket

3. Successivamente, aggiungi il servizio cockpit nel firewall di sistema che è abilitato per impostazione predefinita, utilizzando il comando firewall-cmd e ricarica la configurazione del firewall per applicare le nuove modifiche.

firewall-cmd --add-service=cockpit --permanent
firewall-cmd --reload

4. Per accedere alla console web del Cockpit, apri un browser web e utilizza il seguente URL per navigare.

https://FQDN:9090/
OR
https://SERVER_IP:9090/

Il cockpit utilizza un certificato autofirmato per abilitare HTTPS, procedi semplicemente con la connessione quando ricevi un avviso dal browser. Nella pagina di accesso, utilizza le credenziali dell'account utente del server.

Passaggio 2: installazione della virtualizzazione KVM CentOS 8

5. Successivamente, installa il modulo di virtualizzazione e altri pacchetti di virtualizzazione come segue. Il pacchetto virt-install fornisce uno strumento per l'installazione di macchine virtuali dall'interfaccia della riga di comando e un virt-viewer viene utilizzato per visualizzare le macchine virtuali.

dnf module install virt 
dnf install virt-install virt-viewer

6. Successivamente, esegui il comando virt-host-validate per verificare se il computer host è configurato per eseguire i driver dell'hypervisor libvirt.

virt-host-validate

7. Successivamente, avvia il demone libvirtd (libvirtd) e abilitalo all'avvio automatico ad ogni avvio. Quindi controlla il suo stato per confermare che è attivo e funzionante.


systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service

Passaggio 3: configurare il bridge di rete (switch di rete virtuale) tramite Cockpit

8. Ora crea un bridge di rete (switch di rete virtuale) per integrare le macchine virtuali nella stessa rete dell'host. Per impostazione predefinita, una volta avviato il demone libvirtd, attiva l'interfaccia di rete predefinita virbr0 che rappresenta lo switch di rete virtuale che funziona in modalità NAT.

Per questa guida creeremo un'interfaccia di rete in modalità bridge chiamata br0. Ciò consentirà alle macchine virtuali di essere accessibili sulle reti host.

Dall'interfaccia principale del Cockpit, fai clic su Rete, quindi fai clic su Aggiungi Bridge come indicato nello screenshot seguente.

9. Dalla finestra pop-up, inserisci il nome del bridge e seleziona gli slave del bridge o i dispositivi della porta (ad esempio enp2s0 che rappresenta l'interfaccia Ethernet) come mostrato nello screenshot seguente. Quindi fai clic su Applica.

10. Ora, quando guardi l'elenco delle Interfacce, il nuovo bridge dovrebbe apparire lì e dopo alcuni secondi, l'interfaccia Ethernet dovrebbe essere disabilitata (rimossa).

Passaggio 4: creazione e gestione di macchine virtuali tramite Cockpit Web Console

11. Dall'interfaccia principale del cockpit, fai clic sull'opzione Macchine virtuali come evidenziato nello screenshot seguente. Dalla pagina Macchine virtuali, fai clic su Crea VM.

12. Verrà visualizzata una finestra con le opzioni per creare una nuova VM. Inserisci la connessione, il nome (ad esempio ubuntu18.04), il tipo di origine dell'installazione (sul sistema di test, abbiamo archiviato le immagini ISO nel pool di archiviazione, ovvero /var/lib/libvirt/ images/), Origine installazione, Archiviazione, Dimensioni, Memoria come mostrato nell'immagine seguente. Il fornitore del sistema operativo e il sistema operativo dovrebbero essere selezionati automaticamente dopo aver inserito l'origine dell'installazione.

Seleziona anche l'opzione per avviare immediatamente la VM, quindi fai clic su Crea.

13. Dopo aver fatto clic su Crea dal passaggio precedente, la VM dovrebbe essere avviata automaticamente e dovrebbe avviarsi utilizzando l'immagine ISO fornita. Procedi con l'installazione del sistema operativo guest (Ubuntu 18.04 nel nostro caso).

Se fai clic su Interfacce di rete della VM, l'origine della rete dovrebbe indicare l'interfaccia di rete bridge appena creata.

E durante l'installazione, nella fase di configurazione di un'interfaccia di rete, dovresti essere in grado di notare che l'interfaccia VMs Ethernet riceve un indirizzo IP dal server DHCP dell'host rete.

Tieni presente che devi installare il pacchetto OpenSSH per accedere al sistema operativo guest tramite SSH da qualsiasi computer sulla rete host, come descritto nell'ultima sezione.

14. Una volta completata l'installazione del sistema operativo guest, riavviare la VM, quindi andare su Dischi e scollegare/rimuovere il dispositivo cdrom sotto i dischi delle VM . Quindi fare clic su Esegui per avviare la VM.

15. Ora in Console puoi accedere al sistema operativo guest utilizzando un account utente creato durante l'installazione del sistema operativo.

Passaggio 5: accesso al sistema operativo guest di una macchina virtuale tramite SSH

16. Per accedere al sistema operativo guest appena installato dalla rete host tramite SSH, esegui il seguente comando (sostituisci 10.42.0.197 con l'indirizzo IP del tuo ospite).

ssh [email 

17. Per spegnere, riavviare o eliminare una VM, fare clic su di essa dall'elenco delle VM, quindi utilizzare i pulsanti evidenziati nello screenshot seguente.

È tutto per ora! In questa guida abbiamo mostrato come installare i pacchetti di virtualizzazione KVM e creare e gestire le VM tramite la console web del Cockpit. Per ulteriori dettagli, vedere: Introduzione alla virtualizzazione in RHEL 8.