VirtualBox et les instantanés (snapshots)
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à utiliser les snapshots avec VirtualBox, ou plutôt les instantanés pour reprendre le terme officiel en français. Un snapshot va permettre de capturer l'état d'une machine virtuelle à un instant t, en conservant les données. Autrement dit, on sauvegarde l'état de cette VM à un instant précis. Ainsi, si l'on effectue une mauvaise manipulation sur la VM, on peut restaurer le snapshot afin de rétablir la VM dans l'état qu'elle était au moment où l'on a déclenché le snapshot.
Attention, le snapshot ne doit pas être confondu avec la notion de sauvegardes, car il ne sert pas à créer une sauvegarde de la VM, mais seulement à créer un point de référence (temporaire) sur lequel nous pourrons nous appuyer en cas de besoin. Généralement, on effectue un snapshot avant de réaliser une opération sensible afin de pouvoir revenir en arrière s'il y a un problème (mais cela ne doit pas être systématique, il faut tenir compte des spécificités de l'application qui tourne sur la VM). Si l'opération se déroule correctement, il conviendra de supprimer le snapshot pour que la VM continue sa vie.
Grâce à cet article, vous allez connaître l'essentiel lorsqu'il s'agit de prendre un instantané avec VirtualBox et de gérer cet instantané dans VirtualBox. Dans cet exemple, je vais prendre un snapshot avec l'installation d'un logiciel sur la VM.
Je vous recommande de lire les autres tutoriels au sujet de VirtualBox :
- Tutoriel - Bien débuter avec VirtualBox
- Tutoriel - Comprendre les différents types de réseaux VirtualBox
- Tutoriel - VirtualBox et les dossiers partagés
Si vous n'avez pas encore VirtualBox, voici le lien pour le télécharger :
II. Prendre un snapshot avec VirtualBox
Pour prendre un snapshot, la machine virtuelle peut être démarrée ou éteinte. Ensuite, il suffit de cliquer sur "Machine" puis "Prendre un instantané" dans la fenêtre de la VM.
Une fenêtre apparaît. Il faut nommer cet instantané, ce qui est important, car on peut créer plusieurs instantanés sur une VM. Par exemple, je nomme ce snapshot "Instantané - Avant modification config". Ce nom va s'afficher dans le gestionnaire de snapshots que nous allons voir après. Cliquez sur "OK".
Lorsqu'un snapshot est créé, de nouveaux fichiers sont générés sur votre ordinateur. Chaque VM peut stocker ses snapshots à un emplacement différent. En accédant aux paramètres de la VM, dans l'onglet "Général" puis dans "Avancé", vous verrez l'option "Dossier des instantanés". Par défaut, le snapshot est stocké dans le dossier "Snapshosts" lui-même au sein du répertoire de la VM.
Si l'on se déplace dans ce dossier, on constate plusieurs fichiers, notamment un fichier "VDI" correspondant à un disque virtuel. En fait, VirtualBox a créé un nouveau disque virtuel de différenciation : il contient toutes les données écrites dans la VM à partir du moment où l'on a créé le snapshot. Ainsi, si l'on demande à VirtualBox qu'il restaure l'état initial de la VM, il pourra le faire facilement. Le fichier "SAV" contient l'état de la VM puisqu'elle était allumée, ce qui permettra de restaurer son état "en ligne" et le fichier "NVRAM" correspond à la mémoire.
III. Le gestionnaire de snapshots de VirtualBox
Dans l'interface de VirtualBox, si l'on clique sur le menu d'une VM et sur le bouton "Instantanés", on peut accéder à la gestion des snapshots de cette VM.
Dans cet exemple, nous pouvons voir que l'on est sur "État actuel (modifié)" cela signifie que la VM a été modifiée depuis que le snapshot a été créé. Notre snapshot, avec son nom, apparaît également. Différents boutons sont accessibles dans le menu, nous en parlerons par la suite.
IV. Modification de la VM
Pour simuler des modifications dans la machine virtuelle, j'installe Mozilla Firefox en premier lieu. À titre d'exemple, on peut créer un snapshot avant de faire une mise à jour majeure sur une application sensible.
Dans le même esprit, je peux ajuster la configuration de la machine virtuelle. Par exemple, passer de 2 processeurs virtuels à 4 processeurs virtuels. Ainsi, dans le gestionnaire de snapshots, on peut voir que la valeur "4" est soulignée dans les informations de la VM. Cela signifie qu'il y a eu un changement de valeur. Si je restaure la VM à un état antérieur (au moment du snapshot), le nombre de processeurs virtuels sera remis à 2.
Au fur et à mesure que j'utilise la machine virtuelle, le disque VDI du dossier "Snapshots" continue de grossir. D'ailleurs, un snapshot ne doit jamais être conservé pendant trop longtemps, car cela affecte les performances de la VM et le disque virtuel peut rapidement atteindre une taille importante (qui vient s'ajouter à la taille du disque principal de la VM).
V. Restaurer le snapshot VirtualBox
Oups, mon installation s'est mal déroulée et il est difficile de revenir en arrière ! Fort heureusement, mon snapshot est là ! Je vais pouvoir restaurer ma machine virtuelle dans son état au moment où j'ai pris le snapshot. Éteignez la VM puis accédez au gestionnaire de snapshot avant de suivre ces étapes :
1 - Sélectionnez le snapshot dans la liste.
2 - Cliquez sur le bouton "Restaurer".
3 - Décochez l'option "Créer un instantané de l'état actuel de la machine", car sinon un nouveau snapshot sera créé à partir de l'état actuel, mais dans ce cas, ça n'en finit plus.
4 - Cliquez sur le bouton "Restaurer" de la fenêtre "VirtualBox - Question" afin de restaurer la VM dans son état antérieur
Suite à cette manipulation, on peut voir que le disque VDI du dossier "Snapshots" est toujours là, mais qu'il fait 2048 Ko. C'est normal, car il est vide et avec VirtualBox, un disque virtuel vide a une taille de 2048 Ko (2 Mo). Le fichier SAV est toujours là pour mémoriser l'état en ligne de ma VM (c'est parce que le snapshot existe toujours).
En accédant à la gestion des supports de VirtualBox via le menu Outils, on peut voir que ce disque est lié au disque principal de la VM.
Dans les paramètres de la VM, le nombre de processeurs virtuels est revenu sur "2" et Firefox n'est plus installé sur la VM. Je suis bien revenu à l'état précédent !
Actuellement, nous venons de restaurer la VM en utilisant le snapshot mais ce dernier est toujours là. Il est indispensable de le supprimer pour que la VM retrouve son fonctionnement normal, à moins que vous souhaitiez retenter votre opération sur la VM.
Pour supprimer le snapshot, vous devez le sélectionner dans la liste (1) puis cliquer sur le bouton "Supprimer" (2). Confirmez l'opération en cliquant sur "Supprimer" une nouvelle fois (3).
Ainsi, notre VM n'a plus de snapshot à l'heure actuelle. Ici, le bouton "Prendre" permet de déclencher un snapshot sur la VM sans passer par le menu "Machine" comme nous l'avons vu précédemment.
Dans le répertoire "Snapshots" de la VM, le répertoire est vide puisque nous venons de supprimer le snapshot. De ce fait, VirtualBox va écrire les données sur le disque virtuel principal de la VM.
Note : le bouton "Cloner" permet de créer un clone d'une VM à partir d'un snapshot, ce qui peut être pratique à des fins de tests.
Dans une majorité de cas, le snapshot ne devra pas être restauré, car l'opération va bien se dérouler, en tout cas c'est ce que l'on souhaite. Pour conserver l'état actuel de la machine virtuelle et se débarrasser du snapshot, il suffit de le supprimer directement à partir du gestionnaire de snapshots sans passer par l'étape "Restaurer".
Voilà, nous venons de voir comment utiliser les snapshots avec VirtualBox. Je vous encourage à tester les snapshots sur une VM de test pour vous exercer.
Version originale de cet article : 11 octobre 2012