[pve-devel] [RFC qemu-server++ 0/22] remote migration

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Apr 13 14:16:18 CEST 2021

this series adds remote migration for VMs. there's still plenty of
TODOs/FIXMEs/stuff that requires discussion, hence the RFC. live
migration with NBD and storage-migrated disks should work already.

the performance bottle neck (~190MB/s on loopback) for the websocket
connection seems to be in pveproxy at the moment - the rust code should
manage about 700MB/s.

overview over affected repos and changes, see individual patches for
more details.


some compatible changes to make websocket code usable for client-side
connections, required by proxmox-websocket-tunnel


new tunnel helper tool for forwarding commands and data over websocket
connections, required by qemu-server on source side
TODO: better error handling
TODO: fingerprint checking/valid certs/..
TODO: WS key generation
TODO: decide on mask?
TODO: investigate performance bottlenecks once PVE api server gets


new ticket type, required by qemu-server on target side


new remote.cfg and related helpers, required by qemu-server on source
TODO: ACLs, CLI, API for managing config
TODO: handling of discovered nodes with valid certificates
TODO: add additional information like default bwlimits, storage/bridge


bridgepair format akin to storage pair, pve-bridge-id option, required
by qemu-server
TODO: adapt pve-container


handle remote migration (no SSH) in AbstractMigrate,
required by qemu-server


new 'addr' endpoint for retrieving remote node IPs, required on target


extend 'pvesm import' to allow import from UNIX socket, required on
target node by qemu-server


some refactoring, new mtunnel endpoints, new remote_migration endpoints
TODO: check remote ACLs
TODO: handle pending changes and snapshots
TODO: CLI for remote migration
potential TODO: expose remote info via additional endpoints (resources? vmids?
permissions? ...)

as usual, some of the patches are best viewed with '-w', especially in

More information about the pve-devel mailing list