01La cible prête avant de commencer
Cinq points doivent être acquis avant le premier import. Ils viennent tous du guide cluster, ce paragraphe n'est qu'une liste de contrôle.
- Cluster en quorum, deux liens corosync actifs,
pvecm statuspropre. - Stockage partagé opérationnel et éprouvé, avec la marge de reconstruction disponible.
- Ponts réseau et VLAN déjà déclarés sur tous les noeuds, à l'identique.
- Proxmox Backup Server en service, avec un magasin dimensionné pour le parc cible.
- Supervision branchée, pour voir l'effet de la charge d'import sur la plateforme.
La copie passe par le réseau qui relie les noeuds Proxmox VE aux hôtes ESXi. Sur un lien à 1 Gb/s, comptez au mieux une centaine de mégaoctets par seconde, soit environ six heures pour 2 To. Si les deux plateformes partagent une infrastructure à 10 Gb/s, la fenêtre se réduit d'autant. Ce chiffre conditionne tout le calendrier : mesurez-le sur la vague pilote plutôt que de l'estimer.
02Table de correspondance réseau
Côté VMware, une machine est raccordée à un portgroup qui porte un VLAN. Côté Proxmox VE, elle est raccordée à un pont compatible VLAN, avec une étiquette. La table de correspondance s'écrit une fois pour tout le parc, et devient la référence de la bascule.
| Portgroup vSphere | VLAN | Pont Proxmox VE | Étiquette | Remarque |
|---|---|---|---|---|
| PG-PROD-WEB | 110 | vmbr1 | 110 | Direct |
| PG-PROD-BDD | 120 | vmbr1 | 120 | Direct |
| PG-DMZ | 200 | vmbr2 | 200 | Pont physique séparé |
| PG-ADMIN | 10 | vmbr0 | aucune | Pas de machine virtuelle ici |
| PG-HEARTBEAT | 250 | vmbr1 | 250 | Deux machines à séparer par affinité |
# le pont doit accepter la plage de VLAN attendue bridge vlan show dev vmbr1 # test de bout en bout avec une interface temporaire ip link add link vmbr1 name test110 type vlan id 110 ip addr add 10.110.0.250/24 dev test110 && ip link set test110 up ping -c 3 10.110.0.1 ip link del test110
Un VLAN déclaré sur le commutateur pour les hôtes ESXi mais pas pour les nouveaux noeuds Proxmox VE. La machine importée démarre parfaitement, ne répond à rien, et l'équipe cherche du côté du système invité pendant une heure. Testez chaque VLAN de la table avant la première bascule.
03Préparer un invité Windows
C'est ici que se joue la réputation d'une migration. Un Windows importé dont le disque
système bascule sur un contrôleur VirtIO sans pilote correspondant ne démarre pas : écran bleu
INACCESSIBLE_BOOT_DEVICE, ou code d'arrêt 0x0000007B sur les versions
plus anciennes. Le système n'est pas endommagé, il ne sait simplement plus lire son propre
disque.
Pendant que la machine tourne encore sur VMware
- Relever ce qui est lié au matériel : adresses MAC, identifiant SMBIOS, clés d'activation d'applications sensibles. Une fois la source éteinte, ces informations sont pénibles à retrouver.
- Installer les pilotes VirtIO depuis l'image officielle
virtio-win. L'installateur place les pilotes dans la réserve de pilotes du système, ce qui permettra à Windows de trouver le contrôleur au premier démarrage sur Proxmox VE. C'est l'étape que l'on saute et que l'on regrette. - Désinstaller VMware Tools, puis redémarrer. À faire avant la migration : une fois la machine sortie de son environnement VMware, la désinstallation devient laborieuse et laisse des services fantômes.
- Désactiver les agents liés à vSphere : sauvegarde par instantané, supervision par API, antivirus sans agent.
- Vérifier l'espace disque libre et lancer une sauvegarde complète, hors instantané VMware.
# apres montage de l'image virtio-win, injection des pilotes signes pnputil /add-driver E:\vioscsi\2k22\amd64\vioscsi.inf /install pnputil /add-driver E:\viostor\2k22\amd64\viostor.inf /install pnputil /add-driver E:\NetKVM\2k22\amd64\netkvm.inf /install pnputil /add-driver E:\Balloon\2k22\amd64\balloon.inf /install # controle : les pilotes doivent apparaitre dans la reserve pnputil /enum-drivers | Select-String -Pattern "vioscsi|viostor|netkvm"
Si malgré tout la machine refuse de démarrer après import, la sortie est simple : rattachez le disque système en SATA, démarrez, installez les pilotes depuis l'image virtio-win, éteignez, repassez le disque en VirtIO SCSI. Deux redémarrages, et le problème est réglé. Il est plus confortable de le savoir avant le jour J que de le découvrir à ce moment-là.
Après l'import, il restera à installer l'agent invité QEMU, qui remplace VMware Tools : il permet l'arrêt propre, la remontée des adresses IP dans l'interface, et la mise en pause du système de fichiers pendant la sauvegarde.
04Préparer un invité Linux
Linux pose beaucoup moins de problèmes, les pilotes VirtIO étant dans le noyau depuis longtemps. Trois points méritent quand même une vérification.
# 1. les modules virtio doivent etre presents dans l'initramfs lsinitramfs /boot/initrd.img-$(uname -r) | grep -E 'virtio_(scsi|blk|net)' # au besoin, sur Debian et derives echo -e "virtio_scsi virtio_blk virtio_net" >> /etc/initramfs-tools/modules update-initramfs -u -k all # 2. les montages doivent utiliser des UUID, pas des noms de peripherique grep -vE '^\s*#' /etc/fstab | grep -E '/dev/(sd|vd|xvd)' # 3. l'agent VMware laisse la place a l'agent QEMU apt purge open-vm-tools open-vm-tools-desktop apt install qemu-guest-agent
Une carte VMXNET3 apparaît typiquement en ens192. La même machine sur VirtIO
verra ens18 ou équivalent, et toute configuration réseau qui nomme l'interface
cesse de s'appliquer : la machine démarre sans adresse. Prévoyez soit une configuration
fondée sur l'adresse MAC, soit un accès console pour corriger au premier démarrage. C'est la
panne la plus fréquente sur les invités Linux.
05Firmware, EFI et démarrage sécurisé
Une machine amorcée en EFI côté VMware doit l'être aussi côté Proxmox VE. L'assistant d'import reprend en général correctement le type de firmware, mais il faut le vérifier avant le premier démarrage plutôt qu'après.
| Source VMware | Cible Proxmox VE | À ajouter |
|---|---|---|
| BIOS hérité | seabios, machine i440fx | Rien |
| EFI | ovmf, machine q35 | Un disque EFI |
| EFI avec démarrage sécurisé | ovmf, machine q35 | Disque EFI avec clés préinscrites |
| Module de plateforme sécurisée | TPM 2.0 émulé | Un volume TPM dédié |
qm set 101 --bios ovmf --machine q35 qm set 101 --efidisk0 ceph-vm:1,efitype=4m,pre-enrolled-keys=1 qm set 101 --tpmstate0 ceph-vm:1,version=v2.0
Un Windows avec BitLocker scellé sur le TPM d'origine ne redémarrera pas sur la nouvelle plateforme : le matériel virtuel a changé. Suspendez la protection BitLocker avant la migration, et conservez la clé de récupération à portée de main. Même précaution pour un volume LUKS lié à un TPM côté Linux.
06Compte d'import et accès à ESXi
L'assistant d'import se connecte à l'API des hôtes ESXi, pas à vCenter. Sur un parc géré par vCenter, chaque hôte est déclaré séparément comme stockage de type ESXi côté Proxmox VE.
- Créez un compte dédié en lecture sur chaque hôte, plutôt que d'utiliser le compte root. Il sera révoqué en fin de projet, ce qui laisse une trace propre.
- Le mode de verrouillage de l'hôte doit autoriser l'accès à l'API pendant les opérations d'import.
- Les certificats auto-signés sont la norme sur ESXi. L'assistant permet de passer outre la vérification, ce qui est acceptable sur un réseau d'administration cloisonné, et à éviter ailleurs.
- Vérifiez la résolution de nom des hôtes ESXi depuis les noeuds Proxmox VE, et la route entre les deux plateformes.
À ce stade, une machine de test doit avoir fait l'aller-retour complet : préparée, importée, démarrée, réseau fonctionnel, agent QEMU actif. Tant que cette boucle n'est pas fermée sur une machine sans enjeu, ne planifiez aucune fenêtre de production.
Une migration VMware a cadrer, a executer ou a securiser
Nous accompagnons les sorties de VMware vers Proxmox VE, du cadrage et de l'audit de l'existant jusqu'a la recette et a la formation des equipes. Nous intervenons aussi en renfort ponctuel sur les lots les plus sensibles d'une migration deja engagee.