vInfra.ch

Guillaume LACAILLE's Blog

La VM reste en ‘saved-state’ après un backup sous Hyper-V

Après un backup avec SnapManager for Hyper-V, une machine reste en ‘Saved-State’ et ne peut pas être redémarrée.

Ce matin, pendant mes vérifications journalières, je trouve une machine virtuelle dans l’état « Saved-state ». Après vérifications, aucun administrateur ne l’a passé dans cet état et décide de redémarrer la machine virtuelle.

 

Figure 1: Tentative de redémarrage

Figure 1: Tentative de redémarrage

La machine virtuelle reste dans l’état saved-state. Aucune autre indication n’est disponible dans SCVMM, ni dans la console Hyper-V Manager.

Sur l’hôte Hyper-V, la commande suivante me permet de vérifier l’état dans lequel se trouve la machine virtuelle:

Cette commande renvois le status suivant:

Un petit tour au niveau des VSS Writers:

 Que s’est-il passé ?

Avant toute explication, il existe deux types de backups sous Hyper-V:

  • Child VM Snapshot: La machine continue de fonctionner pendant les backups. Hyper-V demande au « Hyper-V Volume Shadow Copy Requestor Service » (service qui s’installe avec les integration tools) d’utiliser les mécanismes de snapshot de l’application pour pouvoir sauvegarder des données consistante. Ce processus utilise les VSS Writers livrés par l’éditeur de l’application (inclus).
  • Saved State: La machine virtuelle n’a pas les intégrations tools ou l’application ne supporte pas les mécanismes de snapshot applicatif. Dans ce cas, la machine virtuelle est mise en pause afin de pouvoir sauvegarder le serveur de manière consistante.

Dans mon cas, il s’est passé plusieurs choses:

  • Lors du backup de la machine virtuelle, SnapManager (l’outil de NetApp) tente par défaut de faire un backup de la machine virtuelle en mode « Child VM Snapshot ».
  • Dans ce cas, les VSS de la machine virtuelle sont partis en erreur. SnapManager a donc décidé d’utiliser le mécanisme de backup « saved state », mettant ainsi en pause la machine virtuelle.
  • Pendant le processus de backup, le Writer VSS « Microsoft Hyper-V VSS Writer » de l^hyper-v en question est partis en erreur (Timed out) avant même la restauration de la machine virtuelle dans un état « Running ».

Comme d’habitude, le mécanisme VSS de Windows est en cause !

Résolution:

Afin de pouvoir redémarrer la machine virtuelle, il suffit de redémarrer le service VMMS, ce qui va réinitialiser l’état du Writer VSS « Microsoft Hyper-V VSS Writer » :

Note: Le redémarrage du service VMMS n’a aucune influence sur le fonctionnement de vos autres machines virtuelles en cours de fonctionnement sur cet hyper-v.

Si vous souhaitez connaître plus en détail les différentes étapes du processus de backup sous Hyper-V et les mécanismes VSS, je vous invite à lire les articles suivants:

Backing Up and Restoring Virtual Machines
Overview of Processing a Backup Under VSS

Pour information, il semblerait (conditionnel de mise, je ne trouve pas les sources de cette information ! S’agit-il du live-export ?) que Microsoft ait modifié le fonctionnement des backups dans Hyper-V 2012 R2, permettant un mode utilisant les mécanismes de checkpoint (snapshot) des VHD, comme le fait actuellement les solutions VMware. Cette méthode permet non seulement de s’affranchir des problèmes récurrents de VSS, mais permet de sauvegarder toutes les machines virtuelles sans mettre en pause le service, y compris sur les machines virtuelles ne supportant pas VSS (Windows 2000, Linux).

, , , ,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *