Home > Centos, Debian, Linux, Server, Ubuntu > Virsh tools per gestire le macchine virtuali in KVM

Virsh tools per gestire le macchine virtuali in KVM

Virsh è un tool da linea di comando che consente di gestire le macchine virtuali nell’ambiente di emulazione kvm.

Molti i comandi disponibili del tipo

# virsh list

Il comando fornisce l’elenco delle virtual machine in esecuzione o in pausa:

E’ possibile anche accedere al terminale virsh in questo caso il comando precedente verrà eseguito semplicemente digitando list. Per accedere al terminale si digita virsh 

virsh
Welcome to virsh, the virtualization interactive terminal.

Type: 'help' for help with commands
 'quit' to quit

Ecco la listade delle virtual machine in esecuzione o in pausa:

virsh # list
 Id Name State
----------------------------------------------------VMlist
 2 centos59_165 running
 5 Debian_74_wheezy running
 6 Lub1404 running
 8 Ubuntu12041S-2 running
 9 Windows7 running
12 u1404-test paused

Possiamo  visualizzare i pools a disposizione con

:virsh pool-list
Name State Autostart 
-------------------------------------------
 default active yes 
 VM-libvirt active yes

Per visualizzare tutte le vm  usare

virsh list --all

per installare virsh

sudo apt-get install libvirt-bin

Per connettersi ad un ipervisore remoto

virsh -c qemu+ssh://maurizio@192.168.1.140/system

Ridimensionare una macchina virtuale con virsh

Ad esempio per ridimesionare il disco di una VM windows 7 visualizzare dapprima le informazioni del disco da ridimensionare con virsh vol-info

# virsh vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 24.00 GiB
 Allocation: 24.00 GiB

Quindi ridimensioniamo con

# virsh vol-resize /media/VM/libvirt/images/W7-64b-ETH.img 30G --allocate
 Size of volume 'W7-64b-ETH.img' successfully changed to 30G

se siamo dentro virsh possiamo controllare le nuove dimensioni con  vol-info:

virsh # vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 30.00 GiB
 Allocation: 30.00 GiB

Avviamo la macchina virtuale W7-64b-ETH.img con  virsh start

: virsh start W7
 Domain W7 started

Gestire una machina virtuale

Per fermare una macchina Virtuale si può utilizzare un comando del tipo

virsh --connect qemu:///system shutdown NomeVirtualMachine

Modificare il file di configurazione .xml di una macchina virtuale

La configurazione della macchine virtuali è conservata in file .xml in

/etc/libvirt/qemu

la struttura del file è del tipo :

<domain type='kvm'>
       <name>debian_DMZ</name>
       <uuid>b9f962c3-4031-4d31-b41d-b3aed75e693a</uuid>
       <memory unit='KiB'>1048576</memory>
       <currentMemory unit='KiB'>1048576</currentMemory>
       <vcpu placement='static'>1</vcpu>
       <os>
             <type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
             <boot dev='hd'/>
       </os>
       <features>
             ...

Le modifiche possono essere apportate utilizzando il comando

virsh edit [Virtual-machine]

per l’esempio soprariportato virsh edit debian_DMZ

Il file .xml non può essere digitato direttamente perchè autogenerato.

Se si tenta la digitazione  diretta con comando del tipo nano debian_DMZ si ottiene il warning che segue.

WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
       virsh edit debian_DMZ
or other application using the libvirt API.

<domain type='kvm'>
       <name>debian_DMZ</name>
       <uuid>b9f962c3-4031-4d31-b41d-b3aed75e693a</uuid>
       ...

 

Macchine Ubuntu/Debian Installare acpid

Perchè l’arresto avvenga correttamente è necessario che sia installato acpid. Diversamente l’arresto sarà brutale come quando si toglie l’alimentazione con conseguenze che possono portare alla perdita di dati.

Una volta arrestata la VM può essere clonata ad esempio con

virt-clone --connect=qemu:///system -o CurrentVM -n NewVM -f /percorso_VMs/NewVM.gcow2

Se si clona una VM per evitare problemi è necessario procedere anche alla rinomina  del host modificando i files hosts e hostaname

sudo vim /etc/hosts
sudo vim /etc/hostname

 

 

Altri comandi

 virsh start  NomeVirtualMachine
 virsh reboot NomeVM
 virsh shutdown  NomeVM
 virsh suspend NomeVM
 virsh resume  NomeVM

 per visualizzare i dettagli di una VM  
 virsh dumpxml NomeVM   

 per reimportare i dati di una VM 
 virsh define  Nome VM 

 cancellare una macchina virtuale
 virsh destroy Nome VM 
 virsh undefine NomeVM

 

Risorse:

Advertisements
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: