Pve使用备份将虚拟机转移到其他节点

在原节点上导出镜像文件

执行 vzdump 备份命令

1
vzdump 200 --compress zstd --mode stop --storage local

解释:

  • 200:虚拟机/模板 ID;
  • --compress zstd:使用 zstd 压缩(生成 .vma.zst 文件);
  • --mode stop:停止虚拟机后再打包(最稳定);
  • --storage local:输出到 /var/lib/vz/dump/

image-20251105145757944

执行完会生成三类文件,例如:

1
2
3
4
/var/lib/vz/dump/
├── vzdump-qemu-200-2025_11_05-12_30_01.vma.zst
├── vzdump-qemu-200-2025_11_05-12_30_01.log
└── vzdump-qemu-200-2025_11_05-12_30_01.vma.zst.notes

复制文件到目标节点

使用 scp 把文件传到另一台 PVE:

1
scp /var/lib/vz/dump/vzdump-qemu-200-2025_11_05-12_30_01.vma.zst root@pve2:/var/lib/vz/dump/

只需要 .vma.zst 文件,.notes.log 可选。

image-20251106203931647

在目标节点上恢复虚拟机

1
qmrestore /var/lib/vz/dump/vzdump-qemu-200-2025_11_05-12_30_01.vma.zst 200 --storage local-lvm

解释:

  • /var/lib/vz/dump/...vma.zst:镜像文件路径;
  • 200:目标 VM ID(可改成任意新的,如 201);
  • --storage local-lvm:还原到哪个存储上(可以改成目标节点的存储名)。

执行完会输出类似:

1
2
restore image 'vm-200-disk-0' (local-lvm)
restore configuration data

或者在pve webui上恢复

image-20251106210936105

如果原来是模板

还原后会变成普通虚拟机,你可以再转换为模板:

1
qm template 200