Migration de ESXI à Proxmox
Aujourd'hui nous allons parler hyperviseur et virtualisation. Les deux solutions d'hyperviseur populaires sont VMware ESXi et Proxmox VE . Ces 2 plateformes de virtualisation permettent d'exécuter des machines virtuelles ou des conteneurs.
Dans le monde professionnel, VMware est le roi de la virtualisation. Vous ne trouverez pas beaucoup d'entreprises n'utilisant pas VMware jusqu'à ce que vous arriviez à de grandes entreprises, où les solutions open source basées sur Xen ou KVM prennent le relais. Mais n'importe où entre les petites et moyennes entreprises, vous trouverez VMware quasiment partout.
Quand j'ai eu besoin d'un hyperviseur, je n'ai pas trop réfléchi et suis parti sur VMware ESXi, car tout le monde part sur lui et il est donc plus facile de trouver du support sur Internet. Après plusieurs années d'utilisation de VMware j'ai décidé de changer d'hyperviseur, tout en ayant la possibilité de migrer les machines virtuelles que j'ai déjà, sans avoir besoin de les recréer de zéro.
Si j'en viens aux raisons de ma migration, ce qui m'a motivé à me lancer dans cette opération, c'est qu'il y a un conteneur Docker que je voulais utiliser et qui, suivant la documentation (et aussi par mes expériences), ne fonctionne pas sous ESXi, notamment à cause de soucis de prise en charge USB. Toujours d'après la documentation, cela fonctionnerait correctement sous Proxmox.
Je vais essayer de vous présenter les différences entre chacune des 2 solutions :
VMware ESXi | Proxmox VE |
---|---|
Prise en charge limité du matériel | Toutes les fonctionnalités sont gratuites (Intégration Ansible, Haute disponibilité, stockage distribué, etc.) |
Classe entreprise | Grande prise en charge matériel, car Proxmox est basé sur Debian donc cela est facile à gérer. |
Une bonne solution lorsque la disponibilité est importante ou qu'une assistance ou une prise en main 24h/24 et 7j/7 est nécessaire. | Peut installer facilement des outils et des packages open source communs car il est basé sur Debian |
Standard d'industrie | De meilleures informations sur les performances et un meilleur historique à l'aide d'outils tels que Zabbix ou Netdata que ce que je ne peux pas obtenir gratuitement avec ESXi. |
Intégration avec d'autres solutions de classe entreprise | Mieux adapté lorsque les coûts de licence sont importants ou que des solutions open source sont nécessaires. |
Plus robuste | Construction sur et utilise des technologies open source |
Le passthrough VT-d est plus facile à configurer (Proxmox ne peut pas configurer un périphérique passthrough dans l'interface graphique). | Conteneurs LXC : le déploiement instantané permet une densité plus élevée que les machines virtuelles. |
Changements de réseau en direct (Proxmox nécessite un redémarrage pour les changements de réseau). | Les mises à jour sont beaucoup plus faciles que VMware puisque Proxmox est juste une mise à jour apt-get dist-upgrade. |
Chaque nœud Proxmox est un nœud de gestion complet, vous avez donc le contrôle total de votre cluster. Vous n'êtes pas concerné par quelque chose comme vCenter qui peut tomber en panne. | |
Simple à automatiser les certificats SSL vers l'interface de gestion avec quelque chose comme Let's Encrypt |
Assez de blabla, on va passer à la migration, pour cela vous aurez besoin :
- D'un emplacement pour sauvegarder vos machines virtuelles (un disque dur USB ou un montage réseau)
- Un support USB pour le média d'installation de Proxmox.
Exporter les machines virtuelles
Pour cela dans l'interface ESXI arrêter vos machine virtuel, vérifier de pas avoir de lecteur CD monter dessus, puis sur chaque machine virtuel dans le menu action
choisir Exporter
.
Il vous propose d'enregistrer l'export sur vôtre ordinateur, grâce à un montage réseau je vais sauvegarder directement les fichiers sur mon NAS Synology (cela marche aussi avec un disque externe)
Vous devez avoir trois fichiers par machine virtuelle, je mets chaque VM dans un dossier pour pas mélanger.
Attention cela exporte le disque de la machine complète donc à faire attention à votre place disponible et à la durée des exports.
Le temps de tout exporter, vous pouvez télécharger l'image d'installation de Proxmox VE au format .iso
directement sur le site officiel de Proxmox.
Pour créer une clé USB Bootable de Proxmox VE, il vous faudra utiliser un logiciel approprié, par exemple BalenaEtcher.
Installation de Proxmox VE
On va passer aux choses sérieuses et installer Proxmox VE en bootant sur la clé USB créée précédemment.
Pour ma part, j'en est profité pour changer de disque dur sur mon NUC, cela me donne l'avantage en cas de souci d'effectuer un retour rapide en arrière (ce dont je n'ai pas eu besoin). Sachez que cette migration peut-être effectuée sur la même machine ou sur une autre, c'est selon vos choix et possibilités.
Vous allez maintenant pouvoir installer Proxmox VE, rien de compliqué dans les étapes dont vous trouverez quelques captures d'écran ci-dessous, et si besoin, voici le lien de la documentation officielle.
Vous pouvez vous connecter à l'interface Web à l'aide de l'URL donnée à la fin de l'installation. A la connexion, vous aurez un message qui vous dit que vous n'avez pas de licence, un simple OK
suffit à passer ce message.
Importation des sauvegardes des machines virtuelles
Pour récupérer vos machines virtuelles, il faut connecter le disque dur USB ou bien monter le dossier du NAS grâce à un partage NFS, selon la méthode d'export que vous aviez choisi. Pour ma part, j'ai choisi la deuxième option.
Pour cela, dans l'interface de Proxmox, il faut choisir, dans le menu de gauche, Datacenter
puis l'onglet Stockage
. Ajoutez un montage NFS, à configurer de la sorte :
- ID = le nom du montage (Evitez les espaces et caractère spéciaux)
- Serveur = l'adresse IP du NAS Synology
- Export = le chemin du montage sur le NAS
- Contenu = le type de contenu que vous voudrez utiliser (Sachez que vous pourrez le modifier par la suite)
Ouvrir une session SSH avec votre logiciel favori ou dans l'interface web sous l'onglet Shell
. Naviguez jusqu'au dossier, NFS dans mon cas.
cd /mnt/pve/DS918
Vous pouvez vérifier la bonne présence des fichiers grâce à la commande ls
.
On va passer à l'import de la machine virtuelle avec la commande suivante :
qm importovf <new-vmid> </path/to/file.ovf> <storage>
Il y a trois informations à adapter :
- new-vmid = chaque VM aura un identifiant VMID correspondant au nom de son fichier de configuration présent dans /etc/pve/qemu-server. A vous de le choisir, sur trois chiffres.
- /path/to/file.ovf = le chemin de votre fichier *.ovf exporté depuis VMware.
- storage = ID de l'emplacement de stockage de la machine virtuelle.
Dans mon cas, cela donne donc :
qm importovf 200 Domopi.ovf local-lvm
Cela créera une nouvelle machine virtuelle, en utilisant les informations de configuration (nombre de cœurs, mémoire et nom de la VM) telles que définies dans le fichier OVF, et importera les disques attachés.
Votre machine virtuelle est maintenant créée et presque fonctionnelle, il reste une dernière étape : la configuration réseau qu'il faut refaire manuellement.
Pour cela, dans l'interface web, sélectionnez votre machine virtuelle, et dans Matériel
, ajoutez une Carte réseau
. Vous pouvez choisir l'adresse mac pour garder la même et ne pas avoir à reconfigurer votre routeur si vous aviez effectué une réservation d'IP.
Pour mes machines virtuelles sous Debian, j'avais un souci de carte réseau. Pour résoudre cela, il a fallu modifier le nom de la carte réseau dans le fichier de configuration. On démarre la machine virtuelle, on se connecte au Shell et on recherche le nom de l'interface avec la commande ifconfig -a
.
Sur la capture d'écran nous pouvons voir qu'il s'agit de ens18
.
Nous allons ouvrir le fichier de configuration réseau pour vérifier cela et au besoin le modifier. Pour cela, on édite le fichier de configuration réseau :
nano /etc/network/interfaces
Nous pouvons y voir ens192
, qu'il suffit de modifier en ens18
. Il faut enregistrer la modification et redémarrer la machine virtuelle pour que ça soit pris en compte.
Autre cas particulier, pour les machines virtuelles Windows cette fois, il faut modifier le démarrage pour utiliser UEFI au lieu du BIOS. Pour cela, dans la console Shell de l'hyperviseur, utilisez la commande suivante : (300 est le VMID de la VM en question)
qm set 300 --bios ovmf
Windows nécessite des pilotes supplémentaires pour utiliser les drivers SCSI. Par conséquent, utilisez plutôt IDE comme driver pour vos disques, cela permet au moins de démarrer Windows. Vous pourrez ensuite installer des pilotes supplémentaires, comme expliqué dans la documentation officielle de Proxmox.
Voilà, normalement les machines virtuelles migrées sont fonctionnelles. Si vous avez besoin d'informations complémentaires sur la migration, celles-ci figurent dans la documentation Proxmox.
Conclusion
Après 5 mois sous Proxmox, je suis pleinement satisfait de ce changement et trouve cela plus à la portée de mains pour un particulier qui n'a pas de connaissance sur les hyperviseurs.
Je ne vous ai pas fait de présentation de l'interface, car elle est assez intuitive et les fonctions de base sont facilement accessibles.
Cela va maintenant me permettre de tester le conteneur Docker qui était non fonctionnel sous ESXi, et je vous ferai un retour sur ce sujet une fois le temps trouvé.
Si vous avez des questions sur la migration, avez besoin ou envie d'échanger avec nous avant de vous lancer, n'hésitez pas à laisser des commentaires ou à venir sur notre groupe Telegram.