Lorsqu'ils travaillent sur la plate-forme de virtualisation, les administrateurs système prennent généralement l'instantané de la machine virtuelle avant d'effectuer toute activité majeure telle que le déploiement du dernier correctif et du dernier code.
instantané de la machine virtuelle est une copie du disque de la machine virtuelle à un moment donné. En d'autres termes, nous pouvons dire que l'instantané conserve ou préserve l'état et les données d'une machine virtuelle à un moment donné.
Où pouvons-nous utiliser des instantanés de VM ?
Si vous travaillez sur KVM hyperviseurs basés nous pouvons prendre des machines virtuelles ou un instantané de domaine à l'aide de la commande virsh. L'instantané devient très utile dans une situation où vous avez installé ou appliqué les derniers correctifs sur la machine virtuelle, mais pour certaines raisons, l'application hébergée dans les machines virtuelles devient instable et l'équipe d'application souhaite annuler toutes les modifications ou correctifs. Si vous avez pris l'instantané de la VM avant d'appliquer les correctifs, nous pouvons restaurer ou ramener la VM à son état précédent à l'aide de l'instantané.
Remarque : Nous ne pouvons prendre que l'instantané des VM dont le format de disque est Qcow2 et le format de disque brut n'est pas pris en charge par la commande kvm virsh, utilisez la commande ci-dessous pour convertir le format de disque brut en qcow2
# qemu-img convert -f raw -O qcow2 image-name.img image-name.qcow2
Créer un instantané de la machine virtuelle KVM (domaine)
Je suppose que l'hyperviseur KVM est déjà configuré sur RHEL 7/8 ou CentOS / Rocky Linux et que des machines virtuelles y sont exécutées. Nous pouvons lister toutes les machines virtuelles sur l'hyperviseur en utilisant la commande virsh ci-dessous,
[[email protected] ~]# virsh list --all Id Name State ---------------------------------------------------- 94 centos7.0 running 101 overcloud-controller running 102 overcloud-compute2 running 103 overcloud-compute1 running 114 webserver running 115 Test-MTN running [[email protected] ~]#
Supposons que nous voulions créer l'instantané de 'webserver ‘ VM, exécutez la commande ci-dessous,
Syntaxe :
# virsh snapshot-create-as –domain {vm_name} –name {snapshot_name} –description "entrez la description ici"
[[email protected] ~]# virsh snapshot-create-as --domain webserver --name webserver_snap --description "snap before patch on 4Feb2018" Domain snapshot webserver_snap created [[email protected] ~]#
Une fois l'instantané créé, nous pouvons répertorier les instantanés liés à la machine virtuelle à l'aide de la commande ci-dessous,
[[email protected] ~]# virsh snapshot-list webserver Name Creation Time State ------------------------------------------------------------ webserver_snap 2018-02-04 15:05:05 +0530 running [[email protected] ~]#
Pour répertorier les informations détaillées de l'instantané de la VM, exécutez la commande virsh ci-dessous,
[[email protected] ~]# virsh snapshot-info --domain webserver --snapshotname webserver_snap Name: webserver_snap Domain: webserver Current: yes State: running Location: internal Parent: - Children: 0 Descendants: 0 Metadata: yes [[email protected] ~]#
Nous pouvons voir la taille de l'instantané en utilisant la commande qemu-img ci-dessous,
[[email protected] ~]# qemu-img info /var/lib/libvirt/images/snaptestvm.img
Restaurer/Restaurer la machine virtuelle KVM sur un instantané
Supposons que nous voulions rétablir ou restaurer la machine virtuelle du serveur Web sur l'instantané que nous avons créé à l'étape ci-dessus. Utilisez la commande virsh ci-dessous pour restaurer la machine virtuelle du serveur Web sur son instantané "webserver_snap ”
Syntaxe :
# virsh snapshot-revert {vm_name} {snapshot_name}
[[email protected] ~]# virsh snapshot-revert webserver webserver_snap [[email protected] ~]#
Supprimer les instantanés de la machine virtuelle KVM
Pour supprimer des instantanés de machine virtuelle KVM, obtenez d'abord les détails de l'instantané de la machine virtuelle à l'aide de "virsh snapshot-list " puis utilisez la commande "virsh snapshot-delete ” pour supprimer l'instantané. L'exemple est illustré ci-dessous :
[[email protected] ~]# virsh snapshot-list --domain webserver Name Creation Time State ------------------------------------------------------------ webserver_snap 2018-02-04 15:05:05 +0530 running [[email protected] ~]#
[[email protected] ~]# virsh snapshot-delete --domain webserver --snapshotname webserver_snap Domain snapshot webserver_snap deleted [[email protected] ~]#
C'est tout de cet article, j'espère que vous aurez une idée de la façon de gérer les instantanés de machines virtuelles KVM à l'aide de la commande virsh. S'il vous plaît partagez vos commentaires et n'hésitez pas à les partager avec vos amis techniques.
Lire aussi :Comment créer et gérer des machines virtuelles KVM via la ligne de commande