Snapshots

6
Hyper-V (R2) : Les snapshots par Valentin Pourchet vpourchet ClaudeLELOUP Date de publication : 17 novembre 2011 En bon "hyperviseur", Hyper-V de Microsoft offre la possibilité de faire des snapshots (captures d'un état d'une machine virtuelle à un instant donné). Nous verrons ici comment Hyper-V gère cette fonctionnalité, ainsi que les procédures de création, suppression et utilisation des snapshots.

Transcript of Snapshots

Hyper-V (R2) : Les snapshots

par Valentin Pourchet vpourchet ClaudeLELOUP

Date de publication : 17 novembre 2011

En bon "hyperviseur", Hyper-V de Microsoft offre la possibilité de faire des snapshots(captures d'un état d'une machine virtuelle à un instant donné). Nous verrons ici commentHyper-V gère cette fonctionnalité, ainsi que les procédures de création, suppression etutilisation des snapshots.

Hyper-V (R2) : Les snapshots par Valentin Pourchet vpourchet ClaudeLELOUP

- 2 -Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentationconstitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Developpez LLC. Tous droits réservés Developpez LLC.Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisationexpresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cettepage est déposée à la SACD.

http://vpourchet.developpez.com/tutoriels/virtualisation/hyper-v/snapshots/

1 - Définition.................................................................................................................................................................32 - Processus de création d'un snapshot....................................................................................................................43 - Processus de suppression d'un snapshot............................................................................................................. 54 - Processus d'application d'un snapshot..................................................................................................................65 - Processus du 'revert'............................................................................................................................................. 6VI - Remerciements..................................................................................................................................................... 6

Hyper-V (R2) : Les snapshots par Valentin Pourchet vpourchet ClaudeLELOUP

- 3 -Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentationconstitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Developpez LLC. Tous droits réservés Developpez LLC.Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisationexpresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cettepage est déposée à la SACD.

http://vpourchet.developpez.com/tutoriels/virtualisation/hyper-v/snapshots/

1 - Définition

Les snapshots sont des captures de l'état d'une machine virtuelle à un instant T. Ils permettent de ramener l'état decette machine ultérieurement à son état initial.

Prenons un exemple : je développe un super programme et souhaite le tester sur une machine virtuelle. Je prendsdonc un snapshot puis j'installe mon programme sur la VM, pas de bol la VM crashe, heureusement, je rejoue lesnapshot et ma VM ne garde aucune trace ni de l'installation du programme ni du plantage. Ce processus est illustrésur l'image ci-dessus.

Le snapshot contient :

• une copie de la configuration de la machine virtuelle (si on ajoute un contrôleur après le snapshot, lors de larestauration du snapshot, le contrôleur aura disparu) ;

• une copie des données inscrites dans la mémoire RAM virtuelle ;• et tous les changements opérés sur le disque (le fichier .avhd représente le différentiel disque).

Il est possible d'avoir une arborescence de snapshots, si tel est le cas et qu'un snapshot parent est restauré, tousles snapshots enfants sont alors restaurés.

Les snapshots ne sont recommandés que pour les environnements de tests et de développement, pourquoi ? Toutsimplement parce que les changements effectués sur la machine vont engendrer un grossissement du fichier dusnapshot (.avhd). Là où il est possible de définir une taille maximale sur les disques durs virtuels, il n'est pas possiblede faire de même sur les snapshots. Ainsi il arrive qu'un snapshot finisse par prendre un espace considérable etsature le disque (cas déjà rencontré). Ainsi, je le répète : pas de snapshots en production !!!

Hyper-V (R2) : Les snapshots par Valentin Pourchet vpourchet ClaudeLELOUP

- 4 -Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentationconstitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Developpez LLC. Tous droits réservés Developpez LLC.Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisationexpresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cettepage est déposée à la SACD.

http://vpourchet.developpez.com/tutoriels/virtualisation/hyper-v/snapshots/

2 - Processus de création d'un snapshot

Détaillons maintenant le processus de création d'un snapshot.

Première étape, la machine virtuelle se met en 'pause'.

Puis un fichier de snapshot (.avhd) est créé.

La configuration de la machine est changée.

La machine pointe vers le nouveau fichier avhd.

La VM est à nouveau disponible.

---------- le laps de temps pour effectuer les opérations précédentes n'est pas perceptible ----------

Le contenu de la mémoire est enregistré sur le disque.

Une fois les étapes complétées, les fichiers du snapshot (différentiel disque, mémoire et configuration de la VM) sontdirigés vers un nouveau dossier.

Hyper-V (R2) : Les snapshots par Valentin Pourchet vpourchet ClaudeLELOUP

- 5 -Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentationconstitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Developpez LLC. Tous droits réservés Developpez LLC.Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisationexpresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cettepage est déposée à la SACD.

http://vpourchet.developpez.com/tutoriels/virtualisation/hyper-v/snapshots/

3 - Processus de suppression d'un snapshot

Hyper-V (R2) : Les snapshots par Valentin Pourchet vpourchet ClaudeLELOUP

- 6 -Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentationconstitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Developpez LLC. Tous droits réservés Developpez LLC.Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisationexpresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cettepage est déposée à la SACD.

http://vpourchet.developpez.com/tutoriels/virtualisation/hyper-v/snapshots/

Lorsqu'un snapshot est supprimé, les fichiers de configuration créés au moment du snapshot sont supprimés, puislorsque la machine virtuelle est éteinte, le contenu des fichiers .AVHD est intégré au fichier de disque VHD. Si unearborescence complète de snapshots est supprimée, les snapshots 'enfants' sont intégrés au contenu du snapshot'parent'. Ainsi, supprimer un snapshot correspond à supprimer un point de retour, votre VM conservera son état'actuel' et ne pourra plus revenir à son état 'antérieur'.

4 - Processus d'application d'un snapshot

Appliquer un snapshot équivaut à remettre la machine virtuelle à l'état auquel elle se trouvait lorsque le snapshot aété pris. Concrètement, lors de l'application d'un snapshot, les fichiers de configuration de la machine sont copiés, etun nouveau fichier de snapshot .avhd est créé. Le snapshot 'original' conserve son état, ce qui permet de restaurerle même snapshot de nombreuses fois. Le contenu de la mémoire et du fichier de configuration sont copiés, et lenouveau .avhd est lié au .avhd parent (rappel : les .avhd ne contiennent que les opérations différentielles du disqueaprès que le snapshot a été pris).

5 - Processus du 'revert'

Le processus 'revert' équivaut à appliquer le dernier snapshot dans l'arborescence de la machine virtuelle, c'est-à-dire le plus récent snapshot qui a été effectué. On peut l'assimiler à une sorte de mode de démarrage 'dernière bonneconfiguration connue' pour les environnements de tests où les retours en arrière sont fréquents.

VI - Remerciements

Je voudrais remercier ClaudeLELOUP pour sa relecture orthographique détaillée.