New Import Wizard Available for Migrating VMware ESXi Based Virtual Machines

Unfortunately it is not easy to rename the vdisk of a VM since it consists of multiple files and each file references other files internally. Hope the non-ascii issue get fixed but I have migrated my VMs using clonezilla manually in the end.
If you rename the vm, and than storage vmotion it to another datastore it will rename the files. Can be slow for a multiTB vm, but it's easy.
 
Unfortunately not everyone has multiple datastores.
Yes, I face the same problem because my thin provisioned vm install depleted my storage at esxi8. Renaming the vmdk by using "vmkfstools - E" described here did not work resulting in a not recognized virtual hard drive. Reclaiming space by using "vmkfstools -K" and exporting by ovftool did not work either. So I hope the fix for importing esxi vm's with whitespace in the name becomes available soon so I can get access to my Home Assistant vm again.
 
Last edited:
This is a great start. Migrating out of VMware and other virtual machine types is probably the greatest source of friction for adoption of Proxmox. In the future, I hope to see more tools and an even more automated process for moving over hundreds or thousands of VMs from VMware.
 
Im change the vms' name which insteat the Whitespaces to _, and then migrat once time into wmware first. then migrat second time from vmware to pve after. i could be success. o_O

im prepare to change the .vmx file at vmware datastores, include changer the file name and the contants in .vmx Which the path/file with Whitespaces.
and then try to migrat into pve.
 
Last edited:
Unfortunately it is not easy to rename the vdisk of a VM since it consists of multiple files and each file references other files internally. Hope the non-ascii issue get fixed but I have migrated my VMs using clonezilla manually in the end.

In ESXi the path to the files does not include the human versions of the volume name.

If you ssh into your ESXi server and cd to one of your volumes like this:

cd /vmfs/volumes/"your volume name with spaces and a plus sign"/

Where your ssh session will show you to be is actually something like:

/vmfs/volumes/5dc36516-5eff2340-36jh-90b11xtcce1f

I confess that I did not check whether changing "SSD Raid6 + 2 spares" to "SSD Raid6 and 2 spares" (IN THE ESXi GUI!) had any effect on the jumble of letters and numbers and dashes that represents the "real" name of the volume (to ESXi) but I would be pretty surprised if it did. For one thing the rename took 2 seconds and none of the 20+ production machines on the box noticed, and for another the .vmx and .vmdk files in /vmfs/volumes/5dc36516-5eff2340-36jh-90b11xtcce1f/MY-VMs are not date stamped from when I did I made that change (in fact no files in them are dated then, and turned-off vms have their months-old file dates).

This is ESXi 6.7.0 U3, ftr (and I am just a guy on a forum, I do not profess to be a VMWare expert).

RJD
 
So what I did to make import of WhiteSpaces work.

First I editet the my esxi according to https://pve.proxmox.com/wiki/Migrate_to_Proxmox_VE#Considerations for Mass Import. I set the correct session settings. Then I deleted all snapshots of the VMs (Makes importing 4x faster)

And now to how to FIX the import even with whitespaces. I checked online the commit that fixes the problem and changed the file accordingly on my instance.

Commands
make a back-up of the file:


cp /usr/share/perl5/PVE/Storage/Plugin.pm /usr/share/perl5/PVE/Storage/Plugin.pm_bak

open file:
nano /usr/share/perl5/PVE/Storage/Plugin.pm

edit line 985: (You can see your current line in nano using Strg + c)
Remove everything including the or so the line looks like this:
($parent) = ($parent =~ /^(\S+)$/); # untaint

Reboot.

After that the import even with whitespaces worked for me.

I hope it helps.
 
Hi, everyone, I just try to import one VM from ESXi 7.0.0 (free) but failed, here is the log:
Code:
create full clone of drive (vmware9524:ha-datacenter/datastore1/HERO02/HERO02.vmdk)
transferred 0.0 B of 584.0 MiB (0.00%)
transferred 6.0 MiB of 584.0 MiB (1.03%)
transferred 12.0 MiB of 584.0 MiB (2.05%)
qemu-img: error while reading at byte 0: Input/output error
TASK ERROR: unable to create VM 101 - cannot import from 'vmware9524:ha-datacenter/datastore1/HERO02/HERO02.vmdk' - copy failed: command '/usr/bin/qemu-img convert -p -n -t none -f vmdk -O raw /run/pve/import/esxi/vmware9524/mnt/ha-datacenter/datastore1/HERO02/HERO02.vmdk zeroinit:/dev/zvol/rpool/data/vm-101-disk-0' failed: exit code 1
Hi, everyone, I just tested to import one VM(2TB disk, real data size ~200G) from another ESXi 7.0.2 (free), but this time the VM was shutdown, and the migratgion take 6 hours and succeed(network bandwidth ~105M/s), here is the log:
Code:
transferred 0.0 B of 128.0 KiB (0.00%)
transferred 128.0 KiB of 128.0 KiB (100.00%)
transferred 128.0 KiB of 128.0 KiB (100.00%)
efidisk0: successfully created disk 'local-zfs:vm-105-disk-0,size=1M'
create full clone of drive (vmware9563:ha-datacenter/datastore1/Win2022_Backup/Win2022_Backup.vmdk)
transferred 0.0 B of 2.0 TiB (0.00%)
transferred 20.5 GiB of 2.0 TiB (1.00%)
transferred 41.0 GiB of 2.0 TiB (2.00%)
transferred 61.4 GiB of 2.0 TiB (3.00%)
...
transferred 2.0 TiB of 2.0 TiB (98.00%)
transferred 2.0 TiB of 2.0 TiB (99.00%)
transferred 2.0 TiB of 2.0 TiB (100.00%)
transferred 2.0 TiB of 2.0 TiB (100.00%)
sata1: successfully created disk 'local-zfs:vm-105-disk-1,size=2T'
TASK OK
 
Last edited:
It's an incredible feature, I'm very excited.
But we are experiencing some problems.
During the Add ESXi phase, all my information is correct, but I am getting timeout.
1717667316176.gif
 
It's an incredible feature, I'm very excited.
But we are experiencing some problems.
During the Add ESXi phase, all my information is correct, but I am getting timeout.
View attachment 69347
Ping runs correctly? If you use Name instead of IP, DNS works?
Witch Version ESXi do you have?
 
Ping runs correctly? If you use Name instead of IP, DNS works?
Witch Version ESXi do you have?
Ping works properly, all ports are open, IP resolves with AD, all rules and access are there.
Something came to my mind, I think my mistake is, should I enter my vCenter information? My ESXi information?
 
Ping works properly, all ports are open, IP resolves with AD, all rules and access are there.
Something came to my mind, I think my mistake is, should I enter my vCenter information? My ESXi information?
You can use your vCenter, but its very Slow. Please use direct ESXi Connections with user root.
 
I started reading this thread and then realized that it was 17 pages. I also don't see the ability to search just within this thread, so pardon me if it's already been asked.

I see see the documentation state that VMware versions 6.5 through 8.0 have been tested successfully. Have versions outside of that been tested, unsuccessfully, or just no one has attempted? I asked because I have have a version 5.5 environment that I would like to migrate over.
 
I started reading this thread and then realized that it was 17 pages. I also don't see the ability to search just within this thread, so pardon me if it's already been asked.

I see see the documentation state that VMware versions 6.5 through 8.0 have been tested successfully. Have versions outside of that been tested, unsuccessfully, or just no one has attempted? I asked because I have have a version 5.5 environment that I would like to migrate over.

Supposedly someone over at r/Proxmox got it working at 6.0 and 5.5.

Can always manually copy over the .vmdk and .vmdk-flat files over and do a 'qemu-img convert'.
 
So what I did to make import of WhiteSpaces work.

First I editet the my esxi according to https://pve.proxmox.com/wiki/Migrate_to_Proxmox_VE#Considerations for Mass Import. I set the correct session settings. Then I deleted all snapshots of the VMs (Makes importing 4x faster)

And now to how to FIX the import even with whitespaces. I checked online the commit that fixes the problem and changed the file accordingly on my instance.

Commands
make a back-up of the file:


cp /usr/share/perl5/PVE/Storage/Plugin.pm /usr/share/perl5/PVE/Storage/Plugin.pm_bak

open file:
nano /usr/share/perl5/PVE/Storage/Plugin.pm

edit line 985: (You can see your current line in nano using Strg + c)
Remove everything including the or so the line looks like this:
($parent) = ($parent =~ /^(\S+)$/); # untaint

Reboot.

After that the import even with whitespaces worked for me.

I hope it helps.
Has anyone else done this? What are the risks of this change?

My problem ended up being that the source VMs had snapshots.
 
Last edited:
Migration Problems extremly slow speed

I installed a fresh pve 8.2 on an Fujitsu Primergy TX300S6 on a new samsung 500 GB ssd.
Install without problems.
I added an ESXi storage (according to the official YT Video) and all my vm's on an VMWare Esxi 6.5.0 (running on Primergy RX300S6) was available.

I wanted to import a Debian12 vm (shuted down).
The vm on ESXi is hosted on truenas via NFS.

I started importing with the default import config and the process was extremely slow, so that I had to cancel the process.
I was at 5% of 64 GB after 2 hours !.

vivaldi_gfTDaw8aCO.png

What can I do ?. Anything more to do before migration ?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!