Describe the bug
When migrating a VM from ESXi to Proxmox VE with Ceph RBD as the target storage, the migration fails during the disk transfer phase. PegaProx attempts to write to /dev/rbd-pve/<uuid>/vm_nvme/vm-<vmid>-disk-0 but the RBD device is never mapped/created beforehand, so dd fails with "No such file or directory".
Steps to Reproduce
- Add an ESXi host and a Proxmox cluster with Ceph RBD storage (
vm_nvme) to PegaProx
- Start a V2P migration job, selecting the Ceph RBD pool as target storage
- PegaProx creates the VM shell successfully and mounts the ESXi datastore via SSHFS
- Transfer phase begins — PegaProx tries to
dd directly to /dev/rbd-pve/<uuid>/vm_nvme/vm-<vmid>-disk-0
- Migration fails immediately
Relevant log output:
Allocated: vm_nvme:vm-105-disk-0
Target: /dev/rbd-pve/27a9b882-9c9f-498a-9b8e-2faa7c99459e/vm_nvme/vm-105-disk-0
SSH: dd: failed to open '/dev/rbd-pve/27a9b882-9c9f-498a-9b8e-2faa7c99459e/vm_nvme/vm-105-disk-0': No such file or directory
SSHFS: dd: failed to open '/dev/rbd-pve/...': No such file or directory
ALL methods failed (0 of 214748364800 bytes)
FAILED: Transfer failed for test-vm-01.vmdk
Expected behavior
PegaProx should either:
- Create and map the RBD volume (
rbd create + rbd map) before attempting the dd transfer, or
- Use
qemu-img with native RBD support (rbd:pool/image:conf=...) instead of relying on the kernel block device path
Environment
Describe the bug
When migrating a VM from ESXi to Proxmox VE with Ceph RBD as the target storage, the migration fails during the disk transfer phase. PegaProx attempts to write to
/dev/rbd-pve/<uuid>/vm_nvme/vm-<vmid>-disk-0but the RBD device is never mapped/created beforehand, soddfails with "No such file or directory".Steps to Reproduce
vm_nvme) to PegaProxdddirectly to/dev/rbd-pve/<uuid>/vm_nvme/vm-<vmid>-disk-0Relevant log output:
Expected behavior
PegaProx should either:
rbd create+rbd map) before attempting theddtransfer, orqemu-imgwith native RBD support (rbd:pool/image:conf=...) instead of relying on the kernel block device pathEnvironment