Table of Contents

Migration from ESXi to Proxmox

Pre-Migration

Linux

  1. Uninstall open-vm-tools/VMware Tools
    rpm -qa | grep vm                              # SLES
    zypper se open-vm-tools                        # SLES	 
    zypper rm open-vm-tools                        # SLES	 
    apt remove open-vm-tools                       # Debian	 
    vmware-uninstall-tools.pl                      # Linux VMware Tools	 

    https://knowledge.broadcom.com/external/article/339581/uninstalling-open-vmware-tools-included.html

SLES

grep CONFIG_VIRTIO /boot/config-$(uname -r)
grep CONFIG_VIRTIO /boot/config-$(uname -r) | grep =y
lsinitrd /boot/initrd-$(uname -r) | grep virtio

vi /etc/dracut.conf.d/virtio-drivers.conf

add_drivers+=" virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio "

https://support.scc.suse.com/s/kb/Additional-kernel-modules-not-added-to-the-initrd-when-specified-in-etc-dracut-conf-1583239414605?language=en_US

dracut -f /boot/initrd-$(uname -r) > /tmp/dracut.log 2>&1

lsinitrd /boot/initrd-$(uname -r) | grep virtio
lsmod | grep virtio
dracut -f /boot/initrd-$(uname -r) --add-drivers "virtio virtio_pci virtio_blk virtio_net virtio_ring virtio_scsi"     # force adding the drivers
lsinitrd /boot/initrd-$(uname -r) | grep virtio

https://pve.proxmox.com/wiki/Paravirtualized_Drivers_for_Linux

Debian

lsinitramfs /boot/initrd.img-$(uname -r) | grep virtio

Unix

FreeBSD

  1. Uninstall open-vm-tools/VMware Tools
  2. Disable hardware checksum offload (pfSense: System > Advanced > Networking)
  3. Backup Config if firewall (pfSense/OPNsense)
    1. Rename Interfaces in config to e.g. normal interface vtnet1 vlan interface vtnet1.123

Windows

  1. Uninstall VMware Tools

Migration

:!: If the ESXi-GUI hangs after migrating a vm, restart management services via ssh on the ESXi-Host:

/etc/init.d/hostd restart
/etc/init.d/vpxa restart

Windows

  1. Set VM ID
  2. Set VM name
  3. Checkmark prepare for VirtIO-SCSI
  4. Set NIC to VirtIO and set Bridge
  5. Import

:!: Do not boot immediately after migration. See post migration steps below.

Linux

  1. Set VM ID
  2. Set VM name
  3. Set SCSI Controller to VirtIO-SCSI single and disks to scsiN
  4. Set NIC to VirtIO and set Bridge
  5. Import

Post-Migration

PS C:\Users\Administrator> Get-Service QEMU-GA

Status   Name               DisplayName
------   ----               -----------
Running  QEMU-GA            QEMU Guest Agent
qm agent <vmid> ping

Linux

  1. Install qemu guest agent
    zypper ref && zypper in qemu-guest-agent       # SLES
    apt update && apt install qemu-guest-agent     # Debian
    systemctl start qemu-guest-agent
    systemctl enable qemu-guest-agent
    systemctl status qemu-guest-agent

Windows

  1. Add temporary 1 GB SCSI HDD
  2. Add virtio iso
  3. Boot VM, install quemu guest agent and drivers
  4. Restore network configuration to adapter(s) (might only work if old one was e1000(e))
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]
  5. Shutdown VM, reattach SATA VM disks as SCSI and remove temporary 1 GB disk
    1. Set cache to writeback and enable discard
  6. Adjust boot order and enable qemu guest agent in vm options
  7. Boot VM, check diskmanager for offline secondary disks, Reboot

:!: If vm is a network license server, boot without network connection and check licensing status