Import from VMWare - Error: Can't import delta of a running VM without its parent vdi
-
I have several workloads that are running on a standalone ESXi box, I would like to move these over to XCP-ng.
In testing with a system that isn't used (and likely should just be deleted) I get the above Subject line error, full logs copied below.
"id": "0lt4fscao", "properties": { "name": "importing vms 106", "userId": "93b51b77-75c4-4dc1-ab60-926b8f46025b", "total": 1, "done": 0, "progress": 0 }, "start": 1709042515008, "status": "failure", "updatedAt": 1709042515711, "tasks": [ { "id": "qzxnm3avlgk", "properties": { "name": "importing vm 106", "done": 1, "progress": 100 }, "start": 1709042515009, "status": "failure", "tasks": [ { "id": "lqc4mp5yhws", "properties": { "name": "connecting to 10.100.20.250" }, "start": 1709042515009, "status": "success", "end": 1709042515106, "result": { "_events": {}, "_eventsCount": 0 } }, { "id": "4061dmq1ky3", "properties": { "name": "get metadata of 106" }, "start": 1709042515106, "status": "success", "end": 1709042515453, "result": { "name_label": "Graylog", "memory": 34359738368, "nCpus": 16, "guestToolsInstalled": false, "firmware": "bios", "powerState": "poweredOn", "disks": [ { "capacity": 549755813888, "isFull": true, "uid": "e1fed2d1", "fileName": "Graylog-flat.vmdk", "parentId": "ffffffff", "vmdFormat": "VMFS", "nameLabel": "Graylog-flat.vmdk", "datastore": "VIrtualMachines on NAS", "path": "Graylog", "descriptionLabel": " from esxi", "node": "scsi0:0" } ], "networks": [ { "label": "VM Network", "macAddress": "00:0c:29:5a:76:28", "isGenerated": true } ] } }, { "id": "hmv8w5ba6hi", "properties": { "name": "build disks and snapshots chains for 106" }, "start": 1709042515453, "status": "success", "end": 1709042515453, "result": { "scsi0:0": [ { "capacity": 549755813888, "isFull": true, "uid": "e1fed2d1", "fileName": "Graylog-flat.vmdk", "parentId": "ffffffff", "vmdFormat": "VMFS", "nameLabel": "Graylog-flat.vmdk", "datastore": "VIrtualMachines on NAS", "path": "Graylog", "descriptionLabel": " from esxi", "node": "scsi0:0" } ] } }, { "id": "qy42lu9q8de", "properties": { "name": "creating MV on XCP side" }, "start": 1709042515454, "status": "success", "end": 1709042515629, "result": { "uuid": "3dc3619f-1835-fe98-8fb7-52a1aa6f4ec8", "allowed_operations": [ "changing_NVRAM", "changing_dynamic_range", "changing_shadow_memory", "changing_static_range", "make_into_template", "migrate_send", "destroy", "export", "start_on", "start", "clone", "copy", "snapshot" ], "current_operations": {}, "name_label": "Graylog", "name_description": "from esxi", "power_state": "Halted", "user_version": 1, "is_a_template": false, "is_default_template": false, "suspend_VDI": "OpaqueRef:NULL", "resident_on": "OpaqueRef:NULL", "scheduled_to_be_resident_on": "OpaqueRef:NULL", "affinity": "OpaqueRef:NULL", "memory_overhead": 287309824, "memory_target": 0, "memory_static_max": 34359738368, "memory_dynamic_max": 34359738368, "memory_dynamic_min": 34359738368, "memory_static_min": 34359738368, "VCPUs_params": {}, "VCPUs_max": 16, "VCPUs_at_startup": 16, "actions_after_shutdown": "destroy", "actions_after_reboot": "restart", "actions_after_crash": "restart", "consoles": [], "VIFs": [], "VBDs": [], "VUSBs": [], "crash_dumps": [], "VTPMs": [], "PV_bootloader": "", "PV_kernel": "", "PV_ramdisk": "", "PV_args": "", "PV_bootloader_args": "", "PV_legacy_args": "", "HVM_boot_policy": "BIOS order", "HVM_boot_params": { "order": "cdn" }, "HVM_shadow_multiplier": 1, "platform": { "timeoffset": "0", "nx": "true", "acpi": "1", "apic": "true", "pae": "true", "hpet": "true", "viridian": "true" }, "PCI_bus": "", "other_config": { "mac_seed": "268e6a48-2c8b-b106-3919-c0657fcefa1e", "vgpu_pci": "", "base_template_name": "Other install media", "install-methods": "cdrom" }, "domid": -1, "domarch": "", "last_boot_CPU_flags": {}, "is_control_domain": false, "metrics": "OpaqueRef:7e9e0b56-69fa-4257-9f82-bd05c0315093", "guest_metrics": "OpaqueRef:NULL", "last_booted_record": "", "recommendations": "<restrictions><restriction field=\"memory-static-max\" max=\"137438953472\" /><restriction field=\"vcpus-max\" max=\"32\" /><restriction property=\"number-of-vbds\" max=\"255\" /><restriction property=\"number-of-vifs\" max=\"7\" /><restriction field=\"has-vendor-device\" value=\"false\" /></restrictions>", "xenstore_data": {}, "ha_always_run": false, "ha_restart_priority": "", "is_a_snapshot": false, "snapshot_of": "OpaqueRef:NULL", "snapshots": [], "snapshot_time": "19700101T00:00:00Z", "transportable_snapshot_id": "", "blobs": {}, "tags": [], "blocked_operations": {}, "snapshot_info": {}, "snapshot_metadata": "", "parent": "OpaqueRef:NULL", "children": [], "bios_strings": {}, "protection_policy": "OpaqueRef:NULL", "is_snapshot_from_vmpp": false, "snapshot_schedule": "OpaqueRef:NULL", "is_vmss_snapshot": false, "appliance": "OpaqueRef:NULL", "start_delay": 0, "shutdown_delay": 0, "order": 0, "VGPUs": [], "attached_PCIs": [], "suspend_SR": "OpaqueRef:NULL", "version": 0, "generation_id": "0:0", "hardware_platform_version": 0, "has_vendor_device": false, "requires_reboot": false, "reference_label": "", "domain_type": "hvm", "NVRAM": {} } }, { "id": "gnrj3eb4cmt", "properties": { "name": "Cold import of disks scsi0:0" }, "start": 1709042515629, "status": "success", "end": 1709042515629, "result": {} }, { "id": "y6jsi6eln5", "properties": { "name": "powering down source VM" }, "start": 1709042515630, "status": "success", "end": 1709042515646, "result": { "returnval": { "attributes": { "type": "Task" }, "$value": "haTask-106-vim.VirtualMachine.powerOff-11668185" } } }, { "id": "iujouqs1kcf", "properties": { "name": "Transfering deltas of 0" }, "start": 1709042515646, "status": "failure", "end": 1709042515646, "result": { "message": "Can't import delta of a running VM without its parent vdi", "name": "Error", "stack": "Error: Can't import delta of a running VM without its parent vdi\n at file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:301:21\n at AsyncLocalStorage.run (node:async_hooks:338:14)\n at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:158:41)\n at Task.run (/opt/xen-orchestra/@vates/task/index.js:141:31)\n at Function.run (/opt/xen-orchestra/@vates/task/index.js:40:27)\n at map (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:294:22)\n at Array.map (<anonymous>)\n at MigrateVm.migrationfromEsxi (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:293:36)\n at runNextTicks (node:internal/process/task_queues:60:5)\n at processImmediate (node:internal/timers:447:9)\n at process.callbackTrampoline (node:internal/async_hooks:128:17)\n at file:///opt/xen-orchestra/packages/xo-server/src/api/vm.mjs:1432:30\n at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:158:22)\n at Task.run (/opt/xen-orchestra/@vates/task/index.js:141:20)\n at asyncEach.concurrency.concurrency (file:///opt/xen-orchestra/packages/xo-server/src/api/vm.mjs:1430:11)" } } ], "end": 1709042515711, "result": { "message": "Can't import delta of a running VM without its parent vdi", "name": "Error", "stack": "Error: Can't import delta of a running VM without its parent vdi\n at file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:301:21\n at AsyncLocalStorage.run (node:async_hooks:338:14)\n at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:158:41)\n at Task.run (/opt/xen-orchestra/@vates/task/index.js:141:31)\n at Function.run (/opt/xen-orchestra/@vates/task/index.js:40:27)\n at map (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:294:22)\n at Array.map (<anonymous>)\n at MigrateVm.migrationfromEsxi (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:293:36)\n at runNextTicks (node:internal/process/task_queues:60:5)\n at processImmediate (node:internal/timers:447:9)\n at process.callbackTrampoline (node:internal/async_hooks:128:17)\n at file:///opt/xen-orchestra/packages/xo-server/src/api/vm.mjs:1432:30\n at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:158:22)\n at Task.run (/opt/xen-orchestra/@vates/task/index.js:141:20)\n at asyncEach.concurrency.concurrency (file:///opt/xen-orchestra/packages/xo-server/src/api/vm.mjs:1430:11)" } } ], "end": 1709042515711, "result": { "succeeded": {}, "message": "Can't import delta of a running VM without its parent vdi", "name": "Error", "stack": "Error: Can't import delta of a running VM without its parent vdi\n at file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:301:21\n at AsyncLocalStorage.run (node:async_hooks:338:14)\n at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:158:41)\n at Task.run (/opt/xen-orchestra/@vates/task/index.js:141:31)\n at Function.run (/opt/xen-orchestra/@vates/task/index.js:40:27)\n at map (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:294:22)\n at Array.map (<anonymous>)\n at MigrateVm.migrationfromEsxi (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/migrate-vm.mjs:293:36)\n at runNextTicks (node:internal/process/task_queues:60:5)\n at processImmediate (node:internal/timers:447:9)\n at process.callbackTrampoline (node:internal/async_hooks:128:17)\n at file:///opt/xen-orchestra/packages/xo-server/src/api/vm.mjs:1432:30\n at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:158:22)\n at Task.run (/opt/xen-orchestra/@vates/task/index.js:141:20)\n at asyncEach.concurrency.concurrency (file:///opt/xen-orchestra/packages/xo-server/src/api/vm.mjs:1430:11)" } }
Should I just power off the VM's before migrating?
-
@olivierlambert I was able to sort out the issue, it has to do with licensing and the fact that we aren't licensed to with "Live Migration" for this ESXi host.
Essentially this inquiry is solved.
-
@DustinB said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
Should I just power off the VM's before migrating?
That's one option. Are there any snapshots involved?
-
@Danp not on the system I was testing with, no.
-
For laughs I am testing with a VM that is powered off and its going, albeit slowly (likely due to a 10FDx port on the ESXi host).
-
@DustinB We're currently looking at xcp as a potential vmware replacement. I get this same error when I try to import a VM running Linux from VC, also it powers off the source VM! Lucky this is a VM that doesn't really matter. No snapshots on the VM itself. It imports ok if I power it off before running the import.
Edit: I also tried direct from the ESXi host rather than via VC but got the same error.
Did you find any solution?
Thanks!
-
@jkissane said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
@DustinB We're currently looking at xcp as a potential vmware replacement. I get this same error when I try to import a VM running Linux from VC, also it powers off the source VM! Lucky this is a VM that doesn't really matter. No snapshots on the VM itself. It imports ok if I power it off before running the import.
Edit: I also tried direct from the ESXi host rather than via VC but got the same error.
Did you find any solution?
Thanks!
Yes, my issue was a matter of a ESXi licensing issue. In order to import with the VM being powered on, you need the higher tiers of licensing which isn't going to happen, because you're presumable leaving VMWare due to licensing cost.
-
@jkissane said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
I also tried direct from the ESXi host rather than via VC but got the same error.
AFAIK, this doesn't work when connecting to vCenter. You are supposed to connect directly to the ESXi host.
-
@Danp said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
@jkissane said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
I also tried direct from the ESXi host rather than via VC but got the same error.
AFAIK, this doesn't work when connecting to vCenter. You are supposed to connect directly to the ESXi host.
This too, you have to migrate from each individual hosts, though I hear rumors that the Vates team is working on migrating from vCenter, I could be wrong though..
-
@DustinB What licenses do we need I wonder? We have VC standard which means we can both vmotion & storage vmotion on the VMware platform.
We're licensed with VMware 'til the end of the year so exploring options at the moment.
-
@jkissane Moved away from the Broadcom mess one year ago with 2yrs worth of Vmware/Vcenter and Veeam license valid. What an excellent decision.
-
@jkissane said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
@DustinB What licenses do we need I wonder? We have VC standard which means we can both vmotion & storage vmotion on the VMware platform.
We're licensed with VMware 'til the end of the year so exploring options at the moment.
You need to be licensed for their Live Migration feature, not sure if standard includes that or not any more. It's been a while since dealing with VMWare's licensing crap.
-
@DustinB That would appear to be vMotion from reading on the VMware site. I thought the XCP method worked by taking a snapshot of a running VM & then copying that.
-
@jkissane said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
@DustinB That would appear to be vMotion from reading on the VMware site. I thought the XCP method worked by taking a snapshot of a running VM & then copying that.
Only if you're licensed for the live vMotion. Otherwise you need to power off the VM, migrate it to XCP-ng and then it'll work.
-
@DustinB We use live vMotion regularly on the ESX side, think the last time was when we were upgrading the servers. It's not vMotion if the VM is powered off, you're just starting it on a different host.
-
@jkissane Are you connecting to vCenter or to each host individually?
-
@DustinB I tried both, same error each time & the source VM gets powered off.
-
@jkissane said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
@DustinB I tried both, same error each time & the source VM gets powered off.
There was a version issue recently that may be causing the issue you're experiencing (from ESXi).
What version of VMWare are you using?
https://xcp-ng.org/forum/topic/8590/vmware-v7-warm-migration/12?_=1712681819057
-
@DustinB The version of ESXi is 6.5 & the iSCSI datastores are VMFS 5.
-
I tried another other option of cloning a running Windows VM & then trying to import the powered off clone. This didn't work either but a different error this time. Does importing from ESXi to xcp actually work as I can't see at this moment how it would be possible for us to migrate to xcp? I'm pretty certain it worked at least once with a powered down Linux but I'm starting to doubt myself now
vm.importMultipleFromEsxi { "concurrency": 1, "host": "vc.XXXXX", "network": "c448fd53-503a-0241-7104-0a1b287a7e5a", "password": "* obfuscated *", "sr": "98a52525-862f-3bb1-3403-3dc334f2509d", "sslVerify": false, "stopOnError": true, "stopSource": false, "user": "john.kissane@XXXXX", "vms": [ "vm-19874" ] } { "cause": { "size": 0 }, "succeeded": {}, "message": "404 Not Found https://vc.XXXXX/folder/nmrc3-clone/emptyBackingString?dcPath=ITS&dsName=Unity_vm_vol01", "name": "Error", "stack": "Error: 404 Not Found https://vc.XXXXXX/folder/nmrc3-clone/emptyBackingString?dcPath=ITS&dsName=Unity_vm_vol01 at Esxi.#download (file:///usr/local/lib/node_modules/xo-server/node_modules/@xen-orchestra/vmware-explorer/esxi.mjs:95:21) at Esxi.download (file:///usr/local/lib/node_modules/xo-server/node_modules/@xen-orchestra/vmware-explorer/esxi.mjs:113:21) at Esxi.#inspectVmdk (file:///usr/local/lib/node_modules/xo-server/node_modules/@xen-orchestra/vmware-explorer/esxi.mjs:221:21) at Esxi.getTransferableVmMetadata (file:///usr/local/lib/node_modules/xo-server/node_modules/@xen-orchestra/vmware-explorer/esxi.mjs:307:17) at Task.runInside (/usr/local/lib/node_modules/xo-server/node_modules/@vates/task/index.js:158:22) at Task.run (/usr/local/lib/node_modules/xo-server/node_modules/@vates/task/index.js:141:20) at MigrateVm.migrationfromEsxi (file:///usr/local/lib/node_modules/xo-server/src/xo-mixins/migrate-vm.mjs:178:28) at file:///usr/local/lib/node_modules/xo-server/src/api/vm.mjs:1432:30 at Task.runInside (/usr/local/lib/node_modules/xo-server/node_modules/@vates/task/index.js:158:22) at Task.run (/usr/local/lib/node_modules/xo-server/node_modules/@vates/task/index.js:141:20) at asyncEach.concurrency.concurrency (file:///usr/local/lib/node_modules/xo-server/src/api/vm.mjs:1430:11)" }
-
@jkissane said in Import from VMWare - Error: Can't import delta of a running VM without its parent vdi:
emptyBackingString
There's something fishy here Ping @florent