Conversion P2V (physical-to-virtual) d’un serveur Online Dedibox ou dédié OVH sous Debian 9 avec VMware ESXI 6/7 et pfSense

4. Import et reconfiguration d’une P2V Debian 9 sous ESXi

Cet article étant particulièrement long, je l’ai découpé en plusieurs pages :

  1. Ce qui ne marche pas : problèmes avec VMware vCenter Converter pour effectuer une migration P2V (physical-to-virtual) vers un serveur ESXi chez OVH ou Online (Dedibox)
  2. Configurer pfSense sur une Dedibox avec ESXi pour effectuer une migration P2V (physical-to-virtual) avec VMware vCenter Converter
  3. Points d’attention lors d’une migration P2V (physical-to-virtual) avec VMware vCenter Converter
  4. Import et reconfiguration d’une P2V Debian 9 sous ESXi

An error occurred during the conversion

Après autant de complications on aurait pu espérer que l’import se termine bien mais (s’il n’y a pas eu d’erreur de transfert) la fin est décevante :

On a demandé à Denis Brogniart ce qu'il pensait de son meme - YouTube

On a donc une erreur de conversion.
Pour rappel, je migre une Debian 9, et cet OS n’est pas officiellement supporté.
Documentation : Supported Guest Operating Systems

FAILED: An error occurred during the conversion: 
* Looking for deps of module scsi_mod
* * Looking for deps of module sd_mod
* * Looking for deps of module mptspi
* * Looking for deps of module mptscsih
* * Looking for deps of module BusLogic
* * Looking for deps of module ahci
* * Looking for deps of module ide-disk
* Cannot find in 4.9.0-12-amd64 module ide-disk
* Looking for deps of module pcnet32
* fstab file is /mnt/p2v-src-root/etc/fstab
* found root filesystem type as ext4
* Looking for deps of module ext4
* * found root filesystem mount options as noatime,errors=remount-ro
* processed root filesystem mount options are noatime errors=remount-ro
* busybox mount options are --noatime
* new root will not be mounted as read-only
* printing module list:
* /mnt/p2v-src-root/lib/modules/4.9.0-12-amd64/kernel/drivers/scsi/scsi_mod.ko
* /mnt/p2v-src-root/lib/modules/4.9.0-12-amd64/kernel/drivers/scsi/sd_mod.ko
* /mnt/p2v-src-root/lib/modules/4.9.0-12-amd64/kernel/drivers/message/fusion/mptspi.ko
* /mnt/p2v-src-root/lib/modules/4.9.0-12-amd64/kernel/drivers/message/fusion/mptscsih.ko
* /mnt/p2v-src-root/lib/modules/4.9.0-12-amd64/kernel/drivers/scsi/BusLogic.ko
* /mnt/p2v-src-root/lib/modules/4.9.0-12-amd64/kernel/drivers/ata/ahci.ko
* /mnt/p2v-src-root/lib/modules/4.9.0-12-amd64/kernel/drivers/net/ethernet/amd/pcnet32.ko
* /mnt/p2v-src-root/lib/modules/4.9.0-12-amd64/kernel/fs/ext4/ext4.ko
* got lib dir as lib64
* /mnt/p2v-src-root/lib64/libc.so.6 -> /mnt/p2v-src-root/tmp/initrd.pfybhv/lib ERROR:
cannot find source file /mnt/p2v-src-root/lib64/libc.so.6 during file copy (return code 1)

On a des pistes dans la doc : Linux Sources

Il y a des informations intéressantes et un POC dans ce post : How to specify the library ( /lib ) path vCenter Converter Standalone uses to convert a Linux machine

Mais avant de se lancer dans les manipulations compliquées, essayez déjà de lancer la VM.
Dans mon cas : ça marche ?

Lancement de la nouvelle VM

piix4_smbus 0000:00:007.3: Host SMBus controller not enabled!

On peut voir cette erreur au boot de la VM :

Une fois le système démarré, lancer :

root@server:~# sudo nano /etc/modprobe.d/blacklist.conf
blacklist i2c-piix4

root@server:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.9.0-12-amd64
W: initramfs-tools configuration sets RESUME=UUID=8fcc20ce-89e3-4396-be55-b0fccfd37701
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/sda3
I: (UUID=6fecc6ea-db1c-41a3-b31d-1305e3bb944f)
I: Set the RESUME variable to override this.

root@server:~# reboot

Sources :

Configuration du nouveau réseau

Retrouver le nom de l’interface réseau virtuelle

Il suffit de lancer ip a et de regarder quelle interface possède la même adresse MAC que celle visible dans la configuration matérielle de la VM :

Ici mon interface est donc ens32, alors que sur la machine physique source elle s’appelle eno1.

Retrouver l’IP LAN attribuée initialement par le serveur DHCP de pfSense

Aller dans Status > DHCP Leases :

Mettre à jour l’interface et l’IP dans la VM clonée

Rappel : cette procédure s’applique à Debian 9.

Faire un backup du fichier /etc/network/interfaces, supprimer les anciennes interfaces, et ajouter la nouvelle avec l’IP reliée à son adresse MAC dans pfSense :

nano /etc/network/interfaces

# on laisse le loopback tel quel
auto lo
iface lo inet loopback

# en dessous on ajoute la nouvelle interface
allow-hotplug ens32
iface ens32 inet static
address 192.168.1.103
netmask 255.255.0.0
gateway 192.168.1.1

Quitter et appliquer la nouvelle configuration :

ifdown ens32
ifup ens32

# si ifdown/ifup ne sont pas disponibles :
# /etc/init.d/networking restart

# vérifier
ip a

À ce stade il devrait être possible de pinger la nouvelle VM depuis l’instance Windows, et même de lancer une connexion SSH :

Configurer le NAT de pfSense pour forwarder le port SSH vers la VM

Activer NAT reflection

Ça se passe dans System > Advanced > Firewall & NAT

Documentation complète pour comprendre tous les réglages : Configuring NAT Reflection

Créer les redirections

Ça se passe dans Firewall > NAT > Port Forward
C’est une configuration basique comme sur n’importe quel routeur ou box internet.
Vous pouvez ajouter un port source différent du port de destination en remplissant « Destination port » (ici on renvoie le 2222 vers le 22).

Autres opérations après conversion P2V

La partition BIOS a disparu et l’identifiant des partitions est décalé

Ce n’est pas toujours bloquant, plus d’informations dans cet article : P2V conversion of an Ubuntu 12.04 virtual machine using VMware vCenter Converter Standalone fails at 97% with the error: Error installing GRUB Command (2052628)

Edit du 21/03/2022 : si ça devient bloquant, consultez mon autre post : P2V ou V2V d’un OS non pris en charge par vCenter Converter (Debian 9, 11, Ubuntu 18) si vous avez ce message :

FAILED: An error occurred during the conversion: ‘GrubInstaller::InstallGrub: /usr/lib/vmware-converter/installGrub.sh failed with return code: 127, and message: FATAL: kernel too old Error running vmware-updateGrub.sh through chroot into /mnt/p2v-src-root Command:
chroot « /mnt/p2v-src-root » /vmware-updateGrub.sh « GRUB2 » « (hd0) » « (hd0,1) » /vmware-device.map « grub2-install » ‘

Et si vous avez ça au démarrage de votre nouvelle VM :

Installation des VMware tools

apt-get install open-vm-tools open-vm-tools-desktop

Reconfiguration de la version de l’OS invité

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.