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

Fabian Grünbichler f.gruenbichler at proxmox.com
Fri Nov 5 14:03:37 CET 2021

this series adds remote migration for VMs. there's still some of
TODOs/FIXMEs/stuff that requires discussion left, but this should
hopefully be possible to apply with minor modifications and lots of
future extensions.

both live and offline migration including NBD and storage-migrated disks
should work.

besides lots of rebases, implemented todos and fixed issues the main
difference to the previous RFC is that we no longer define remote
entries in a config file, but just expect the caller/client to give us
all the required information to connect to the remote cluster.

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


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


bridgepair format akin to storage pair, pve-bridge-id option, required
by qemu-server
remote format for specifying a remote endpoint (including API token,
fingerprint, ..)


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


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: handle pending changes and snapshots
TODO: proper CLI for remote migration
potential TODO: precond endpoint?


fix for handling unflushed proxy streams

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

required dependencies are noted, qemu-server also requires a build-dep
on patched pve-common since the required options/formats would be
missing otherwise..

More information about the pve-devel mailing list