[pve-devel] [PATCH-SERIES 0/21] remote migration
Fabian Grünbichler
f.gruenbichler at proxmox.com
Wed Feb 9 14:07:29 CET 2022
this series adds remote migration for VMs (and if the last pve-container
patch is applied, 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 not fixed) https://bugzilla.proxmox.com/show_bug.cgi?id=3873
(migration btrfs -> btrfs with snapshots)
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-guest-common:
new/refactored generic WS/SSH tunnel fork/read/.. helpers
new storage migration over WS tunnel helpers
pve-storage:
refactor storage_migrate to make code-reuse possible
use raw+size for btrfs when no snapshots exist
qemu-server:
some refactoring, new mtunnel endpoints, new remote_migration endpoints,
new `qm` command
TODO: handle pending changes and snapshots
TODO: improve handling of C^c
TODO: strict parser for FW config as well?
as usual, some of the patches are best viewed with '-w', especially in
qemu-server..
pve-container:
--target-storage for regular migration
remote migration PoC
TODO: handle pending changes and snapshots
TODO: strict parser for FW config as well?
pve-common:
map_id helper moved from qemu-server's map_storage
required dependencies are noted, patch overview follows..
pve-common:
add 'map_id' helper for ID maps
pve-container:
fix #1532: add target-storage support to migration
config: add strict parser
migration: add remote migration
qemu-server:
move map_storage to PVE::JSONSchema::map_id
schema: use pve-bridge-id
parse_config: optional strict mode
update_vm: allow simultaneous setting of boot-order and dev
nbd alloc helper: allow passing in explicit format
migrate: move tunnel-helpers to pve-guest-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-storage:
storage_migrate_snapshot: skip for btrfs without snapshots
storage_migrate: pull out import/export_prepare
add volume_import/export_start helpers
pve-guest-common:
migrate: add get_bwlimit helper
add tunnel helper module
add storage tunnel module
More information about the pve-devel
mailing list