From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id A15E59224 for ; Thu, 17 Nov 2022 14:34:24 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5AC172CDE7 for ; Thu, 17 Nov 2022 14:33:54 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Thu, 17 Nov 2022 14:33:53 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 1C65443E33 for ; Thu, 17 Nov 2022 14:33:53 +0100 (CET) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pve-devel@lists.proxmox.com Date: Thu, 17 Nov 2022 14:33:36 +0100 Message-Id: <20221117133346.737686-1-f.gruenbichler@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: =?UTF-8?Q?0=0A=09?=AWL 0.138 Adjusted score from AWL reputation of From: =?UTF-8?Q?address=0A=09?=BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict =?UTF-8?Q?Alignment=0A=09?=SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF =?UTF-8?Q?Record=0A=09?=SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH-series container/qemu-server v7 0/10] remote migration X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Nov 2022 13:34:24 -0000 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) 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 pve-container: Fabian Grünbichler (3): migration: add remote migration pct: add 'remote-migrate' command migrate: print mapped volume in error debian/control | 3 +- src/PVE/API2/LXC.pm | 635 +++++++++++++++++++++++++++++++++++++++++ src/PVE/CLI/pct.pm | 124 ++++++++ src/PVE/LXC/Migrate.pm | 248 +++++++++++++--- 4 files changed, 967 insertions(+), 43 deletions(-) qemu-server: Fabian Grünbichler (7): pending changes: allow skipping cloud-init pending: fix typo in variable name 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 | 717 ++++++++++++++++++++++++++++++++++++++++++++- PVE/CLI/qm.pm | 113 +++++++ PVE/QemuMigrate.pm | 590 ++++++++++++++++++++++++++++--------- PVE/QemuServer.pm | 49 ++-- debian/control | 7 +- 5 files changed, 1311 insertions(+), 165 deletions(-) -- 2.30.2