Proxmox

Proxmox New Import Wizard for Migrating VMware ESXi VMs

Exciting news from Proxmox - a new import wizard for migrating VMware ESXi VMs is now available. Learn how to install and use the wizard

Quick Summary

  • Table of contentsOverview of installing the new Proxmox import wizardVerify your Proxmox update repositoriesInstall Proxmox updatesVerifying the PVE-ESXI-IMPORT-TOOLS package is installedReboot your Proxmox VE hostAdding VMware ESXi storage to your Proxmox hostBefore importing a VMware ESXi virtual machineImporting a VMware ESXi VM in ProxmoxMigrating a Windows VMLive import optionOther things to noteTroubleshootingI don’t see the Proxmox ESXi storage tool available.
  • This I think is going to be a welcome tool for many in the home lab arena, but also those looking at Proxmox for production migrations.
  • After the migration, the network adapter will change identifiers and Windows will show a warning if you configure the same IP address on another network adapter, when the old adapter is no longer present.

I am super excited with some news coming from Proxmox hot off the press. They have released a new import wizard to migrate VMware virtual machines and it is available now! This I think is going to be a welcome tool for many in the home lab arena, but also those looking at Proxmox for production migrations. Let’s look at the new import wizard and see how you get access to it and then how you can use it.

Overview of installing the new Proxmox import wizard

It is easy to gain access to the Proxmox new import wizard for migrating VMware ESXi VMs and thankfully Proxmox has made the needed packages available with simple updates. There are a couple of things to know:

  • You need to be pointed to the pvetest or pve-no-subscription repositories
  • You need to update your pve-manager to version 8.1.8 and libpve-storage-perl version 8.1.3 or newer
  • With these updates, it will pull the pve-esxi-import-tools

Check out the official documentation here: Migrate to Proxmox VE – Proxmox VE

Verify your Proxmox update repositories

First, let’s verify the update repositories we are pointed to. Navigate to your Proxmox host > Upates > Repositories.

Verifying your proxmox update repositories
Verifying your proxmox update repositories

Install Proxmox updates

Next, we ned to navigate to the Proxmox host Updates > Upgrade and click the button. It will show you all the updates available.

Beginning the process to upgrade my proxmox 8.1.3 host
Beginning the process to upgrade my proxmox 8.1.3 host

When you click the Upgrade button, it will have you confirm the installation of the available updates.

Confirm the upgrades for proxmox
Confirm the upgrades for proxmox

For my Proxmox test host, I was quite a few updates behind. When I refreshed the available updates and had more appear. I was excited to see the pve-manager 8.1.8 available.

More proxmox updates to install
More proxmox updates to install

Going through the same process once more. Confirm the updates.

Confirm installing more updates in proxmox
Confirm installing more updates in proxmox

The pve-manager 8.1.8 installing.

Pve manager 8.1.8 getting installed
Pve manager 8.1.8 getting installed

Verifying the PVE-ESXI-IMPORT-TOOLS package is installed

After the updates completed successfully, one thing I did was just to verify the package is installed was run the following command:

apt install pve-esxi-import-tools -y

The command output confirmed the package was already installed.

Verifying pve esxi import tools
Verifying pve esxi import tools

Reboot your Proxmox VE host

Now, you need to reboot your host. I didn’t see this in the official documentation. However, when I went to import my ESXi storage, the option was not available, even after logging out and back in. So, a reboot is definitely in order.

reboot

Adding VMware ESXi storage to your Proxmox host

Now that we have the required packages installed and updates in place, you should be able to navigate to Datacenter > Storage > Add > ESXi.

Adding vmware esxi storage to your proxmox host
Adding vmware esxi storage to your proxmox host

In the Add ESXi dialog box, enter a distinct ID, server (FQDN or IP), username and password and also select the Skip Certificate Verification checkbox if you are using self-signed certificates.

Add esxi host to proxmox storage
Add esxi host to proxmox storage

After clicking the Add button, you will see your new storage listed for your ESXi server under Storage.

Vmware esxi storage added to your proxmox server
Vmware esxi storage added to your proxmox server

Before importing a VMware ESXi virtual machine

  • Before the migration, you will likely want to remove any guest tools (VMware Tools)
  • Note down the guest network configuration, so you can manually restore it if something hapens
    • On Windows, Proxmox notes in the documentation it is best practice to remove any static network configuration. After the migration, the network adapter will change identifiers and Windows will show a warning if you configure the same IP address on another network adapter, when the old adapter is no longer present.
  • Keep DHCP reservations in mind. You can either reconfigure the reservation to the new MAC address of the target VM NIC, or set the MAC address on the target VM NIC manually to match the DHCP reservation.
  • With full disk encryption used with a VM and keys are stored in a virtual TPM device, disable the encryption. It is currently not possible to migrate the vTPM state to Proxmox VE from your VMware virtual machine. Also, you will want to have the manual keys available to decrypt the VM if needed.
  • Power down the source VM (this is required).

Importing a VMware ESXi VM in Proxmox

When you click your ESXi storage under your Proxmox VE server, you will see the virtual machines listed in your ESXi datastore.

Viewing your esxi storage and your vmware esxi virtual machines
Viewing your esxi storage and your vmware esxi virtual machines

To begin the import wizard for your VMware ESXi virtual machine, click the VM you want to import and then click Import.

Select the vm you want to import
Select the vm you want to import

This will launch the Import Guest dialog box. On the General tab, you will see:

  • VM ID
  • Sockets
  • Cores
  • Memory
  • Default storage
  • Name
  • CPU Type
  • Total cores
  • OS Type
  • Version
  • Default Bridge
General import settings for vmware esxi vm
General import settings for vmware esxi vm

On the Advanced tab, you will see the SCSI controller, network interfaces, and other network related configuration. Here, I wanted to see what would happen if I left VMware PVSCSI controller for the import along with the VMware vmxnet3. The great thing about Proxmox is that it understands these hardware devices.

Advanced vmware esxi import settings
Advanced vmware esxi import settings

On the Resulting Config you can see the virtual machine hardware imported.

Resulting config for vmware esxi vm import
Resulting config for vmware esxi vm import

The import process begins.

The import task of vmware esxi virtual machine begins
The import task of vmware esxi virtual machine begins

The new import process completes successfully.

The import task of the vmware virtual machine completes successfully
The import task of the vmware virtual machine completes successfully

The virtual machine is imported into your Proxmox environment.

The virtual machine is added to the proxmox inventory
The virtual machine is added to the proxmox inventory

Powering on the Ubuntu virtual machine. The virtual machine boots up without issue.

Ubuntu virtual machine powered on and booted
Ubuntu virtual machine powered on and booted

Migrating a Windows VM

After successfully migrating an Ubuntu virtual machine, I wanted to try a Windows Server.

After migrating a windows server from vmware esxi to proxmox
After migrating a windows server from vmware esxi to proxmox

Without changing anything, I booted the Windows Server.

The windows server boots successfully
The windows server boots successfully

The Windows Server boots and is connected to the network.

The windows server logged in and connected to the network
The windows server logged in and connected to the network

Live import option

There is a live import option for migrating virtual machines. However, keep in mind, this is not what it may sound like. You are not able to migrate a “running”, “live” virtual machine. Rather, this means Proxmox will go ahead and power on the VM in Proxmox once it has enough data copied over to do so.

Then, it will asynchronously copy over the remaining data after the VM is running. This option is meant to reduce the downtime of a critical VM or service. However, again note the source VM will need to be powered down so there will still be downtime.

Also, avoid using this on low bandwidth networks as it will likely fail. Any data copied across if the import fails along the way, will be lost and you will have to re-import the VM. Test this process on a VM before relying on it for a production move.

Live import option with the new proxmox esxi import utility
Live import option with the new proxmox esxi import utility

Other things to note

There are a couple of things to note with the PVE migration of VMware ESXi:

  • You can also point to vCenter Server, but Proxmox notes that vCenter Server imports of virtual machines are much slower (5-10x slower).
  • The source virtual machine cannot be powered on – I think in this respect the new Proxmox tool is still inferior to other solutions that can migrate a running VM over to their hypervisor and orchestrate the process so it automatically powers down the old VM on VMware before powering up the new VM

Troubleshooting

I don’t see the Proxmox ESXi storage tool available?

Things to check: Have you installed the latest updates? Have you rebooted your Proxmox host after applying all the available updates? Have you pointed your update repositories to the pve-no-subscription or pvetest repositories? Make sure your Proxmox version is 8.1.8. Also, you can run the apt install pve-esxi-import-tools -y to make sure the package is installed.

The tool is slow

Are you pointed to vCenter Server instead of directly at an ESXi host? Proxmox notes that vCenter Server is 5-10x slower than pointing directly to an ESXi host. Also, your network speed and bandwidth are crucial for the import. Are your links between the Proxmox host and ESXi host 1 gig or 10 gig? Also, make sure the hosts on the same layer 2 network.

The import process fails

Did you make sure you powered off the source VM in VMware ESXi? You will see an error that looks like this:

Error during import due to the source virtual machine being powered on
Error during import due to the source virtual machine being powered on

Wrapping up the Proxmox new import wizard for VMware

I think the new import wizard for migrating VMware ESXi is a great new tool that certainly helps fill the gap to migrate from VMware to Proxmox. This will certainly be a great tool to use in the home lab community as well as SMBs who are looking at migrating over small VMware environments to a Proxmox environment. I think there are improvements that can be made to the utility such as orchestration of powering down VMs and even the ability to leave the VM running, create a snapshot, copying the data from the snapshot, and then incrementally copy over remaining data before powering off the VM. However, this is a great start and tool for migration from VMware over to Proxmox VE.

Let me know in the comments what you think about the new import wizard for migrating VMware VMs utility and create a forum thread if you run into any issues using it.

Subscribe to VirtualizationHowto via Email 🔔

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com and has over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, Brandon has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family.

Related Articles

10 Comments

  1. Hi, thanks for the tutorial.

    > Note down the guest network configuration, so you can manually restore it if something hapens

    Wouldn’t a VM backup(as a rollback) serve the same purpose? Or am I missing something?

    Cheers.

    1. J MacDonald,

      Thank you for the comment! Yes I would think so. I am summarizing the documentation here from Proxmox. Also, keep in mind, your source VM on your VMware ESXi host isn’t really getting changed at all. So, you can always re-import the VM from there. I think this is just good practice to maybe document everything before beginning as this will help quickly troubleshoot settings and configuration.

      Brandon

  2. Any information on the rate limiting problem some users are having? ie: Everything looks good and the VM starts copying and gets to some percentage copied and then fails because ESXi starts to rate limit the API. Is there a setting in ESXi to resolve or mitigate this?

  3. One thing to note, is if the vm has a snapshot, the import process with be extremely slow and take 4x to over 10x as long to import, so make sure you don’t have or create any snapshots. If you are extra worried about the data changing during transfer, it’s better to clone the vm and import the clone snapshot free.

    Also, there are some maxSessionCount and sessionTimeout that might need to be set if the transfer starts but fails and the way you change those are fairly different between 6.x, 7.x and 8.x.

    1. John,

      Great insights and call outs on snapshots and the maxsessions. I did run into the snapshots issue when attempting to migrate a test machine I had in the lab over to my Proxmox host. So, good to know others are seeing this as well to give visibility to the issue.

      Brandon

  4. I have done a few tests and everything starts out great but at around 12GB to 15GB the task fails.
    qemu-img: error while reading at byte 14596174848: Input/output error
    qemu-img: error while reading at byte 14638117888: Input/output error
    Also the LAN network which is 1GB seems to get saturated as monitoring systems seem to show errors with monitoring the ESXi hosts.
    Would you know of a way to throttle the transfer between systems?
    I will be doing a test with a 10Gb network next week to see if the results are the same.

    1. Steve,

      That is interesting. I honestly tested on a 10 gig network in my home lab between my supermicro host and my proxmox host. Do you have another NIC in your ESXi host by chance?

      Brandon

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.