Gestion des checkpoints Hyper-V
Contexte
La technologie des « snapshots » (Instantanés) est l'une des principales caractéristiques de la virtualisation. Les snapshots Microsoft Hyper-V sont très utiles lorsque vous effectuez des changements importants dans votre environnement de production. Par exemple, vous pouvez avoir besoin d'installer des mises à jour du système d'exploitation ou de nouveaux logiciels, ou encore d'appliquer des changements de configuration à vos machines virtuelles invitées (VM). Parfois, les choses tournent mal et vos machines virtuelles connaissent des problèmes de performance ou ne répondent plus à l'appel en raison de processus d'installation erronés. Cela peut entraîner une perte de données ou le non-fonctionnement de certains programmes
Définition
Ce que vous devez savoir sur les checkpoints Hyper-V
La virtualisation a considérablement modifié la manière dont les entreprises mènent leurs activités et fournissent des services à leurs clients. L'une des technologies de virtualisation les plus importantes est celle des snapshots. Cette technologie a transformé la façon dont les données sont protégées dans les environnements virtuels. Ici, nous allons couvrir la technologie des snapshots utilisée dans Hyper-V et décrire comment vous pouvez gérer et configurer les checkpoints Hyper-V dans votre environnement virtuel.
Qu'est-ce qu'un checkpoint Hyper-V ?
Les checkpoints Hyper-V vous permettent de sauvegarder l'état de la VM à un moment précis. Les checkpoints peuvent être très utiles si vous prévoyez d'adopter de nouveaux changements dans le système, tels que des mises à jour logicielles ou l'installation d'un programme. Si une erreur inattendue se produit, vous pouvez revenir à un état antérieur de la VM, en supprimant ainsi toutes les modifications apportées.
Il convient de noter que le terme « snapshots » n'est actuellement utilisé qu'en référence aux snapshots Hyper-V créés sur les anciens systèmes d'exploitation Windows, qui ont été introduits avant Windows 10.
Types de checkpoint Hyper-V
Avant Windows 10, Hyper-V ne fournissait que des checkpoints standards. Actuellement, deux types de checkpoint Hyper-V sont disponibles :
Les checkpoints standard (anciennement appelés snapshots Hyper-V) prennent un snapshot de la VM et de son état de mémoire, ce qui vous permet de capturer l'état de la VM à un moment donné. Un snapshot standard ne permet pas la cohérence des applications, ce qui peut entraîner des transactions de données incomplètes. Ceci est crucial pour les VM exécutant Active Directory, Microsoft Exchange, SQL Server, ou toute autre application / base de données qui transfère des données entre différents nœuds. Notez également que ce type de snapshot ne doit pas être considéré comme une sauvegarde complète.
Les checkpoints de production peuvent créer une sauvegarde cohérente des données à l'aide du service Volume Shadow Copy (pour les VM fonctionnant sous Windows) ou du File System Freeze (pour les VM fonctionnant sous Linux). Ainsi, les checkpoints de production sont créés en fonction de la technologie de sauvegarde présente dans le système d'exploitation invité. Lors de la création d'un checkpoint de production, aucun snapshot de l'état de la mémoire de la VM n'est pris. Notez que les checkpoints de production sont activés par défaut. Toutefois, si vous souhaitez modifier le type de checkpoint, vous pouvez utiliser Hyper-V Manager ou PowerShell
Gestion des checkpoints Hyper-V
Le passage suivant fournit des indications sur la manière dont vous pouvez gérer les différents aspects des checkpoints Hyper-V : de la modification du type de checkpoint à la configuration de l'emplacement du checkpoint.
Comment modifier le type de checkpoint ?
Comme indiqué ci-dessus, vous pouvez modifier le type de checkpoint via Hyper-V Manager ou PowerShell. Les deux approches sont décrites ci-dessous.
Modifier le type de checkpoint à l'aide de Hyper-V Manager
Étape 1 : ouvrez Hyper-V Manager.
Étape 2 : cliquez avec le bouton droit de la souris sur une VM que vous souhaitez configurer et sélectionnez « Paramètres ».
Étape 3 : trouvez la section « Management » et sélectionnez « Checkpoints ».
Étape 4 : choisissez le type de checkpoint. Si vous avez sélectionné les checkpoints de production, cliquez sur la case à cocher ci-dessous au cas où votre VM invitée ne prendrait pas en charge la création de checkpoint de production. Cela vous permet de capturer des checkpoints avec l'état complet de l'application.
Étape 5 : si vous avez sélectionné les checkpoints standards, vous pouvez activer la fonctionnalité des checkpoints automatiques, qui prend automatiquement des checkpoints des VM lorsqu'elles sont démarrées et les supprime dès qu'elles sont arrêtées
Modifier le type de checkpoint à l'aide de PowerShell
Pour modifier le type de checkpoint, exécutez les commandes suivantes dans PowerShell :
Étape 1 : pour activer le type de checkpoint standard, tapez : Set-VM -Name <vmname> -CheckpointType Standard
Étape 2 : pour activer le type de checkpoint Production, insérez : Set-VM -Name <vmname> -CheckpointType Production
En cas d'échec d'un checkpoint de production, un checkpoint standard sera pris.
Étape 3 : si vous voulez vous assurer que seuls les checkpoints de production sont créés, utilisez la commande suivante : Set-VM -Name <vmname> -CheckpointType ProductionOnly
Comment créer des checkpoints ?
Les checkpoints Hyper-V peuvent être créés de deux manières : Hyper-V Manager ou PowerShell.
Créer des checkpoints en utilisant Hyper-V Manager
Étape 1 : ouvrez Hyper-V Manager.
Étape 2 : sélectionnez la VM pour laquelle le checkpoint sera créé.
Étape 3 : cliquez avec le bouton droit de la souris sur le nom de la VM, puis cliquez sur « Checkpoint ».
Étape 4 : le checkpoint est créé et peut être consulté dans la section checkpoint ci-dessous.
Créer des checkpoints en utilisant PowerShell
Étape 1 : exécutez la commande suivante pour créer des checkpoints Hyper-V : Checkpoint-VM -Name <VMName>
Étape 2 : après la création du checkpoint, vous pouvez voir une liste complète des checkpoints VM en utilisant la commande : Get-VMCheckpoint -VMName <VMName>
Restauration et suppression
Comment ramener une VM à un état antérieur à l'aide de checkpoints ?
Les checkpoints Hyper-V sont principalement utilisés pour rétablir l'état précédent d'une VM. Suivez les étapes ci-dessous pour appliquer le checkpoint à cette fin.
À l'aide de Hyper-V Manager
Étape 1 : ouvrez Hyper-V Manager.
Étape 2 : sélectionnez la VM que vous souhaitez rétablir.
Étape 3 : dans la section « Checkpoints », vous verrez la liste des checkpoints créés pour cette VM. Cliquez avec le bouton droit de la souris sur le checkpoint que vous voulez utiliser et cliquez sur « Appliquer ».
Étape 4 :
Après cela, une boîte de dialogue comprenant les options suivantes apparaîtra :
« Créer un checkpoint et Appliquer » : avant que le checkpoint choisi ne soit appliqué, un nouveau checkpoint de la VM est créé. De cette façon, la VM est protégée, même si cette opération échoue.
« Appliquer » : seul le checkpoint choisi est appliqué. Notez que cette action ne peut pas être annulée.
« Cancel (Annuler) » : la boîte de dialogue sera fermée sans appliquer les changements.
À l'aide de PowerShell
Pour appliquer le checkpoint via l'interface de ligne de commande (CLI) PowerShell, exécutez la commande suivante : Restore-VMCheckpoint -Name <nom du checkpoint> -VMName <VMName> -Confirm:$false
Comment supprimer les checkpoints ?
Dans Hyper-V, les checkpoints sont stockés sous forme de fichiers .avhdx au même endroit que les fichiers .vhdx de la VM. Lorsque vous supprimez des checkpoints, les fichiers .avhdx et .vhdx sont fusionnés afin d'économiser de l'espace et de garantir qu'aucune donnée critique n'est perdue. Ensuite, le fichier .avhdx du checkpoint est complètement supprimé du système de fichiers.
Supprimer des checkpoints à l'aide de Hyper-V Manager
Étape 1 : après avoir ouvert Hyper-V Manager, sélectionnez la VM requise.
Étape 2 : dans la section « Checkpoints » ci-dessous, cliquez avec le bouton droit de la souris sur le checkpoint que vous souhaitez supprimer.
Étape 3 : le menu déroulant apparaîtra avec un certain nombre d'options. Cliquez sur « Delete Checkpoint » (Supprimer le checkpoint).
Si vous souhaitez supprimer une arborescence de checkpoint contenant le checkpoint principal et tous les checkpoints suivants, cliquez avec le bouton droit de la souris sur le checkpoint le plus ancien que vous souhaitez supprimer et cliquez sur « Delete Checkpoint Subtree » (Supprimer l'arborescence de checkpoint).
Comment configurer le stockage des checkpoints ?
À l'aide de Hyper-V Manager
Vous pouvez définir manuellement si vous souhaitez que les checkpoints soient retirés de cette VM ou non.
Étape 1 : ouvrez Hyper-V Manager, cliquez avec le bouton droit de la souris sur le nom de la VM requise, puis cliquez sur « Paramètres ».
Étape 2 : dans la section « Gestion », trouvez l'option « checkpoint » et sélectionnez-la.
Étape 3 : dans le volet de droite, vous verrez la case à cocher « Enable Checkpoints ». Vous pouvez la sélectionner ou la désélectionner afin d'activer ou de désactiver les checkpoints.
Étape 4 : cliquez sur « Appliquer ».
Comment activer ou désactiver les checkpoints ?
À l'aide de Hyper-V Manager
Hyper-V vous permet de configurer l'emplacement de stockage de la configuration du checkpoint et des fichiers d'état enregistrés du checkpoint.
Étape 1 : ouvrez Hyper-V Manager, cliquez avec le bouton droit de la souris sur le nom de la VM requise, puis cliquez sur « Paramètres ».
Étape 2 : dans la section « Gestion », trouvez l'option « Checkpoint » et sélectionnez-la.
Étape 3 : dans le volet de droite, trouvez la section « Checkpoint File Location » et cliquez sur « Browse », ou saisissez manuellement le chemin d'accès au dossier dans lequel les fichiers de checkpoint seront stockés.
Étape 4 : cliquez sur « Appliquer ».
Comment renommer les checkpoints ?
Le nom standard du checkpoint comprend le nom de la VM, la date et l'heure de création du checkpoint (par exemple, Virtual Machine (1er mai 2019 8 : 17 : 35 AM)).
Pour le rendre plus distinctif, vous pouvez renommer le checkpoint sélectionné en utilisant Hyper-V Manager ou PowerShell.
À l'aide de Hyper-V Manager
Étape 1 : ouvrez Hyper-V Manager et sélectionnez la VM requise.
Étape 2 : cliquez avec le bouton droit de la souris sur le checkpoint requis et sélectionnez l'option « Renommer », qui apparaît dans le menu déroulant.
Étape 3 : saisissez le nouveau nom du checkpoint et cliquez sur « Entrée ».
À l'aide de PowerShell
Pour renommer le checkpoint dans la CLI PowerShell, exécutez la commande suivante : Rename-VMCheckpoint -VMName <nom de la machine virtuelle> -Name <nom du checkpoint> -NewName <nom du nouveau checkpoint>
Présentation des snapshots
La technologie des Snapshots (instantanés) est l'une des principales caractéristiques de la virtualisation. Les snapshots Microsoft Hyper-V sont très utiles lorsque vous effectuez des changements importants dans votre environnement de production. Par exemple, vous pouvez avoir besoin d'installer des mises à jour du système d'exploitation ou de nouveaux logiciels, ou encore d'appliquer des changements de configuration à vos machines virtuelles invitées (VM). Parfois, les choses tournent mal et vos machines virtuelles connaissent des problèmes de performance ou ne répondent plus à l'appel en raison de processus d'installation erronés. Cela peut entraîner une perte de données ou le non-fonctionnement de certains programmes.
Microsoft met à votre disposition des snapshots Hyper-V pour vous permettre de ramener vos VM à un état antérieur si une erreur système se produit. En bref, un snapshot Hyper-V vous permet de sauvegarder l'état, les données et les paramètres de configuration de votre VM à un moment précis.
Ici, nous allons voir comment fusionner des snapshots Hyper-V à l'aide de Hyper-V Manager ou de PowerShell. Mais d'abord, passons rapidement en revue ce qu'est la technologie des snapshots Hyper-V.
Qu'est-ce qu'un snapshot Hyper-V ?
Tout d'abord, les snapshots Hyper-V sont en fait connus sous le nom de Checkpoints (points de contrôle). Bien qu'il ne s'agisse pas d'une sauvegarde traditionnelle, ces checkpoints peuvent être utilisés pour ramener une VM à un point antérieur dans le temps. Un snapshot Hyper-V est une encapsulation de l'état, des données et des paramètres de configuration de votre VM au moment où le snapshot a été pris. Lorsque vous créez un snapshot Hyper-V de votre VM, vous créez une image instantanée de cette VM, ce qui vous permet de revenir facilement à un état antérieur de votre système lorsque le besoin s'en fait sentir. La meilleure spécificité des snapshots Hyper-V est qu'ils peuvent être faits rapidement en ligne ou hors ligne, ce qui vous permet de continuer à travailler sans perturber le flux de travail dans votre VM en cours d'exécution.
La création d'un snapshot Hyper-V de votre VM avant d'effectuer une opération susceptible de modifier votre infrastructure virtuelle ou présentant un risque élevé d'échec peut s'avérer très utile par la suite. Les snapshots Hyper-V sauvegardent l'état de votre VM avant d'appliquer des changements de configuration, d'exécuter des mises à jour du système d'exploitation, d'installer de nouveaux logiciels ou des correctifs de sécurité, etc. Cela crée un filet de sécurité si les choses tournent mal et que vous devez revenir à l'état précédent de votre VM.
La chose la plus importante à retenir est que les snapshots Hyper-V ne sont qu'une solution à court terme pour sauvegarder l'état de votre VM à un moment donné, mais ils ne créent pas une copie de votre disque virtuel. Les snapshots Hyper-V ne constituent pas une alternative de sauvegarde et ne peuvent pas vous offrir le même niveau de protection qu'une solution de sauvegarde fiable.
N'oubliez pas de protéger votre environnement Hyper-V.
Fusion des snapshots
Méthode
Étape 1 : fonctionnement des snapshots Hyper-V.
Les snapshots Hyper-V sont stockés au même endroit et au même format : .avhd(x) que les fichiers VM.
Hyper-V crée des disques durs virtuels spécialement conçus (disques de différenciation) lorsque vous créez un snapshot. Toutes les modifications temporaires apportées au disque dur de la VM primaire sont stockées sur ces disques de différenciation, tandis que le disque dur de la VM primaire reste un disque en lecture seule, de sorte que les modifications ne peuvent pas être appliquées. Chacun de ces disques de différenciation a une relation parent-enfant (lien hiérarchique) avec le disque dur virtuel primaire correspondant. Vous pouvez créer jusqu'à 50 snapshots pour chaque VM, organisés selon une hiérarchie séquentielle, créant ainsi un sous-arbre de checkpoint.
Cependant, lorsque plusieurs snapshots sont créés, les fichiers .avhd(x) commencent à s'empiler et occupent beaucoup d'espace de stockage, ce qui affecte les performances de votre VM.
Si vous souhaitez supprimer les fichiers .avhd(x) inutiles, vous devez fusionner les snapshots Hyper-V et les données qu'ils contiennent dans un disque parent ou un autre disque virtuel. Il n'est pas recommandé de supprimer les snapshots Hyper-V directement de l'ordinateur. Après avoir fusionné les snapshots Hyper-V, tous les fichiers .avhd(x) seront supprimés du disque. De cette façon, vous pouvez créer de l'espace supplémentaire sur votre hôte Hyper-V.
Voyons maintenant comment fusionner des snapshots Hyper-V à l'aide de Hyper-V Manager ou de PowerShell.
Méthode
Étape 2 : utilisation de Hyper-V Manager pour fusionner les snapshots Hyper-V.
La première chose à faire avant de fusionner des snapshots est de déterminer quels snapshots Hyper-V doivent être fusionnés. Les snapshots Hyper-V doivent être fusionnés dans un ordre spécifique : de l'enfant au parent. Il est donc essentiel de disposer l'arbre de checkpoint dans l'ordre correct du processus de création des snapshots : du plus récent au plus ancien.
Comme mentionné précédemment, les snapshots ont une relation parent-enfant, ce qui signifie que chaque snapshot est lié au snapshot précédent sous la forme d'une chaîne. Par exemple, lorsque vous créez 3 snapshots pour 1 disque dur virtuel, le disque virtuel primaire sur lequel votre VM fonctionne agit comme le parent du premier snapshot ou checkpoint (enfant), le premier checkpoint agit comme le parent du deuxième checkpoint et le deuxième checkpoint agit comme le parent du troisième checkpoint.
Étape 3 : organiser l'arbre des checkpoints dans le bon ordre.
Pour organiser l'arborescence des checkpoints dans l'ordre correct du processus de création des snapshots, suivez ces étapes, comme indiqué dans la capture d'écran :
Ouvrez Hyper-V Manager et sélectionnez la VM dont les snapshots doivent être fusionnés dans le volet central.
Cliquez sur Inspecter le disque dans la section Actions à droite.
Étape 4 : sélection du fichier .avhd(x).
Sélectionnez le fichier .avhd(x) et cliquez sur « OK ».
Étape 5 : fin de l'organisation de l'arbre des checkpoints.
Un aperçu des propriétés du disque dur virtuel s'ouvre, contenant le format, le type, le nom, l'emplacement, la taille et le nom du parent du disque virtuel.
Cliquez sur « Inspecter le parent » pour déterminer le parent du fichier .avhd(x) sélectionné.
Répétez les étapes 3 à 5 pour chaque fichier .avhd(x) et organisez leur ordre pour la fusion.
Vous pouvez maintenant commencer à fusionner vos snapshots Hyper-V.
Notez que votre VM doit être éteinte pour éviter tout problème pendant le processus de fusion.
Étape 6 : en-tête de l'assistant d'édition de disque dur virtuel.
Maintenant, afin de fusionner les snapshots Hyper-V, procédez comme suit :
Ouvrez Hyper-V Manager.
Sélectionnez la VM requise et cliquez sur « Editer le disque » pour ouvrir l'assistant d'édition de disque dur virtuel.
Cliquez ensuite sur « Suivant ».
Cliquez sur « Parcourir » pour sélectionner le dernier fichier .avhd(x).
Cliquez sur « Suivant ».
Méthode
Étape 7 : choisir l'action et fusionner.
Cliquez sur « Choisir une action » et sélectionnez « Fusionner » pour fusionner les modifications stockées dans un disque de différenciation dans le disque parent ou un autre disque. Cliquez ensuite sur « Suivant ».
Méthode
Étape 8 : configurer le disque.
Dans « Configurer le disque », sélectionnez « Vers le disque dur virtuel parent » et cliquez sur « Terminer ».
Méthode
Étape 9 : répétez les étapes et redémarrez.
Répétez les étapes 1 à 5 pour chaque fichier .avhd(x) jusqu'à ce que toutes les modifications aient été fusionnées avec succès dans le disque virtuel parent.
Redémarrez la VM pour que les modifications apportées prennent effet.
Étape 10 : utilisation de PowerShell pour fusionner les snapshots Hyper-V.
Avant de lancer le processus de fusion Hyper-V avec PowerShell, assurez-vous que la cmdlet Merge-VHD est activée sur votre ordinateur. Si la cmdlet Merge-VHD est désactivée, le message d'erreur suivant s'affiche à l'écran :
Le terme « Merge-VHD » n'est pas reconnu comme le nom d'un cmdlet, d'une fonction, d'un fichier script ou d'un programme exploitable. Vérifiez l'orthographe du nom, ou si un chemin d'accès a été inclus, vérifiez qu'il est correct et réessayez.
Étape 11 : activez la cmdlet Merge-VHD.
Pour résoudre ce problème, ouvrez PowerShell en tant qu'administrateur et exécutez la commande suivante :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell
Étape 12 : activation de la cmdlet Merge-VHD.
Si tout se passe bien, vous devriez voir la configuration comme dans la capture d'écran ci-dessus.
Méthode
Étape 13 : exécution de la cmdlet de fusion.
Vous avez maintenant tout ce qu'il vous faut pour fusionner des snapshots Hyper-V avec PowerShell.
Notez que votre VM doit être éteinte pour éviter tout problème pendant le processus de fusion.
Exécutez la cmdlet suivante pour fusionner les snapshots Hyper-V :
Merge-VHD Path = « DestinationPath = »
Étape 14 : fusionner les snapshots Hyper-V.
Avec cette commande, les données de plusieurs disques enfants, en commençant par le plus récent, vont commencer à fusionner dans le disque parent le plus ancien. Vous devriez voir le processus de fusion s'exécuter sur votre écran.
Vous avez probablement remarqué que PowerShell permet d'effectuer une opération aussi complexe avec une seule commande, contrairement à Hyper-V Manager, qui nécessite de fusionner chaque couche de la chaîne de disques séparément. Une fois le processus de fusion terminé, arrêtez la VM invitée et redémarrez le système.
Le processus de fusion des snapshots Hyper-V est maintenant terminé.
Il est nécessaire de souligner que l'utilisation des snapshots Hyper-V ne doit se faire que dans les environnements de développement et de test pour obtenir les meilleurs résultats. Évitez de les utiliser dans un environnement de production. Vous devriez fortement envisager d'utiliser une solution de sauvegarde et de récupération, car les snapshots Hyper-V ne peuvent pas se substituer à une véritable sauvegarde des données. Une solution de sauvegarde et de récupération fiable doit vous offrir de multiples options de protection des données et vous faire gagner beaucoup de temps et de ressources.