Proxmox live migration fails when VM has VFIO‑passed PCIe GPU attached (error: device busy)
Environment
Proxmox VE 7.3 cluster with two nodes (QEMU/KVM), VMs running Linux guests. A VM has a PCIe GPU passed through using vfio-pci (bind via resident host), no snapshots, storage on shared NFS. Live migration (qm migrate) fails with error 'device is busy' only for VMs with VFIO devices attached; normal VMs without passthrough migrate fine.
Symptoms
Attempted live migration of VM with GPU attached returns: 'migration failed: device is busy' after several seconds. VM remains running on source node; no crash. Cold migration (stop VM then migrate) succeeds. VM consoles remain accessible on source. This occurs consistently for the same VM and same GPU device; other VMs without passthrough not affected.
Observations
- Host logs (journalctl and /var/log/syslog) show errors around vfio stating 'IOMMU group in use' and 'device cannot be detached from host' during migration attempt. - QEMU process holds open file descriptors for /dev/vfio/* and sysfs PCI device nodes. - IOMMU group includes additional devices (e.g., USB controller) preventing isolated migration of only GPU unless they are also passed. - Hardware is older motherboard with limited ACS grouping; ACS override not available or not recommended. - SR-IOV not relevant; device is a consumer GPU that does not support live migration of physical device between hosts.
Already attempted
- Tried online migration with --with-local-disks off (storage shared) and same error. - Attempted to unbind vfio-pci from VM guest and rebind on host during live migration (unsafe while VM running) — not attempted further. - Confirmed VM uses QEMU 6.2 as packaged in Proxmox; verified that cold migration works. - Reviewed Proxmox documentation: passthrough devices are typically incompatible with live migration unless mediated devices or device replication techniques used.
Question
Why does live migration fail for VMs with a VFIO-passthrough PCIe GPU attached and what safe, reversible options exist to enable migration or minimize downtime when moving such VMs between Proxmox nodes?
Verified community troubleshooting
No answers yet..
Incident analysis
Most likely causes
Summary
Suggested Fixes
Continue troubleshooting
Related troubles
Matched from the title, description and tags