[pve-devel] [PATCH-SERIES v6 0/13] remote migration
Fabian Grünbichler
f.gruenbichler at proxmox.com
Wed Sep 28 14:50:46 CEST 2022
this series adds remote migration for VMs and CTs.
both live and offline migration of VMs including NBD and
storage-migrated disks should work, containers don't have any live
migration so both offline and restart mode work identical except for the
restart part.
groundwork for extending to pvesr already laid.
uncovered (but still not fixed)
https://bugzilla.proxmox.com/show_bug.cgi?id=3873
(migration btrfs -> btrfs with snapshots)
dependencies/breaks:
- qemu-server / pve-container -> bumped pve-storage (taint bug
storage migration)
- qemu-server / pve-container -> bumped pve-access-control (new priv)
- qemu-server -> bumped pve-common (moved pve-targetstorage option)
- pve-common -BREAKS-> not-bumped qemu-server (same)
follow-ups/todos:
- implement disk export/import for shared storages like rbd
- implement disk export/import raw+size for ZFS zvols
- extend ZFS replication via websocket tunnel to remote cluster
- extend replication to support RBD snapshot-based replication
- extend RBD replication via websocket tunnel to remote cluster
- switch regular migration SSH mtunnel to version 2 with json support
(related -> s.hanreichs pre-/post-migrate-hook series)
new in v6:
- --with-local-disks always set and not a parameter
- `pct remote-migrate`
- new Sys.Incoming privilege + checks
- storage export taintedness bug fix
- properly take over pve-targetstorage option (qemu-server ->
pve-common)
- review feedback addressed
new in v5: lots of edge cases fixed, PoC for pve-container, some more
helper moving for re-use in pve-container without duplication
new in v4: lots of small fixes, improved bwlimit handling, `qm` command
(thanks Fabian Ebner and Dominik Csapak for the feedback on v3!)
new in v3: lots of refactoring and edge-case handling
new in v2: dropped parts already applied, incorporated Fabian's and
Dominik's feedback (thanks!)
new in v1: explicit remote endpoint specified as part of API call
instead of
remote.cfg
overview over affected repos and changes, see individual patches for
more details.
pve-access-control:
Fabian Grünbichler (1):
privs: add Sys.Incoming
src/PVE/AccessControl.pm | 1 +
1 file changed, 1 insertion(+)
pve-common:
Fabian Grünbichler (1):
schema: take over 'pve-targetstorage' option
src/PVE/JSONSchema.pm | 7 +++++++
1 file changed, 7 insertions(+)
pve-container:
Fabian Grünbichler (3):
migration: add remote migration
pct: add 'remote-migrate' command
migrate: print mapped volume in error
src/PVE/API2/LXC.pm | 635 +++++++++++++++++++++++++++++++++++++++++
src/PVE/CLI/pct.pm | 124 ++++++++
src/PVE/LXC/Migrate.pm | 248 +++++++++++++---
3 files changed, 965 insertions(+), 42 deletions(-)
pve-docs:
Fabian Grünbichler (1):
pveum: mention Sys.Incoming privilege
pveum.adoc | 1 +
1 file changed, 1 insertion(+)
qemu-server:
Fabian Grünbichler (6):
schema: move 'pve-targetstorage' to pve-common
mtunnel: add API endpoints
migrate: refactor remote VM/tunnel start
migrate: add remote migration handling
api: add remote migrate endpoint
qm: add remote-migrate command
PVE/API2/Qemu.pm | 709 ++++++++++++++++++++++++++++++++++++++++++++-
PVE/CLI/qm.pm | 113 ++++++++
PVE/QemuMigrate.pm | 590 ++++++++++++++++++++++++++++---------
PVE/QemuServer.pm | 48 ++-
debian/control | 5 +-
5 files changed, 1299 insertions(+), 166 deletions(-)
pve-storage:
Fabian Grünbichler (1):
(remote) export: check and untaint format
PVE/CLI/pvesm.pm | 6 ++----
PVE/Storage.pm | 9 +++++++++
2 files changed, 11 insertions(+), 4 deletions(-)
--
2.30.2
More information about the pve-devel
mailing list