4 069
contributi
Riga 207: | Riga 207: | ||
e riavviare. | e riavviare. | ||
== Amministrazione delle macchine virtuali == | |||
La shell interattiva ''virsh'' è il tool principale per la gestione delle macchine virtuali. Per lanciare virsh sarà necessario lanciare dal server il comando: | |||
<pre> | |||
# virsh --connect qemu:///system | |||
</pre> | |||
Si presenterà quindi una vera e propria shell interattiva: | |||
<pre> | <pre> | ||
Welcome to virsh, the virtualization interactive terminal. | |||
Type: 'help' for help with commands | |||
'quit' to quit | |||
# | |||
virsh # | |||
</pre> | </pre> | ||
Per | Per ottenere la lista dei comandi disponibili è sufficiente: | ||
<pre> | <pre> | ||
virsh # help | |||
Commands: | |||
help print help | |||
attach-device attach device from an XML file | |||
attach-disk attach disk device | |||
attach-interface attach network interface | |||
autostart autostart a domain | |||
capabilities capabilities | |||
cd change the current directory | |||
connect (re)connect to hypervisor | |||
.... | |||
version show version | |||
vncdisplay vnc display | |||
snapshot-create Create a snapshot | |||
snapshot-current Get the current snapshot | |||
snapshot-delete Delete a domain snapshot | |||
snapshot-dumpxml Dump XML for a domain snapshot | |||
snapshot-list List snapshots for a domain | |||
snapshot-revert Revert a domain to a snapshot | |||
</pre> | |||
I comandi disponibili per virsh sono moltissimi e permettono di gestire qualsiasi aspetto di una macchina virtuale, dal suo stato, alla gestione dei dischi virtuali, fino alla gestione delle reti interne. | |||
<br/> | |||
I comandi sicuramente più utilizzati sono quelli relativi alla gestione di un guest, cioè ''list'', ''start'', ''shutdown'', ''reboot'', destroy, ''suspend'' e ''resume''. | |||
* ''start'' permette di avviare la virtual machine. In aggiunta, è utile citare il comando ''autostart'' che permette di comunicare a libvirt di avviare automaticamente le virtual machine all’avvio del sistema. | |||
* ''shutdown'' permette di inviare al sistema guest un segnale di shutdown, simulando ciò che accade sulle macchine fisiche quando viene premuto il tasto di accensione | |||
* ''reboot'' invia alla macchina virtuale il segnale di reboot che avvierà un processo di riavvio pulito del sistema. | |||
* ''destroy'' fa in modo che il processo della virtual machine venga ucciso. Dal punto di vista della virtual machine questo è l’equivalente di un blackout, la corrente viene interrotta bruscamente. Ovviamente come succede per le macchine reali, questo comando potrebbe creare inconsistenze sul filesystem del guest anche se ovviamente non causerà alcun danno reale all’hardware | |||
* ''suspend'' fa in modo che l’esecuzione della virtual machine venga interrotta. La ram rimarrà comunque occupata, ma la macchina virtuale non occuperà più alcuna risorsa relativa a CPU, HD e rete fino al resume. | |||
* ''resume'' permette di far uscire la virtual machine dallo stato di ibernazione attivato con suspend | |||
Menzione particolare meritano anche i comandi ''save'' e ''restore''. | |||
* ''Save'' richiede, oltre al nome della virtual machine anche un parametro aggiuntivo, cioè il filename dove salvare lo stato del sistema guest. Al contrario di suspend, questo comando permette di salvare tutto ciò che concerne la virtual machine (ram, registri del processore, interrupts, eccetera, eccetera…) in un file, e terminare il processo del sistema guest. Questo fa si che una Virtual Machine possa essere spostata completamente da un host all’altro senza che il sistema e le applicazioni al suo interno ne risentano minimamente. | |||
* ''Restore'', come la sua controparte richiede come parametro aggiuntivo il file da cui leggere lo stato della virtual machine da ripristinare. | |||
Memo: http://www.miamammausalinux.org/2011/06/implementazione-di-un-server-di-virtualizzazione-con-kvm/ | Memo: http://www.miamammausalinux.org/2011/06/implementazione-di-un-server-di-virtualizzazione-con-kvm/ | ||