Les environnements de virtualisation offrent une flexibilité et une gestion simplifiée des machines virtuelles. Si vous envisagez de déplacer votre machine virtuelle (VM) de Hyper-V vers Proxmox, ou inversement, vous êtes au bon endroit. Entrons immédiatement dans le vif du sujet…
Hyper-V vers Proxmox
Avant de commencer, il est important de rappeler les différences entre Hyper-V et Proxmox. Hyper-V est une plateforme de virtualisation développée et intégrée par Microsoft, disponible sur les versions Windows Server, ainsi que sur les versions Professionnel, Éducation et Entreprise de Windows (Windows 7, Windows 10 et Windows 11). Proxmox, en revanche, est une solution open source basée sur la virtualisation KVM (Kernel-based Virtual Machine) et les conteneurs LXC (Linux Containers). Ce dernier utilise un noyau Linux et peut être installé directement via l’image ISO disponible sur le site officiel, ou sur un ordinateur exécutant déjà Linux.
Sous Proxmox, un disque est obligatoirement lié à une machine virtuelle. Supprimer la VM entraîne également la suppression de tous ses disques. De même, retirer un disque revient à le supprimer définitivement. En revanche, sous Hyper-V, les disques ne sont pas automatiquement supprimés lors de la suppression d’une machine virtuelle. Retirer un disque d’une VM sous Hyper-V ne supprime pas non plus le disque.
Proxmox offre de nombreuses options supplémentaires, notamment en ce qui concerne l’émulation de différents types de processeurs avec des options avancées, l’utilisation de puces graphiques et la limitation de la vitesse du disque dur. Il est important de bien choisir les paramètres de votre VM pour assurer une compatibilité maximale.
Comme vous l’avez compris, Hyper-V est intégré aux ordinateurs Windows et est relativement simple d’utilisation, tandis que Proxmox, basé sur Linux, propose beaucoup plus d’options. Malheureusement, les VM ne sont pas directement compatibles entre les deux systèmes. Pas de panique, nous allons vous expliquer comment transférer une VM de l’un à l’autre.
Pour plus de détails, vous pouvez retrouver la version complète de ce tutoriel sur le Forum des NAS.
Première étape : Copier le disque dur
La première étape consiste à faire une copie du disque dur de votre VM, car c’est essentiellement celui-ci qui nous intéresse. Pour cet exercice, nous copierons notre disque virtuel à la racine d’un disque USB « E » sous Windows et à la racine d’un disque monté dans « /media/transfert » sous Linux.
Pensez à noter les informations concernant votre VM, telles que le nombre de processeurs, la quantité de RAM, les connexions réseau (y compris les adresses MAC des cartes réseau, si nécessaire).
Deuxième étape : Conversion du disque dur
Comme expliqué, nous allons nous intéresser uniquement au disque dur. Sous Hyper-V, le format de disque est VHDX, tandis que sous Proxmox, il est en QCOW2 ou RAW. Malheureusement, le format VHDX n’est pas compatible avec Proxmox, et les formats QCOW2 et RAW ne sont pas compatibles avec Hyper-V. C’est pourquoi il est nécessaire de convertir le disque dur pour passer d’une plateforme à l’autre.
Pour ce faire, nous allons utiliser l’outil QEMU. Il s’agit d’un émulateur et d’un virtualiseur de machines générique et open source. Lorsqu’il est utilisé comme virtualiseur, QEMU atteint des performances quasi natives en exécutant le code invité directement sur le processeur hôte. QEMU prend en charge la virtualisation lors de l’exécution sous l’hyperviseur Xen ou en utilisant le module du noyau KVM sous Linux (sources). Qemu va vous permettre de convertir n’importe lequel de vos fichier disque de presque toutes les solutions de virtualisation en fichier disque d’une autre solution de virtualisation.
La commande a utilisée est la suivante : « qemu-img convert -f [formatorigine] -O [formatdestination] source.formatorigine destination.formatdestination »
Avec les informations ci-dessous :
- Format variable à mettre après le « -f » ou « -O »Vmdk vmdk
- Qcow2 qcow2
- Vhd vpv
- Vhdx vhdx
- Raw raw
- Vdi vdi
Assez compliquer me direz-vous ? Nous allons voir que c’est plus simple qu’il n’y parait.
Sous Windows
Vous pouvez télécharger QEMU pour Windows directement sur le site officiel. Une fois téléchargé, installez le logiciel en laissant l’ensemble des paramètres par défaut. Ensuite, lancez PowerShell en mode administrateur sur votre poste. Placez-vous dans le répertoire où QEMU est installé à l’aide de la commande : « cd ‘c:\program files\qemu‘ »
Si, par exemple, votre disque virtuel Hyper-V se trouve à la racine du disque E, la commande sera la suivante : « .\qemu-img.exe convert -f vhdx -O qcow2 E:\W10.vhdx E:\W10.qcow2 »
Sur Proxmox
Lorsque vous installez Proxmox, les outils QEMU sont installés en même temps. Vous n’avez donc rien de plus à installer. Pour convertir le disque de la VM sous Proxmox au format Hyper-V, si, par exemple, votre disque virtuel est à la racine d’un disque monté dans « /media/transfert », la commande est la suivante : « qemu-img convert -f raw -O vhdx /media/transfert/vm-100-disk-0 /media/transfert/vm-100-disk-0.vhdx »
Par défaut, Proxmox crée ses disques en format RAW. Si le format est différent, il faudra adapter la commande en conséquence.
Troisième étape : Création de la nouvelle machine virtuelle
La dernière étape consiste à créer une nouvelle machine virtuelle sur le nouveau système ( Hyper V ou Proxmox) avec les caractéristiques le plus semblables possible a la VM d’origine et d’y attacher le disque dur précédemment converti.
Conclusion
Le transfert d’une machine virtuelle d’une plateforme à l’autre peut sembler complexe, mais grâce à ce tutoriel, vous y arriverez dans la plupart des cas (il est vrai que, parfois, cela ne fonctionne pas ; dans mon cas, je n’ai pas réussi pour une de mes machines sous Debian).
Assurez-vous de bien comprendre les différences entre les deux plateformes et de prendre les précautions nécessaires pour minimiser les risques, comme toujours faire une sauvegarde et ne pas travailler sur les disques originaux. J’espère que ce tutoriel vous sera utile et vous permettra de changer de solution de virtualisation facilement.