diff --git a/HowtoKVM.md b/HowtoKVM.md index 967dd3ce..88c2d7c2 100644 --- a/HowtoKVM.md +++ b/HowtoKVM.md @@ -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 - + + -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 --hmp "info block" +~~~ + +On peut aussi créer un _mode monitor_ manuellement, qui sera accessible via _telnet_ : ~~~ $ kvm […] -monitor tcp:127.0.0.1:,server,nowait -~~~ -Pour accéder au mode monitor : - -~~~ $ telnet 127.0.0.1 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 -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 -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 --hmp "savevm snap.current" +# virsh qemu-monitor-command --hmp "info snapshots" +~~~ + ## virsh