VMWare vcenter converter et serveur dédié soyoustart/ovh

Lorsqu’on doit migrer une machine d’un serveur Hyper-V (par ex chez OVH) vers un autre serveur de virtualisation type VMWare esxi, il *faut* passer par leur outil vcenter converter.
Sinon impossible de démarrer la vm!

Or cet outil, pour fonctionner, démarre une vm sur la machine de destination avec une interface particulière, qui dans notre cas pose problème parce qu’il n’y a pas de DHCP chez OVH/soyoustart.

Pire, pour avoir une IP publique et être joignable, il faut que la machine virtuelle finale ait une adresse MAC définie manuellement et donnée par OVH/soyoustart.

Enfin, la passerelle qui doit être configurée ne fonctionne pas simplement en l’indiquant dans l’outil converter. Elle n’est pas appliquée sur la VM après le lancement de la migration, et la VM n’obtient donc pas d’accès au net… Ceci du fait que la passerelle sur VM avec une IP failover, doit être définir avec la même valeur que la passerelle de la machine hôte, et du fait du masque en 255.255.255.255, la passerelle est en dehors de la plage réseau théoriquement accessible (qui ne contient qu’une IP, la failover attribuée à la VM!).

Prenons les choses dans l’ordre. Il faut modifier deux iso (un seul n’est véritablement utile, en fonction de l’architecture de la VM qu’on souhaite migrer, mais prenons les deux pour couvrir les deux cas!) sur la machine qui héberge le vcenter converter et qui s’occupe de lancer la migration.
Les deux iso sont dans le répertoire :

C:\Program Files (x86)\VMware\VMware vCenter Converter Standalone

Et sont nommés :

converter-helper-vm.iso
converter-helper-vm-x64.iso


respectivement pour les VM 32 et 64 bits.

Il faut copier ces iso dans un emplacement accessible en écriture pour l'utilisateur (par ex "Mes Document"), puis utiliser un outil permettant l'extraction de fichiers depuis un iso, pour aller récupérer le fichier "filesys.gz" dans le répertoire "boot" de l'iso.
Il faut ensuite copier ce fichier sur une machine tournant sous linux, seule possibilité pour éditer ce fichier qui en fait contient une partition montée sur la VM finale au premier démarrage.

Une fois que le fichier est disponible sur une machine linux, il faut passer les commandes suivantes :


gunzip filesys.gz
sudo mount -o loop filesys /mnt
sudo vi /mnt/usr/lib/vmware-converter/postNetworkStart.sh

Dans ce fichier, en fait juste avant que VMWare ne teste la passerelle (qu'il n'a pas réussi à configurer), nous allons manuellement redéfinir la passerelle.

Juste après la section suivante :


#
# Ping the default gateway
#


et avant la ligne :


echo "Ping $GATEWAY"

Il faut ajouter les deux lignes suivantes :

route add $GATEWAY dev eth0
route add default gw $GATEWAY

On inverse ensuite les commandes pour repackager le fichier :


sudo umount /mnt
gzip filesys

On récupère le fichier filesys.gz une fois recompressé sur notre machine et on le réinjecte à la place du fichier original dans l'iso, avec un outil type ultraiso ou winiso.
Enfin, il faut remplacer l'iso dans le répertoire du départ avec le nouvel iso.

On passe maintenant à la procédure à proprement parler, de migration.
Dans vcenter connecter, il faut commencer par choisir l'option (en haut) "Convert Machine"
step_0

On arrive alors dans l'assistant de migration, qui commence par nous demander les informations concernant la machine source.
step_1

On nous demande ensuite les informations concernant le serveur VMWare de destination.
step_2

On obtient alors un inventaire des machines présentes sur le serveur VMWare (ici vide), et on nous demande le nom de la machine qui sera créée (dans la section "Name").
step_3

Il faut renseigner l'emplacement où sera stockée la nouvelle VM (le datastore) et choisir la version de machine qui sera créée, sachant que cela conditionne vers quel serveurs la nouvelle VM pourra migrer par la suite (uniquement compatibilité ascendante, une VM en version 9 peut aller sur un serveur esxi 6.0 mais une VM en version 11 ne peut aller sur un esxi 5.1, par exemple).
step_4

La prochaine étape concerne la configuration de la VM, prise pour une partie depuis la machine source. On peut ici adapter plusieurs paramètres de la VM (mémoire, CPU, espaces disques...), si besoin. Dans notre exemple pas besoin... Notre travail en fait va concerner principalement la section "Helper VM Network", qui doit être adaptée. Il faut spécifier l'adresse IPv4 en indiquant l'IP failover donnée par l'hébergeur (IP YYY.YYY.YYY.YYY), et renseigner la passerelle en prenant l'IP du serveur VMWare hôte (par ex XXX.XXX.XXX.XXX) pour obtenir la passerelle XXX.XXX.XXX.254. Le masque de sous réseau doit être 255.255.255.255, et on peut indiquer un DNS type Google ou OpenDNS.
step_5

On arrive enfin sur le récapitulatif de la migration, qui sert de point d'arrêt avant de continuer.
step_6

Il reste une dernière étape, cruciale, pour que la migration puisse fonctionner, l'attribution de l'adresse MAC fournie par l'hébergeur à la VM avant son tout premier démarrage.
Pour cela, il faut tout d'abord ouvrir une session en administrateur (root ou un autre utilisateur ayant de droit de modifier une VM) sur le serveur VMWare, via le "vSphere Client". Une fois que la session est ouverte, on peut enfin cliquer sur "Finish" dans la page récapitulative du converter. Immédiatement, dans le client vSphere, et dès que la nouvelle VM apparait, il faut modifier ses paramètres afin d'appliquer l'adresse MAC. La fenêtre permettant de faire cette opération est d'une dizaine de seconde, donc il faut être un peu rapide, mais ce n'est pas impossible! 🙂
step_7

Dès que les paramètres sont validés, on peut basculer sur la session console et suivre le déroulement. Au cours des premières étapes, on devrait pouvoir observer les ping vers la passerelle... 🙂

Dernière précision, après la fin de la migration, la VM ne sera pas connectée au net, il faudra classiquement adapter la configuration de l'interface réseau depuis la console "vSphere Client" pour que l'accès au réseau fonctionne...

Laisser un commentaire