Ricerca nel sito web

Come creare macchine virtuali in Linux utilizzando KVM (macchina virtuale basata sul kernel) - Parte 1


Questo tutorial illustra l'introduzione e l'implementazione di KVM e come utilizzarlo per creare macchine virtuali con distribuzioni basate su RedHat come RHEL/CentOS7 e Fedora 21 .

Cos'è il KVM?

KVM o (Kernel-based Virtual Machine) è una soluzione di virtualizzazione completa per Linux su hardware Intel 64 e AMD 64 inclusa nel kernel Linux principale dalla versione 2.6.20 ed è stabile e veloce per la maggior parte dei carichi di lavoro.

Caratteristiche KVM

Ci sono molte funzionalità e vantaggi utili che otterrai quando utilizzi KVM per distribuire la tua piattaforma virtuale. L'hypervisor KVM supporta le seguenti funzionalità:

  1. Commit eccessivo: significa allocare più CPU o memoria virtualizzate rispetto alle risorse disponibili nel sistema.
  2. Thin provisioning: che consente l'allocazione di spazio di archiviazione flessibile e ottimizza lo spazio disponibile per ogni macchina virtuale ospite.
  3. Limitazione I/O del disco: offre la possibilità di impostare un limite alle richieste di I/O del disco inviate dalle macchine virtuali alla macchina host.
  4. Bilanciamento NUMA automatico: migliora le prestazioni delle applicazioni in esecuzione su sistemi hardware NUMA.
  5. Funzionalità di aggiunta a caldo della CPU virtuale: offre la possibilità di aumentare la potenza di elaborazione secondo necessità sulle macchine virtuali in esecuzione, senza tempi di inattività.

Questa è la nostra prima serie KVM (Kernel-based Virtual Machine), qui tratteremo i seguenti articoli in modo parziale.

Prerequisiti

Assicurati che il tuo sistema disponga delle estensioni di virtualizzazione dell'hardware: per gli host basati su Intel, verifica che l'estensione di virtualizzazione della CPU [vmx] sia disponibile utilizzando il seguente comando.

[root@server ~]# grep -e 'vmx' /proc/cpuinfo

Per gli host basati su AMD, verificare che l'estensione di virtualizzazione della CPU [svm] sia disponibile.

[root@server ~]# grep -e 'svm' /proc/cpuinfo

Se non viene visualizzato alcun output, assicurati che le estensioni di virtualizzazione siano abilitate nel BIOS. Verificare che i moduli KVM siano caricati nel kernel “dovrebbe essere caricato per impostazione predefinita”.

[root@server ~]# lsmod | grep kvm

L'output dovrebbe contenere kvm_intel per host basati su Intel o kvm_amd per host basati su AMD.

Prima di iniziare, avrai bisogno dell'account root o dell'utente non root con privilegi sudo configurati sul tuo sistema e inoltre assicurati che il tuo sistema sia aggiornato.

[root@server ~]# yum update

Assicurati che Selinux sia in modalità Permissiva.

[root@server ~]# setenforce 0

Passaggio 1: installazione e distribuzione KVM

1. Inizialmente installeremo i pacchetti qemu-kvm e qemu-img. Questi pacchetti forniscono KVM a livello utente e gestore di immagini disco.

[root@server ~]# yum install qemu-kvm qemu-img

2. Ora hai il requisito minimo per distribuire la piattaforma virtuale sul tuo host, ma disponiamo anche di strumenti utili per amministrare la nostra piattaforma come:

  1. virt-manager fornisce uno strumento GUI per amministrare le tue macchine virtuali.
  2. libvirt-client fornisce uno strumento CL per amministrare il tuo ambiente virtuale, questo strumento chiamato virsh.
  3. virt-install fornisce il comando "virt-install" per creare le macchine virtuali dalla CLI.
  4. libvirt fornisce le librerie lato server e host per interagire con hypervisor e sistemi host.

Installiamo questi strumenti sopra usando il seguente comando.

[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client 

3. Per gli utenti RHEL/CentOS7, sono ancora disponibili gruppi di pacchetti aggiuntivi come: client di virtualizzazione, piattaforma di virtualizzazione e strumenti di virtualizzazione da installare.

[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools	

4. Il demone di virtualizzazione che gestisce tutta la piattaforma è “libvirtd”. riavviamolo.

[root@server ~]#systemctl restart libvirtd

5. Dopo aver riavviato il demone, controlla il suo stato eseguendo il comando seguente.

[root@server ~]#systemctl status libvirtd  
Uscita del campione
libvirtd.service - Virtualization daemon 
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) 
   Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago 
 Main PID: 25701 (libvirtd) 

Ora passiamo alla sezione successiva per creare le nostre macchine virtuali.

Passaggio 2: crea VM utilizzando KVM

Come accennato in precedenza, disponiamo di alcuni strumenti utili per gestire la nostra piattaforma virtuale e creare macchine virtuali. Uno di questi strumenti chiamato [virt-manager] che utilizzeremo nella sezione successiva.

6. Sebbene virt-manager sia uno strumento basato sulla GUI, possiamo anche avviarlo/avviarlo dal terminale oltre che dalla GUI.

[root@server ~]#virt-manager
Utilizzando GNOME

Utilizzando GNOME Classico

7. Dopo aver avviato lo strumento, verrà visualizzata questa finestra.

8. Per impostazione predefinita, troverai che il gestore è connesso direttamente a localhost, fortunatamente potresti utilizzare lo stesso strumento per gestire un altro host in remoto. Dalla scheda "File", seleziona "Aggiungi connessione" e verrà visualizzata questa finestra.

Seleziona l'opzione "Connetti all'host remoto", quindi fornisci il Nome host/IP del server remoto. Se è necessario stabilire una connessione all'host remoto ogni volta che viene avviato il gestore, è sufficiente selezionare l'opzione "Connessione automatica".

9. Torniamo al nostro localhost, prima di creare una nuova macchina virtuale dovresti decidere dove verranno archiviati i file?! in altre parole, dovresti creare il Volume Disk (Disco virtuale/Immagine disco) per la tua macchina virtuale.

Facendo clic con il pulsante destro del mouse su localhost e selezionando "Dettagli", quindi selezionare la scheda "Archiviazione".

10. Successivamente, premi il pulsante "Nuovo volume", quindi inserisci il nome del tuo nuovo disco virtuale (Disco volume) e inserisci la dimensione che che desideri/di cui hai bisogno nella sezione "Capacità massima".

La dimensione di allocazione è la dimensione effettiva del tuo disco che verrà allocata immediatamente dal tuo disco fisico dopo aver completato i passaggi.

Nota: questa è una tecnologia importante nel campo dell'amministrazione dello storage chiamata "thin provision". In passato allocava solo la dimensione di archiviazione utilizzata, NON tutta la dimensione disponibile.

Ad esempio, hai creato un disco virtuale con dimensione 60G, ma in realtà hai utilizzato solo 20G, utilizzando questa tecnologia la dimensione allocata dal tuo disco rigido fisico sarà 20G non 60G.

In altre parole, la dimensione fisica allocata verrà assegnata dinamicamente in base alla dimensione effettivamente utilizzata. Puoi trovare maggiori informazioni in dettaglio su VMWare vStorage Thin Provisioning.

11. Noterai che nell'elenco è stata visualizzata un'etichetta del nuovo disco del volume.

Dovresti anche notare il percorso della nuova immagine del disco (Volume Disk), per impostazione predefinita sarà sotto /var/lib/libvirt/images, puoi verificarlo utilizzando il seguente comando.

[root@server Downloads]# ls -l /var/lib/libvirt/images
-rw-------. 1 root root 10737418240 Jan  3 16:47 vm1Storage.img

12. Ora siamo pronti per creare la nostra macchina virtuale. Premiamo il pulsante “VM” nella finestra principale, verrà visualizzata questa finestra della procedura guidata.

Seleziona il metodo di installazione che utilizzerai per creare la macchina virtuale. Per ora utilizzeremo il supporto di installazione locale, in seguito discuteremo i metodi rimanenti.

13. Ora è il momento di specificare quale supporto di installazione locale utilizzare, abbiamo due opzioni:

  1. Dal [CDROM/DVD] fisico.
  2. Dall'immagine ISO.

Per il nostro tutorial, utilizziamo il metodo immagine ISO, quindi dovresti fornire il percorso della tua immagine ISO.

Importante: Sfortunatamente c'è un bug davvero stupido per chi usa RHEL/CentOS7. Questo bug ti impedisce di eseguire l'installazione utilizzando [CDROM/DVD] fisico, scoprirai che l'opzione è disattivata in questo modo.

E se tieni il cursore su di esso, apparirà questo messaggio di errore.

Fino ad ora non esiste una soluzione ufficiale/diretta per questo bug, è possibile trovare maggiori informazioni sullo stesso su https://bugzilla.redhat.com.

14. Lo spazio di archiviazione è tornato indietro, utilizzeremo il disco virtuale che abbiamo creato in precedenza per installare la macchina virtuale su di esso. Sarà come mostrato.

15. Il passaggio finale che ti chiede il nome della tua macchina virtuale e altre opzioni avanzate ne parleremo più tardi.

Se desideri modificare alcune configurazioni o effettuare qualche personalizzazione, seleziona l'opzione "Personalizza la configurazione prima dell'installazione". Quindi fai clic su Fine e attendi qualche secondo, verrà visualizzata la console di controllo per consentire al tuo sistema operativo guest di gestirla

Conclusione

Ora hai imparato cos'è KVM, come gestire la tua piattaforma virtuale utilizzando gli strumenti della GUI, come distribuire la macchina virtuale utilizzandola e altre cose fantastiche.

Anche se questa non è la fine dell’articolo, nei nostri prossimi articoli discuteremo altri argomenti importanti relativi a KVM. Sporcati le mani utilizzando le conoscenze precedenti e preparati per la parte successiva…..