Migration from ESXi and XCP-ng
ProxCenter provides automated migration pipelines to move virtual machines from VMware ESXi and XCP-ng (Xen) to Proxmox VE. This is designed for organizations transitioning away from VMware or consolidating heterogeneous virtualization environments onto Proxmox.
Overview
The migration feature handles the entire workflow: connecting to the source hypervisor, downloading VM disks, converting disk formats, importing into Proxmox, and configuring the resulting VM. All progress is tracked in real time through the ProxCenter interface.
Two migration pipelines are available:
- ESXi to Proxmox -- Migrates VMs from VMware ESXi hosts, including VMs on vSAN datastores
- XCP-ng to Proxmox -- Migrates VMs from XCP-ng / Xen hosts via the XAPI interface
Pipeline Stages
Each migration goes through these sequential stages:
1. Download
The VM disk is downloaded from the source hypervisor. For ESXi, this uses the VMware VDDK / HTTP file access. For XCP-ng, the disk is exported via the XAPI export interface.
2. Convert
The downloaded disk is converted to a Proxmox-compatible format using qemu-img convert. VMDK files (ESXi) and VHD files (XCP-ng) are converted to qcow2 or raw format depending on the target storage type.
3. Import
The converted disk is imported into Proxmox using qm disk import, which uploads the disk to the selected target storage and associates it with a new or existing VM.
4. Configure
The imported VM is configured with the original settings: CPU count, memory, network interfaces, and boot order. The boot disk is set automatically so the VM is ready to start.
For EFI-based VMs, ProxCenter automatically handles the EFI disk allocation. The data disk may be assigned to disk-1 instead of disk-0 since disk-0 is used for the EFI disk.
Starting a Migration
- Navigate to Automation > Migration
- Select the source type (ESXi or XCP-ng)
- Enter the source hypervisor connection details (host, credentials)
- ProxCenter connects and lists all VMs available on the source
- Select one or more VMs to migrate
- Choose the target Proxmox connection, node, and storage
- Configure options (VM name, VMID, network bridge, etc.)
- Start the migration
Bulk Migration
You can select multiple VMs and migrate them in a single batch. Migrations run sequentially to avoid overloading the network and storage. The Task Center shows progress for each VM individually.
For large migrations, consider running them during off-peak hours. Each VM migration involves downloading the full disk image, which can take significant time depending on disk size and network bandwidth.
vSAN Support
ProxCenter supports migrating VMs from ESXi hosts that use VMware vSAN storage. The migration pipeline handles the vSAN object retrieval transparently -- no special configuration is needed beyond providing valid ESXi credentials with read access to the datastore.
Storage Considerations
The target storage type affects the import behavior:
| Storage Type | Disk Format | Volume Naming |
|---|---|---|
| Local (directory) | qcow2 | local:VMID/vm-VMID-disk-N.qcow2 |
| NFS | qcow2 | nfs-storage:VMID/vm-VMID-disk-N.qcow2 |
| LVM / LVM-Thin | raw | lvm-thin:vm-VMID-disk-N |
| ZFS | raw | zfs-pool:vm-VMID-disk-N |
| Ceph RBD | raw | ceph:vm-VMID-disk-N |
Troubleshooting
Migration stuck at "Import" stage
The qm disk import command can take a long time for large disks. Check the Task Center for the detailed log output.
VM does not boot after migration Verify the boot order is set correctly. For EFI VMs, ensure the OVMF BIOS is selected in the VM hardware settings. You may need to change the disk controller from VirtIO to IDE/SATA if the guest OS does not have VirtIO drivers.
Network not working after migration The VM network interface model may need to change. VMware uses VMXNET3, which does not exist in Proxmox. ProxCenter defaults to VirtIO, but some guest OSes may need driver installation.
Migration requires SSH access to the target Proxmox node for disk import operations. Make sure the SSH connection is configured in Settings > Connections.
The Migration feature is available in the Enterprise edition.
Permissions
| Permission | Description |
|---|---|
vm.create | Required to create the target VM on Proxmox |
storage.write | Required to import disks to the target storage |
migration.manage | Required to initiate and manage migration jobs |