Got an idea? Nice! π‘ We love hearing what features would make PegaProx better for you.
A friendly reminder: PegaProx is built by volunteers in our spare time. We can't promise timelines or guarantee every feature will be implemented β but every suggestion helps shape the roadmap!
Want to help move things faster?
Describe the feature
Add a VDDK/NFC-based disk transport (e.g. nbdkit-vddk + qemu-img) for reading powered-on source VMs, as an alternative to the current file-level transports (HTTP /folder, SSH dd, SSHFS) used by snapshot_zero.
On standard ESXi, those file-level methods cannot read the base -flat.vmdk of a running VM: ESXi refuses raw opens of an active snapshot-chain extent, regardless of lock state. A VDDK transport reads the snapshot disk through the VMware management stack (NFC, port 902) and works while the VM is running β the same mechanism Veeam and virt-v2v rely on.
Use Case
Migrating of VMs from ESXi 8.0 (VMFS on FC) to Proxmox, I want the low-downtime path snapshot_zero advertises (copy the base live, then a short cutover). In practice the live path never works:
- Snapshot S0 is created fine; the base goes to lock
mode 2 (RO) as expected.
dd of the -flat β Device or resource busy
- HTTP
/folder GET of the -flat β HTTP 500, even with the correct dcPath=ha-datacenter (the directory listing works, the flat GET doesn't)
- SSHFS β
Operation not permitted
- Adding
disk.locking = "FALSE" to the VMX changes nothing β so it isn't the lock, it's the vmkernel guarding active chain extents
As a result, snapshot_zero only succeeds with the VM powered off, which defeats its purpose. A VDDK transport would make genuine near-zero-downtime migration possible, and with CBT (QueryChangedDiskAreas β the -ctk.vmdk is already present) it could do iterative deltas + a ~10 s cutover.
Implementation pointers: nbdkit + vddk plugin exposing the snapshot disk as NBD, then qemu-img convert straight to the Proxmox block device. Works host-direct against standalone ESXi (no vCenter required).
Alternatives considered
- Offline mode β works (VM off β
-flat unlocks β any method reads), but full downtime. Fine for most VMs, not for those that can't take an extended window.
- Fixing the
/folder URL (adding dcPath) β required for the directory listing, but the flat GET still returns 500 on a running VM, so it doesn't unblock the live path.
disk.locking = "FALSE" β confirmed no effect, and unsafe (split-brain corruption risk on an HA/FC cluster).
How important is this for you?
Blocking my use case for low-downtime migrations β as it stands, snapshot_zero is effectively offline-only on standard ESXi.
Describe the feature
Add a VDDK/NFC-based disk transport (e.g.
nbdkit-vddk+qemu-img) for reading powered-on source VMs, as an alternative to the current file-level transports (HTTP/folder, SSHdd, SSHFS) used bysnapshot_zero.On standard ESXi, those file-level methods cannot read the base
-flat.vmdkof a running VM: ESXi refuses raw opens of an active snapshot-chain extent, regardless of lock state. A VDDK transport reads the snapshot disk through the VMware management stack (NFC, port 902) and works while the VM is running β the same mechanism Veeam and virt-v2v rely on.Use Case
Migrating of VMs from ESXi 8.0 (VMFS on FC) to Proxmox, I want the low-downtime path
snapshot_zeroadvertises (copy the base live, then a short cutover). In practice the live path never works:mode 2(RO) as expected.ddof the-flatβDevice or resource busy/folderGET of the-flatβHTTP 500, even with the correctdcPath=ha-datacenter(the directory listing works, the flat GET doesn't)Operation not permitteddisk.locking = "FALSE"to the VMX changes nothing β so it isn't the lock, it's the vmkernel guarding active chain extentsAs a result,
snapshot_zeroonly succeeds with the VM powered off, which defeats its purpose. A VDDK transport would make genuine near-zero-downtime migration possible, and with CBT (QueryChangedDiskAreasβ the-ctk.vmdkis already present) it could do iterative deltas + a ~10 s cutover.Implementation pointers:
nbdkit+vddkplugin exposing the snapshot disk as NBD, thenqemu-img convertstraight to the Proxmox block device. Works host-direct against standalone ESXi (no vCenter required).Alternatives considered
-flatunlocks β any method reads), but full downtime. Fine for most VMs, not for those that can't take an extended window./folderURL (addingdcPath) β required for the directory listing, but the flat GET still returns 500 on a running VM, so it doesn't unblock the live path.disk.locking = "FALSE"β confirmed no effect, and unsafe (split-brain corruption risk on an HA/FC cluster).How important is this for you?
Blocking my use case for low-downtime migrations β as it stands,
snapshot_zerois effectively offline-only on standard ESXi.