Comment déplacer une VM gérée avec KVM? Dans cet article, je vous présente une méthode simple et sécurisée.

Introduction

Dans l’article précédent, j’expliquais comment créer et gérer des VM. Sauf que j’ai oublié de parler de l’emplacement par défaut et maintenant je dois déplacer les fichiers. Explications.

Localisation des VM

Par défaut, les VM sont stockées dans /var/lib/libvirt/images/. Mais bien sûr on peut le vérifier simplement (avec la commande ls, hein, tout bêtement) grâce au manager. Après avoir lancé “virt-manager” dans un terminal, il faut sélectionner l’image à vérifier puis choisir le menu “Edit” puis “Connection details”.

KVM: contrôler le dossier de stockage d’une VM

KVM: contrôler le dossier de stockage d’une VM

Puis cliquer dans l’onglet “Storage”. La VM à vérifier doit se trouver dans la liste des volumes. Si ce n’est pas le cas, il suffit de changer de volumes jusqu’à trouver le bon. Ensuite, le dossier est indiqué par la ligne “Location”. Ici, la VM se trouve dans le dossier “/var/lib/libvirt/images”, dans le fichier “devian10.qcow2”.

KVM: contrôler le dossier de stockage d’une VM

KVM: contrôler le dossier de stockage d’une VM

Transfert des VM

Avant d’aller plus loin, il faut arrêter les VM. Pour obtenir la liste des VM:

    
1~$ sudo virsh list --all
2
3 Id   Name                 State
4------------------------------------
5 9    debian10   running

On peut maintenant chercher le dossier

Ensuite, il faut maintenant arrêter chaque VM marquée comme démarrée (running) avec la commande:

    
1~$ sudo virsh shutdown debian10
2Domain debian10 is being shutdown

Après un petit temps d’attente, on affiche à nouveau la liste des VM pour constater qu’elle sont arrêtées:

    
1~$ sudo virsh list --all
2
3 Id   Name                 State
4-------------------------------------
5 - debian10   shut off

Maintenant, plutôt que déplacer au sens strict du terme, on va copier puis supprimer. D’abord on lance le clonage de la VM:

    
1~$ sudo virt-clone --original debian10 --name VmBaseDebianBuster --file /home/vms/VmBaseDebianBuster.qcow2

L’avantage du clonage est que la commande transforme automatiquement la configuration, pas besoin de s’inquiéter des chemins, etc. Maintenant que le clone est prêt, on peut supprimer la VM initiale avec les commandes:

    
1~$ sudo virsh undefine debian10
2Domain debian10 has been undefined
3~$ sudo rm /var/lib/libvirt/images/debian10.qcow2

Conclusion

Le déplacement d’une VM s’avère plutôt simple et sécurisé, sans bidouille dans des fichiers de configuration (ou pire la registry pour les heureux sous Windows).