Add pve1->pve-test VM/CT migration script (vzdump + qmrestore pattern) #32
Closed
beatzaplenty
wants to merge 2 commits from
worktree-migrate-vm-script into main
pull from: worktree-migrate-vm-script
merge into: :main
:main
:feature/ha-docker-swarm
:worktree-reflective-puzzling-frog
:worktree-crispy-churning-kernighan
:worktree-partitioned-swimming-pizza
:worktree-pve1-nix-cache-builder
:worktree-docs-beszel-guide
:worktree-ha-resize-disk
:worktree-functional-mapping-russell
:worktree-ha-file-server-test
:worktree-parsed-mapping-raven
:worktree-full-sweep
:worktree-docker-ipa-group
:worktree-ipa-lxc-kerberos-fix
:worktree-ipa-common-config
:worktree-docker-gui-fix
:worktree-ipa-client-module
:worktree-peaceful-stirring-noodle
:fix/static-ips
:worktree-beszel-tailscale-router
:worktree-lovely-spinning-bubble
:worktree-polished-wandering-toast
:worktree-warm-discovering-moon
:worktree-gentle-cuddling-hippo
:fix-stale-wording
:fix-sync-host-keys-clan-vars
:worktree-phase0-provision-ordering-fix
:worktree-fix-tailscale-host-dir
:worktree-push-host-keys
:worktree-tailscale-subnet-router-rename
:worktree-tor-relay-beszel
:worktree-rippling-riding-snail
:server-boot-fix
:worktree-zesty-wishing-knuth
:worktree-harmonic-jingling-bee
:worktree-reactive-gliding-map
:worktree-baremetal-esp-unmount
:worktree-baremetal-emergency-access
:worktree-fix-zfs-install-export
:worktree-gui-wifi-module
:worktree-parallel-host-eval
:worktree-migrate-vm-script
:worktree-pxe-menu-rename-and-minimal
:worktree-fix-pxe-netboot-hang
:worktree-clone-pve1-to-pve-test
:worktree-claude-md-pve-guardrails
:worktree-fix-container-dns-search-domain
:worktree-flake-e2e-audit
:worktree-maintenance-script-changed-files-only
:worktree-fix-nix-cache-host-key
:add-claude-builder-key
:worktree-refactor-scripts-shared-lib
:worktree-nix-cache-502-fix
:worktree-nix-cache-client-script
:fix-proxmox-remote-build-bootstrap
:worktree-proxmox-remote-build
:worktree-fix-lxc-docker-nfs-mounts
:add-backup-admin-key-script
:worktree-rotate-admin-key-script
:fix-stale-docs
:worktree-fix-duplicate-host-check-exitcode
:worktree-scripts-dedup
:remove-deploy-status-from-readme
:fix-duplicate-host-self-match
:worktree-nix-cache-lxc-migration
:worktree-fizzy-juggling-sedgewick
:fix-nix-cache-probe-retry
:worktree-starry-painting-whistle
:worktree-tailscale-exit-node
:refactor/secrets
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds
scripts/proxmox/migrate-vm.sh, built on the same vzdump/relay/restore pattern asclone-pve1-to-pve-test.sh, but as a migration (move) rather than a clone:--unique) since the source is being retired, not left running alongside the target (opt in via--uniquefor a fresh MAC anyway).--no-start).--remove-sourceto destroy the now-stopped guest on the source node afterward -- irreversible, so it gets its own separate typed confirmation. Default behavior leaves the stopped guest intact on the source as a safety net.--source-node/--target-node), defaulting to pve1 -> pve-test like the clone script, since a real Proxmox cluster could have more than two nodes.qm migratelive migration: pve1/pve-test aren't a clustered pair with shared storage, so vzdump (not incremental) is the closest equivalent. With the default--mode snapshot, writes on the source between the snapshot and cutover are lost;--mode stopavoids that at the cost of downtime for the whole backup duration instead of just cutover.--dry-runand--keep-backupthroughout, matching the clone script.Also backfills a
CLAUDE.mddoc entry forclone-pve1-to-pve-test.sh, which had shipped without one, alongside the new entry formigrate-vm.sh.No
.nixfiles touched, socodex-maintenance.shhas nothing to check here; validated withbash -nandshellcheck(only the same info-levelSC2029notices already present in the clone script, from the same intentional client-side-expansion pattern).https://claude.ai/code/session_013Lkv8k24Wuua3GRxrfMBLz