Il est possible qu'une machine virtuelle soit sur un snapshot qui n’apparaît pas dans le gestionnaire Hyper-V. Nous allons voir comment supprimer manuellement le snapshot grâce à PowerShell.
Un Snapshot est une image du système à un instant donné. Cela permet de pouvoir revenir en arrière (utile si l'on effectue des tests ou une opération dangereuse).
Lorsqu'une VM sous Hyper-V possède un Snapshot, sont disque virtuel n'est plus un fichier VHD ou VHDX, mais un fichier avhdx
Normalement, on peut gérer les Snapshots ou Points de contrôle dans le gestionnaire Hyper-V
Lorsqu'un snapshot ou point de contrôle est supprimé, l'hyperviseur va fusionner le ou les fichiers AVHDX avec le fichier VHD/VHDX. Ce processus peut durer un certains temps en fonction de la taille du snapshot.
La fusion du snapshot s'effectue à chaud (aucun arrêt de la VM à prévoir) sous Windows Server 2012.
/!\ Attention, sous Windows Server 2008, la fusion s'effectue une fois la VM éteinte. /!\
Utilisation de PowerShell pour géré les Snapshots
Se connecter sur le serveur Hyper-V
Ouvrir PowerShell
Pour afficher les snapshots d'une machine virtuelle :
PS ... > Get-VMSnapshot NomMachineVirtuelle
Exemple :
PS ... > Get-VMSnapshot PFSENSE01
Pour supprimer un snapshot en particulier :
PS ... > Remove-VMSnapshot -vmname NomMachineVirtuelle -name NomSnapshot
Exemple :
PS ... > Remove-VMSnapshot -vmname PFSENSE01 -name "PFSENSE01 - (19/04/2015 - 18:39:55)"
Supprimer tout les snapshots d'une machine virtuelle :
PS ... > Get-VMSnapshot NomMachineVirtuelle | Remove-VMSnapshot
Exemple :
PS ... > Get-VMSnapshot PFSENSE01 | Remove-VMSnapshot