VirtualBox · 4 min read · Jan 05, 2026

VirtualBox : Création de sauvegardes et de clones de machines virtuelles en cours d'exécution (sans temps d'arrêt) avec des instantanés LVM

VirtualBox : Création de sauvegardes et de clones de machines virtuelles en cours d’exécution (sans temps d’arrêt) avec des instantanés LVM

Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter

Si vous utilisez des volumes LVM pour vos VM VirtualBox (comme montré dans le tutoriel Utilisation de périphériques RAW dans les VM VirtualBox), vous pouvez créer des sauvegardes et des clones d’une VM en cours d’exécution sans l’arrêter. Ce tutoriel montre exactement cela : utiliser des instantanés LVM pour créer des sauvegardes et des clones de VM VirtualBox en cours d’exécution sans temps d’arrêt.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Parce que j’ai installé VirtualBox sur un serveur sans tête, j’utilise phpvirtualbox comme interface graphique de VirtualBox ici. Si vous utilisez l’interface graphique originale de VirtualBox, c’est tout à fait acceptable.

Ma machine virtuelle en cours d’exécution (dont je veux faire une sauvegarde) s’appelle vm10, et elle est située sur le volume LVM /dev/vg0/vm10.

Assurez-vous que vous êtes connecté en tant que root (tapez

sudo su

pour devenir root), car nous devons exécuter toutes les étapes de ce tutoriel en tant qu’utilisateur root.

2 Créer une sauvegarde d’une VM en cours d’exécution avec des instantanés LVM

Pour créer une sauvegarde de la machine virtuelle en cours d’exécution vm10, je crée d’abord un instantané LVM de /dev/vg0/vm10 appelé vm10_snap. Les instantanés peuvent être plus petits que le volume original - 512 Mo seraient probablement suffisants, mais j’utilise ici une taille de 5 Go :

lvcreate -L5G -s -n vm10_snap /dev/vg0/vm10

Ensuite, j’utilise dd pour lire le contenu de l’instantané et le diriger vers gzip pour créer une image de sauvegarde gzippée dans le répertoire /backup (vous pouvez, bien sûr, utiliser n’importe quel autre répertoire) :

dd if=/dev/vg0/vm10_snap bs=64k | gzip -c > /backup/vm10.img.gz

C’est tout - votre sauvegarde de vm10 est maintenant située dans /backup/vm10.img.gz.

Maintenant, supprimez l’instantané LVM :

lvremove -f /dev/vg0/vm10_snap

3 Restaurer à partir d’une sauvegarde/Cloner à partir d’une sauvegarde

Restaurer et cloner est essentiellement la même chose, donc je vais montrer comment créer un clone appelé vm11 à partir de la sauvegarde que nous venons de créer.

Tout d’abord, créez un volume LVM de la même taille que le volume LVM original (20 Go dans cet exemple) :

lvcreate -L20G -n vm11 vg0

Restaurer la sauvegarde de vm10 vers le nouveau volume logique /dev/vg0/vm11 :

gunzip -c /backup/vm10.img.gz | dd of=/dev/vg0/vm11 bs=64k

Ensuite, créez un fichier .vmdk pour /dev/vg0/vm11 (par exemple, vm11.vmdk) afin que nous puissions l’utiliser avec VirtualBox. Il est probablement préférable de le créer dans le répertoire personnel de l’utilisateur sous lequel VirtualBox s’exécute (par exemple, /home/vbox si vous utilisez phpvirtualbox) - le fichier doit également appartenir à cet utilisateur :

cd /home/vbox  
 VBoxManage internalcommands createrawvmdk -filename vm11.vmdk -rawdisk /dev/vg0/vm11  
 chown vbox:vbox vm11.vmdk

Ensuite, allez dans votre interface graphique VirtualBox (interface graphique originale de VirtulBox ou phpvirtualbox) et cliquez sur Nouveau :

Cliquez sur Suivant>> dans l’assistant de création de nouvelle machine virtuelle :

Spécifiez le nom de la nouvelle VM et sélectionnez le même système d’exploitation et la même version que ceux utilisés par la VM originale :

Spécifiez la mémoire du clone :

Sur l’écran du disque dur virtuel, sélectionnez Utiliser un disque dur virtuel existant et cliquez sur l’icône Choisir un fichier de disque dur virtuel :

Sélectionnez le fichier vm11.vmdk et cliquez sur OK :

Cliquez sur Suivant>> :

Cliquez sur Créer :

Avant de démarrer le clone, vous voudrez peut-être ajuster certains paramètres, par exemple si la VM originale utilise le pontage, vous voudrez peut-être sélectionner le pontage pour le clone dans la configuration réseau également :

Maintenant, cliquez sur Démarrer pour démarrer le clone :

Lors du démarrage, vous remarquerez probablement que la configuration réseau se bloque :

Cela se produit parce que VirtualBox a attribué une adresse MAC différente pour l’interface eth0 au clone, mais le fichier /etc/udev/rules.d/70-persistent-net.rules du clone utilise toujours l’adresse MAC originale. Après le démarrage, connectez-vous au clone et exécutez…

ifconfig

… et vous verrez qu’eth0 est manquant (en raison du problème d’adresse MAC), ce qui signifie que le clone ne peut pas utiliser le réseau :

Pour résoudre le problème, ouvrez /etc/udev/rules.d/70-persistent-net.rules dans le clone…

vi /etc/udev/rules.d/70-persistent-net.rules

… et commentez la ligne eth0 (et également la ligne eth1 qui a été ajoutée lors du démarrage parce que l’adresse MAC d’eth0 était incorrecte). Cela garantit qu’au prochain démarrage, le système ajoutera une nouvelle ligne eth0 avec la bonne adresse MAC.

Maintenant, redémarrez le clone. Après le redémarrage, son réseau devrait fonctionner, et vous devriez voir eth0 dans la sortie de

ifconfig

Félicitations, vous avez cloné avec succès une VM sans arrêter la VM originale.

4 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.