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 ! 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. 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*
ou on peut aussi utiliser _virsh_ (TODO: exemple de XML pour créer un snapshot) :
Avec libvirt, création/restauration/suppression de snapshot se gère de façon conviviale avec *virt-manager*.
On peut aussi utiliser virsh :
~~~ ~~~
# virsh snapshot-list template # virsh snapshot-list template
@ -622,10 +619,10 @@ Metadata: yes
snapshot-revert Revert a domain to a snapshot 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*. 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` : 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 !! /!\\ Attention, ne jamais modifier une image de base si elle a des images dérivées sous peine de tout perdre !!
## Mode monitor ## 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 $ kvm […] -monitor tcp:127.0.0.1:<port monitor>,server,nowait
~~~
Pour accéder au mode monitor :
~~~
$ telnet 127.0.0.1 <port monitor> $ telnet 127.0.0.1 <port monitor>
Trying 127.0.0.1… Trying 127.0.0.1…
Connected to 127.0.0.1. Connected to 127.0.0.1.
Escape character is '^]'. Escape character is '^]'.
QEMU 0.9.1 monitor - type 'help' for more information QEMU 0.9.1 monitor - type 'help' for more information
(qemu) (qemu)
~~~
### Extinction ACPI d'une VM
~~~
$ echo system_powerdown | nc 127.0.0.1 <port monitor> $ 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) 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 (qemu) stop
stop
(qemu) cont (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. Ceci n'est disponible que pour les VMs utilisant un stockage QCOW2.
@ -751,6 +774,14 @@ sync
cp debian1.qcow2 debian.current.qcow2 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 ## virsh