Articles

Apprendre comment et quand utiliser les instantanés vSphere

L’état d’une machine virtuelle à tout moment spécifique peut être préservé en prenant ce que l’on appelle un instantané.

La fonctionnalité d’instantané VMware est particulièrement utile dans les scénarios où vous voulez récupérer rapidement d’une panne ou simplement revenir à un état souhaité. La restauration d’une VM à un état fonctionnel après une mise à jour ou un correctif bâclé est un cas d’utilisation courant. De même, vous pouvez utiliser des instantanés pour réinitialiser une VM à un état de base une fois qu’un utilisateur a fini de l’utiliser, peut-être dans le cadre d’un régime de maintenance de laboratoire de formation.

La fonctionnalité d’instantané est disponible à la fois sur les hôtes ESXi autonomes et sur vCenter Server.

Travailler avec des instantanés et Snapshot Manager

Vous pouvez travailler avec des instantanés à partir de n’importe quel client vSphere ou en effectuant des appels API à partir de PowerCLI ou similaire. Différentes tâches telles que le retour en arrière à partir d’un instantané, la suppression d’instantanés, etc. suivent le même modèle de clic et de sélection. Le dénominateur commun ici est le gestionnaire de clichés en utilisant lequel, vous serez en mesure de :

  • Prendre des clichés.
  • Retourner au dernier cliché ou à tout autre cliché.
  • Supprimer un cliché.
  • Supprimer tous les clichés.
  • Modifier un cliché (nom et description).
  • Gérer les instantanés.
  • Consolider les disques.

Depuis le client vSphere, il s’agit toujours de faire un clic droit sur le nom de la VM, de sélectionner Instantané(s) dans le menu contextuel ou d’actions de la VM, suivi de l’opération souhaitée. Ceci est illustré dans la figure 1 comme l’option A. Alternativement, mettez en surbrillance le nom de la VM, cliquez sur l’onglet Snapshots et sélectionnez une tâche dans le menu déroulant Toutes les actions ou en cliquant sur l’icône de la tâche respective, c’est-à-dire l’option B.

Figure 1 – Deux façons d’effectuer une action liée à un instantané sur une VM

Notez que chaque VM peut avoir un maximum de 32 instantanés. Pour de meilleures performances, il est recommandé de s’en tenir à 2 ou 3 snapshots par VM. Lorsque cette limite est dépassée, l’erreur montrée dans la Fig.2 est retournée.

Figure 2 – Erreur indiquant que la limite du nombre maximum d’instantanés par vm a été dépassée

Une autre limite à connaître est celle de la rétention. La recommandation est d’éviter d’utiliser un instantané pendant plus de 72 heures car les fichiers constituant l’instantané ne cessent de croître et peuvent avoir un impact sur les performances du système en dehors du fait que vous pouvez manquer d’espace sur des datastores qui sont relativement petits en taille.

Comment prendre des instantanés

Lorsque vous prenez un instantané d’une VM, les informations suivantes sont préservées.

  • Paramètres de la machine virtuelle. Le répertoire de la machine virtuelle, qui comprend les disques ajoutés ou modifiés après que vous ayez pris le snapshot.
  • État d’alimentation. La machine virtuelle peut être sous tension, hors tension ou suspendue.
  • État des disques. État de tous les disques virtuels de la machine virtuelle.
  • (Facultatif) État de la mémoire. Le contenu de la mémoire de la machine virtuelle.

Deux paramètres facultatifs déterminent l’état dans lequel une VM est restaurée lors d’un retour en arrière à partir d’un snapshot. Notez qu’aucune de ces options n’est disponible, ou requise d’ailleurs, lorsqu’un snapshot est pris alors que la VM est hors tension. Les deux options sont :

Snapshot de la mémoire de la machine virtuelle : Activée par défaut, cette option vide le contenu de la mémoire d’une VM sur le disque dans le cadre du snapshot. Cela permet à une VM de revenir à l’état exact dans lequel elle fonctionnait lorsque le snapshot a été pris. Si cette option est désélectionnée, et si l’option quiescing n’est pas non plus sélectionnée, l’instantané créera des fichiers qui sont compatibles avec les pannes, ce qui signifie que vous devrez mettre la VM sous tension manuellement après l’avoir restaurée à partir d’un instantané. Un instantané de la mémoire prendra beaucoup plus de temps pour se terminer. En outre, une VM est « gelée » pour assurer l’intégrité de l’état.

Quiesce le système de fichiers invité : Cette option nécessite que les outils VMware soient installés et fonctionnent correctement. Quiescer une VM est la méthode préférée pour garantir un état adapté aux sauvegardes. Cela inclut des opérations telles que le vidage des tampons sales du cache en mémoire du système d’exploitation vers le disque ou d’autres tâches de haut niveau spécifiques à l’application. Quiescing indique la mise en pause ou la modification de l’état des processus en cours d’exécution sur un ordinateur, en particulier ceux qui pourraient modifier les informations stockées sur le disque pendant une sauvegarde, afin de garantir une sauvegarde cohérente et utilisable. Le quiescing n’est pas nécessaire pour les instantanés de mémoire ; il est utilisé principalement pour les sauvegardes.

La figure 3 capture une série de captures d’écran montrant comment les instantanés, de VM résidant sur différents environnements, sont pris à l’aide d’un client vSphere ou Host particulier.

  • Exemple 1 – Prise d’un instantané d’une VM gérée par vCenter Server 6.5 via le client vSphere Web.
  • Exemple 2 – Prendre un instantané d’une VM hébergée sur un hôte autonome ESXi 6.5 via le client hôte ESXi.
  • Exemple 3 – Prendre un instantané d’une VM hébergée sur un hôte autonome ESXi 6.0 via le client vSphere C#.

Figure 3 – Divers exemples sur la façon de prendre des instantanés

Le quatrième et dernier exemple illustre comment PowerCLI est utilisé pour prendre un instantané d’une VM gérée par vCSA 6.5. J’ai inclus deux façons possibles que vous pouvez utiliser pour prendre un instantané d’une VM. Dans le premier exemple, je récupère simplement une VM à l’aide de la commande Get-VM que je place ensuite dans la cmdlet New-Snapshot. Dans le second exemple, j’ai utilisé la cmdlet New-Snapshot seule, en spécifiant la VM que vous souhaitez photographier à l’aide du paramètre -VM. Dans les deux exemples, le paramètre -Name attribue un nom à l’instantané réalisé.

PowerShell

1
get-vm -name « windows 7 » | New-Snapshot -Nom « Pre Windows Update »

.

PowerShell

1
Nouveau-Snapshot -VM « Windows 7 » -Nom « Pre Windows Update »

Figure 4 – Deux façons de créer des snapshots avec PowerCLI

Comment exclure les disques d’un snapshot

Il peut y avoir des cas où vous ne voulez pas que les disques de la VM soient affectés par les snapshots. Pour ce faire, changez le mode disque dur d’une VM en mode indépendant – persistant ou indépendant – non persistant à partir des paramètres de la VM. Les deux options diffèrent légèrement selon les explications de VMware :

Indépendant – Persistant : Les disques en mode persistant se comportent comme des disques classiques sur votre ordinateur physique. Toutes les données écrites sur un disque en mode persistant sont écrites de façon permanente sur le disque.

Independent – Non persistant : Les modifications apportées aux disques en mode non persistant sont supprimées lorsque vous éteignez ou réinitialisez la machine virtuelle. Avec le mode non persistant, vous pouvez redémarrer la machine virtuelle avec un disque virtuel dans le même état à chaque fois. Les modifications apportées au disque sont écrites et lues dans un fichier journal redo qui est supprimé lorsque vous mettez hors tension ou que vous réinitialisez.

Figure 5 – Modification du mode de disque d’un VMDK pour l’exclure des instantanés

Comment revenir à un instantané

Pour revenir à un instantané, vous sélectionnez soit l’option Revenir au dernier instantané. Si une VM a plusieurs instantanés, il suffit de mettre en surbrillance l’instantané vers lequel vous voulez revenir dans la hiérarchie des instantanés affichée dans le Gestionnaire d’instantanés et d’appuyer sur l’icône Revert To (Revenir à) comme indiqué dans la Fig. 6.

Figure 6 – Sélection de l’instantané vers lequel revenir dans le Gestionnaire d’instantanés

L’état vers lequel une VM revient, dépend des options sélectionnées au moment où l’instantané a été pris. Si l’option mémoire était sélectionnée, la VM reste sous tension pendant qu’elle revient à un état antérieur. Si l’option de mémoire n’était pas incluse au moment où l’instantané a été pris, vous devrez mettre la VM sous tension manuellement après être revenu en arrière à partir d’un instantané, quel que soit l’état d’alimentation de la VM au moment où l’instantané a été pris.

Chaque fois que vous revenez en arrière à partir d’un instantané, vous serez averti que l’état actuel de la VM sera perdu à moins que vous ne preniez un instantané, comme indiqué dans la Fig. 7.

Figure 7 – Avertissement de perte de l’état actuel lors d’un retour à un instantané

Si l’option de mémoire a été sélectionnée lorsque l’instantané a été pris, il vous est alors présenté l’option de suspendre la VM pendant qu’elle est en cours de retour. Si vous sélectionnez l’option, vous devez ensuite « dépenser » la VM manuellement en la remettant sous tension.

Figure 8 – Suspension de la VM pendant le retour en arrière à partir d’un instantané

Le premier instantané pris est appelé instantané parent de base. Il s’agit de la version la plus récemment enregistrée de l’état actuel de la machine virtuelle. Le snapshot parent est toujours le snapshot qui apparaît immédiatement au-dessus de l’icône Vous êtes ici dans le Gestionnaire de snapshots. Si vous inversez ou restaurez un snapshot, ce snapshot devient alors le parent de l’état actuel de Vous êtes ici. Un instantané d’une VM pris après l’instantané parent est appelé instantané enfant.

Figure 9 – Hiérarchie des instantanés illustrant la relation entre les instantanés parent et enfant et l’état actuel représenté par You are here

Comment supprimer des instantanés

Vous pouvez supprimer un seul instantané ou tous les instantanés existants en une seule fois. La suppression des instantanés est un processus coûteux en E/S et peut affecter les performances. Lorsqu’un instantané est supprimé, l’état actuel d’une VM reste inchangé. Cependant, tous les changements accumulés à ce jour sont alors copiés depuis les disques delta et écrits sur le disque de base dans un processus appelé Consolidation. Suite à cela, le processus de consolidation prend soin de supprimer tous les fichiers redondants associés au snapshot qui vient d’être supprimé.

Si le processus de consolidation échoue, vous pouvez lancer le processus manuellement à partir du menu Snapshots en sélectionnant l’option Consolidation. Il est important que la consolidation soit effectuée avec succès car les disques delta redondants (voir la section suivante) peuvent nuire aux performances.

Figure 10 – Exécution de la consolidation de disque manuellement

Pour plus de détails, consultez l’article Comment consolider les instantanés dans vSphere 5.x/6.x KB article.

Les instantanés du point de vue des fichiers

Un instantané se compose d’un certain nombre de fichiers que vous pouvez être visualisés dans Datastore Browser après avoir navigué vers le dossier d’une VM pour laquelle des instantanés ont été pris.

Un instantané se compose des fichiers suivants :

Fichiers de disque delta : Un fichier .vmdk dans lequel le système d’exploitation invité peut écrire. Le disque delta représente la différence entre l’état actuel du disque virtuel et l’état qui existait au moment où le snapshot précédent a été pris. Lorsque vous prenez un snapshot, l’état du disque virtuel est préservé, ce qui empêche le système d’exploitation invité d’y écrire, et un disque delta ou enfant est créé. Un disque delta comporte deux fichiers, dont un fichier descripteur qui est petit et contient des informations sur le disque virtuel et un fichier correspondant qui contient les données brutes. Les fichiers qui composent le disque delta sont appelés disques enfants ou redo logs.

Fichier plat : Un fichier -flat.vmdk qui est l’un des deux fichiers qui composent le disque de base. Le disque plat contient les données brutes du disque de base. Ce fichier n’apparaît pas comme un fichier distinct dans le navigateur de stockage de données mais il est répertorié séparément lors de l’énumération du contenu du répertoire lorsqu’il est consolé à ESXi.

Figure 11 – Certains fichiers ne sont visibles que lorsqu’ils sont consignés à ESXi

Fichier de base de données : Un fichier .vmsd qui contient les informations sur les instantanés de la VM et constitue la principale source d’informations pour le gestionnaire d’instantanés. Ce fichier, qui peut être consulté dans n’importe quel éditeur de texte, contient des entrées de ligne qui définissent les relations entre les instantanés et les disques enfants pour chaque instantané.

Fichier de mémoire : Un fichier .vmsn, comprend l’état actif d’une VM et capture l’état de la mémoire de la VM pour vous permettre de revenir à un état de machine virtuelle allumée. Si l’option de mémoire instantanée est désélectionnée, vous ne pouvez revenir qu’à un état de VM éteint.

Vous pouvez vous référer au post intitulé L’anatomie d’une machine virtuelle VMware pour plus de détails.

Figure 12 – Mappage des fichiers d’instantanés affichés dans Datastore Browser aux entrées trouvées dans le fichier de base de données

Comme mentionné, un instantané préserve l’état du disque et/ou de la VM à un moment précis en créant une série de disques delta pour chaque disque virtuel ou RDM virtuel attaché. En option, la mémoire et l’état d’alimentation sont préservés en créant un fichier mémoire.

Chaque instantané crée un fichier delta supplémentaire. Lorsque vous prenez un instantané, le mécanisme d’instantané empêche le système d’exploitation invité d’écrire dans le fichier .vmdk de base et dirige plutôt toutes les écritures vers le fichier du disque delta. Le disque delta représente la différence entre l’état actuel du disque virtuel et l’état qui existait au moment où vous avez pris le snapshot précédent. S’il existe plus d’un snapshot, les disques delta peuvent représenter la différence entre chaque snapshot. Les fichiers de disque delta peuvent se développer rapidement et devenir aussi grands que le disque virtuel entier si le système d’exploitation invité écrit dans chaque bloc du disque virtuel.

Des détails supplémentaires peuvent être trouvés dans les liens suivants :

  • Comprendre les instantanés de VM dans ESXi / ESX
  • Déterminer s’il y a des fichiers delta restants ou des instantanés que VMware vSphere ou Infrastructure Client ne peut pas détecter

Limitations des instantanés

Il existe un certain nombre de limitations dont vous devez être conscient. Quelques-unes, telles que celles liées à la façon dont les instantanés interagissent avec vMotion, doivent être correctement traitées si vous utilisez encore des versions plus anciennes de vSphere.

  • Les instantanés de VM avec des disques bruts, des disques en mode physique RDM ou des systèmes d’exploitation invités utilisant un initiateur iSCSI dans l’invité ne sont pas pris en charge.
  • Les VM avec des disques indépendants doivent être mises hors tension avant de prendre un instantané.
  • Les instantanés de VM sous tension ou suspendues avec des disques indépendants ne sont pas pris en charge.
  • Les instantanés ne sont pas pris en charge avec les périphériques d’E/S PCI vSphere Direct Path.
  • Les instantanés de VM configurés pour le partage de bus ne sont pas une option prise en charge par VMware.
  • Bien que les instantanés fournissent une image ponctuelle du disque que les solutions de sauvegarde peuvent utiliser, ils ne sont pas censés être une méthode robuste de sauvegarde et de récupération. Si les fichiers contenant une machine virtuelle sont perdus, ses fichiers de snapshots le sont également. De plus, un grand nombre de snapshots est difficile à gérer, consomme une grande quantité d’espace disque et n’est pas protégé en cas de défaillance matérielle.
  • Les snapshots peuvent affecter négativement les performances d’une machine virtuelle. La dégradation des performances dépend de la durée du snapshot ou de l’arbre de snapshots, de la profondeur de l’arbre et de l’ampleur des modifications apportées à la machine virtuelle et à son système d’exploitation invité par rapport au moment où vous avez pris le snapshot. Vous pouvez également constater un retard dans le temps nécessaire à la mise sous tension de la machine virtuelle. N’exécutez pas les machines virtuelles de production à partir de snapshots de façon permanente.
  • Si une machine virtuelle a des disques durs virtuels de plus de 2TB, les opérations de snapshot peuvent prendre beaucoup plus de temps pour se terminer.

Si vous avez des environnements pré-vSphere 6.0, assurez-vous de lire l’article KB Migrating virtual machines with snapshots. Un problème commun que je rencontrais fréquemment, était celui où vous mettiez un hôte en mode de maintenance et attendiez que les VM migrent hors de celui-ci automatiquement, pour trouver le processus bloqué parce qu’une ou plusieurs VM avaient des instantanés.

Dépannage

Voici quelques articles KB qui couvrent certains des problèmes les plus courants que vous serez susceptibles de croiser en travaillant avec des instantanés.

  • Dépannage des problèmes lors de la création ou de la validation des snapshots dans VMware ESXi/ESX
  • Incapable de supprimer les snapshots de la machine virtuelle
  • Incapable de créer de nouveaux snapshots sur une machine virtuelle après avoir supprimé un disque de la machine virtuelle
  • La tâche de suppression des snapshots s’arrête à 99% dans ESXi/ESX

.