GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare e gestire macchine virtuali KVM tramite riga di comando

KVM (Kernel based Virtual Machine) è una tecnologia di virtualizzazione opensource creata per macchine Linux. Comprende un modulo del kernel, kvm.ko, che fornisce la piattaforma di virtualizzazione principale e un modulo specifico per il processore ( kvm-intel.ko per i processori Intel o kvm-amd.ko per i processori AMD).

Esistono due modi per creare macchine virtuali utilizzando KVM. È possibile sfruttare lo strumento virt-manager che è un server X11 che fornisce un'interfaccia GUI per la creazione di macchine virtuali. Inoltre, puoi utilizzare la riga di comando per creare una macchina virtuale definendo vari parametri associati alla macchina virtuale che desideri distribuire.

Abbiamo già una guida elaborata su come installare macchine virtuali KVM usando la GUI su Ubuntu. In questa guida, adottiamo un approccio diverso e dimostriamo come creare una macchina virtuale KVM dall'interfaccia della riga di comando. Stiamo usando Ubuntu 18.04, ma dovrebbe funzionare su tutte le distribuzioni Linux.

Passaggio 1) Verifica se la virtualizzazione è abilitata

All'inizio, dobbiamo verificare se il tuo sistema supporta la tecnologia di virtualizzazione. Per ottenere ciò, esegui il seguente comando.

$ egrep -c '(vmx|svm)' /proc/cpuinfo

Se il tuo sistema supporta la tecnologia di virtualizzazione, dovresti ottenere un output maggiore di 0.

Quindi, conferma se il tuo sistema può eseguire macchine virtuali KVM.

$ kvm-ok

Se viene visualizzato un errore sullo schermo, significa che l'utilità kvm-ok non è ancora installata. Pertanto, installa il seguente comando per installare l'utilità kvm-ok.

$ sudo apt install -y cpu-checker

Ora esegui il comando kvm-ok per confermare se la virtualizzazione KVM è supportata.

Fase 2) Installa KVM, Qemu, virt-manager e demone libvirtd

Il passaggio successivo consiste nell'installare KVM e i pacchetti associati. Quindi, esegui il comando:

$ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager

Il comando installa i seguenti pacchetti.

  • qemu-kvm – Questo è il pacchetto KVM principale che fornisce supporto per la virtualizzazione.
  • libvirt – Include il demone libvirtd che supporta la creazione e la gestione di macchine virtuali.
  • libvirt-client – ​​Questo pacchetto fornisce l'utilità virsh usata per interagire con le macchine virtuali.
  • virt-install – Un'utilità che ti aiuta a creare macchine virtuali e installare il sistema operativo su quelle macchine virtuali dalla riga di comando.
  • virt-viewer – Un'utilità che mostra la vista grafica per la macchina virtuale.

Una volta installato, dobbiamo confermare se i moduli kvm richiesti sono stati caricati. Pertanto, esegui il comando:

$ lsmod | grep kvm

Inoltre, conferma che il demone libvirtd è in esecuzione come segue.

$ sudo systemctl status libvirtd.service

Perfetto! Tutti i prerequisiti sono a posto. Procediamo ora e installiamo una macchina virtuale.

Passaggio 3)  Crea una macchina virtuale dalla riga di comando

Installeremo una macchina virtuale Debian utilizzando un'immagine ISO Debian 11 situata nella cartella Download nella directory home.

Per creare la nuova macchina virtuale, eseguiremo il seguente comando.

$ sudo virt-install --name=debian-vm \
--os-type=Linux \
--os-variant=debian9 \
--vcpu=2 \
--ram=2048 \
--disk path=/var/lib/libvirt/images/Debian.img,size=15 \
--graphics spice \
--location=/home/james/Downloads/debian-11.1.0-amd64-DVD-1.iso \
--network bridge:virbr0

Prendiamoci un minuto e analizziamo questo comando:

  • L'attributo –name indica il nome della macchina virtuale. Sentiti libero di dargli un nome arbitrario.
  • La direttiva –os-type specifica il tipo di sistema operativo, in questo caso Linux.
  • L'opzione  –os-variant specifica le versioni del sistema operativo.

NOTA:  KVM fornisce opzioni predefinite  –os-variant e non puoi crearne di tue. Per verificare le varie varianti supportate, eseguire il comando osinfo-query os. Questo elenca tutti i possibili sistemi operativi e le varianti supportate. Inoltre, nota che le varianti non coincidono con la tua ultima versione di Linux. In questo caso, sto usando debian9 invece di debian11 poiché quest'ultimo non è fornito da KVM come una delle opzioni varianti.

  • Andando avanti, il parametro –vcpu specifica il numero di core della CPU da allocare alla macchina virtuale.
  • L'opzione –ram specifica la quantità di RAM in Megabyte da allocare.
  • L'opzione –disk path definisce il percorso dell'immagine della macchina virtuale. La direttiva –disk è lo spazio su disco della VM in Gigabyte.
  • L'opzione –graphics specifica lo strumento grafico per l'installazione interattiva, in questo esempio stiamo usando spice.
  • L'opzione –location punta alla posizione dell'immagine ISO
  • Infine, la direttiva –network bridge specifica l'interfaccia che deve essere utilizzata dalla macchina virtuale.

Se tutto va bene, dovresti ottenere un output come indicato nell'immagine sopra, seguito da un visualizzatore virt pop-up della macchina virtuale in attesa di installazione.

Nel nostro caso, stiamo installando Debian 11 e questa è la schermata di installazione iniziale. Abbiamo proceduto con l'installazione fino alla fine.

Fase 4) Interagire con le macchine virtuali

L'utilità virsh è un componente utilizzato per interagire con le macchine virtuali sulla riga di comando. Ad esempio, per visualizzare le macchine virtuali attualmente in esecuzione, eseguire il comando:

$ virsh list

Per elencare tutte le macchine virtuali, comprese quelle spente, aggiungi l'opzione –all.

$ virsh list --all

Per spegnere una macchina virtuale usa la sintassi:

$ sudo virsh shutdown vm_name

Ad esempio, per spegnere la nostra macchina virtuale, il comando sarà:

$ sudo virsh shutdown debian-vm

Per avviare o accendere la macchina virtuale, esegui:

$ sudo virsh start debian-vm

Per riavviare la macchina, eseguire il comando:

$ sudo virsh reboot debian-vm

Per distruggere o spegnere forzatamente la macchina virtuale, esegui:

$ sudo virsh destroy debian-vm

Per eliminare o rimuovere la macchina virtuale insieme al relativo file del disco, esegui

a)   Per prima cosa spegni la macchina virtuale

b)   Elimina la macchina virtuale insieme al file di archiviazione associato, esegui

$ sudo virsh undefine –domain –remove-all-storage

Esempio:

$ sudo virsh undefine --domain debian-vm --remove-all-storage

Pensieri di chiusura :

Questa era una guida su come installare una macchina virtuale utilizzando KVM sulla riga di comando. Abbiamo evidenziato alcune delle opzioni salienti da specificare per garantire la corretta distribuzione della macchina virtuale. Abbiamo anche fatto un ulteriore passo avanti e abbiamo dimostrato come interagire con la macchina virtuale dalla riga di comando utilizzando l'utilità virsh. Quelle erano solo alcune opzioni, ce ne sono parecchie.


Linux
  1. Come creare un file in Linux utilizzando Terminale/riga di comando

  2. Come creare un'istantanea della macchina virtuale KVM con il comando Virsh

  3. Come modificare autorizzazioni e proprietari tramite riga di comando

  4. Come creare un database in MySQL utilizzando la riga di comando

  5. Come creare un alias e utilizzare il comando alias in Linux

Come esportare e importare macchine virtuali VirtualBox

Come installare KVM e creare macchine virtuali su Ubuntu 16.04 LTS

Come creare macchine virtuali in KVM usando Virt-Manager

Come gestire macchine virtuali in KVM usando Virt-Manager

Come creare e gestire macchine virtuali in KVM

Come creare e gestire nuovi utenti su Linux