Ajout d'infos sur le mode monitor avec libvirt

This commit is contained in:
Gregory Colpart 2016-12-27 14:12:09 +01:00
parent 6d54407c4b
commit 62da558c7c

View file

@ -585,11 +585,8 @@ etc.
L'utilisation du format de stockage QCOW2 permet d'avoir des snapshots à chaud !
On peut créer plusieurs snapshots de l'état disque/mémoire, et restaurer en quelques secondes.
### Avec libvirt
Avec libvirt, création/restauration/suppression de snapshot se gère de façon conviviale avec *virt-manager*.
On peut aussi utiliser virsh :
Avec libvirt, création/restauration/suppression de snapshot se gère de façon conviviale avec *virt-manager*
ou on peut aussi utiliser _virsh_ (TODO: exemple de XML pour créer un snapshot) :
~~~
# virsh snapshot-list template
@ -622,10 +619,10 @@ Metadata: yes
snapshot-revert Revert a domain to a snapshot
~~~
### Sans libvirt
On peut gérer les snapshots via le [Mode Monitor](#mode-monitor) et les commandes *savevm*/*loadvm*/*info snapshots*.
### Options -loadvm / -snapshot (non gérées avec libvirt)
On peut démarrer directement sur un snapshot *s0* avec l'option `-loadvm` :
~~~
@ -673,52 +670,78 @@ backing file: install-debian-base.qcow2base (actual path: install-debian-base..q
/!\\ Attention, ne jamais modifier une image de base si elle a des images dérivées sous peine de tout perdre !!
## Mode monitor
<http://en.wikibooks.org/wiki/QEMU/Monitor>
<http://en.wikibooks.org/wiki/QEMU/Monitor>
<https://doc.opensuse.org/documentation/leap/virtualization/html/book.virt/cha.qemu.monitor.html>
Le mode *monitor* permet d'effectuer diverses actions. Attention, il n'est pas disponible pour les VM utilisant libvirt.
Le _mode monitor_ est une option de **kvm** et permet d'effectuer diverses actions (état de la VM, action sur la VM, snapshots, etc.).
Pour créer un mode monitor :
_libvirt_ crée automatiquement un _mode monitor_ qu'il utilise (donc non accessible directement), mais on peut aussi l'utiliser via :
~~~
# virsh qemu-monitor-command <vm-name> --hmp "info block"
~~~
On peut aussi créer un _mode monitor_ manuellement, qui sera accessible via _telnet_ :
~~~
$ kvm […] -monitor tcp:127.0.0.1:<port monitor>,server,nowait
~~~
Pour accéder au mode monitor :
~~~
$ telnet 127.0.0.1 <port monitor>
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is '^]'.
QEMU 0.9.1 monitor - type 'help' for more information
(qemu)
~~~
### Extinction ACPI d'une VM
~~~
$ echo system_powerdown | nc 127.0.0.1 <port monitor>
QEMU 0.12.5 monitor - type 'help' for more information
~~~
### Infos sur une VM
~~~
(qemu) info block
(qemu) info blockstats
(qemu) info network
(qemu) info uuid
~~~
### Actions sur une VM
Extinction ACPI d'une VM :
~~~
(qemu) system_powerdown
(qemu)
^C
~~~
### pause/resume d'une VM
pause/resume d'une VM :
~~~
$ nc 127.0.0.1 <port monitor>
QEMU 0.12.5 monitor - type 'help' for more information
(qemu) stop
stop
(qemu) cont
cont
~~~
### Gestion des snapshots via le mode monitor
Envoyer une combinaison clavier :
~~~
(qemu) sendkey ctrl-alt-f1
~~~
Mot de passe VNC :
~~~
(qemu) change vnc password
~~~~
Ajout de disques/périphériques à chaud :
~~~
(qemu) drive_add ?
(qemu) device_add ?
~~~
### Actions sur les snapshots
Ceci n'est disponible que pour les VMs utilisant un stockage QCOW2.
@ -751,6 +774,14 @@ sync
cp debian1.qcow2 debian.current.qcow2
~~~
/!\\ Attention, avec *libvirt* si l'on passe directement par le _mode monitor_ les snapshots ne seront pas visibles par _libvirt_ qui gère un état XML des snapshots.
On pourra néanmoins faire :
~~~
# virsh qemu-monitor-command <vm-name> --hmp "savevm snap.current"
# virsh qemu-monitor-command <vm-name> --hmp "info snapshots"
~~~
## virsh