{{tag>sysadmin virtualisation linux kvm snapshot}}
====== KVM : Gestion des snapshots ======
====== Qemu ======
KVM s'appuie sur Qemu pour l'émulation des disques et du matériel. Il est possible d'utiliser les commandes [[software:applications:virsh:gerer_les_snapshots|virsh]] ou **qemu-img snapshot** pour gérer les snapshots des fichiers disques si leur format le permet (qcow2).
===== Convertir le format RAW =====
Les snapshots ne sont disponibles qu'avec le format QCOW2.
La commande ci-dessous permet de convertir le format RAW vers QCOW2
qemu-img convert -f raw -O qcow2 image-name.img image-name.qcow2
===== Lister les snapshots =====
virsh snapshot-list aDomainName
===== Usages de qemu-img snapshot =====
Les arguments à fournir:
* **-a** (applies) pour appliquer le snapshot (retour à l'état sauvegardé);
* **-c** (creates) pour créer/sauvegarder l'état actuel du fichier disque;
* **-d** (deletes) pour supprimer le snapshot désigné;
* **-l** (list) pour lister les snapshots existants pour le fichier disque désigné.
# Sauvegarde l'état courant du fichier disque vda
qemu-img snapshot -c "BeforePartitionExpand" vda
# lister les snapshots
qemu-img snapshot -l vda
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 BeforePartitionExpand 0 B 2023-04-18 20:58:43 00:00:00.000
Maintenant que l'état est sauvegardé, on peut modifier la VM. Pour l'exemple on va:
- Démarrer de la VM
- Modifier les partitions
- Arrêter de la VM
# On crée une sauvegarde de l'état final
qemu-img snapshot -c "AfterPartitionExpand" vda
# On liste les snapshots existants
qemu-img snapshot -l vda
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 BeforePartitionExpand 0 B 2023-04-18 20:58:43 00:00:00.000
2 AfterPartitionExpand 0 B 2023-04-18 21:47:39 00:00:00.000
On peut restaurer l'état antérieur et vérifier le bon fonctionnement
# Restauration de l'état antérieur
qemu-img snapshot -a BeforePartitionExpand vda
# Après redémarrage de la VM et tests on souhaite conserver le dernier état
# On restaure alors le dernier état
qemu-img snapshot -a AfterPartitionExpand vda
# On peut supprimer le plus ancien snapshot
qemu-img snapshot -d BeforePartitionExpand vda
===== Références =====
* https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-managing_guest_virtual_machines_with_virsh-managing_snapshots#doc-wrapper