作者: littleboy 2024-03-26 10:34:17

PVE-备份&还原

在你上一轮担心的“PVE宿主机损坏”场景下,“提前备份 + 迁移到另一台PVE”正是最稳妥的灾备方案。

整个过程并不复杂,本质上就是将第一台机器上的备份文件,搬到第二台机器的对应位置,然后执行恢复。步骤如下:

备份

📋1 创建备份

首先,在你当前正常的PVE上,为需要迁移的虚拟机(以Windows为例)创建一份完整备份。

  1. 选择虚拟机:在PVE Web界面左侧,选中你的Windows虚拟机。
  2. 进入备份:点击顶部菜单栏的备份 -> 然后点击右下角的立即备份
  3. 配置备份:在弹出的窗口中,确认备份目标存储(如local),可以为备份任务设置一个容易识别的名称,然后点击备份
  4. 等待完成:PVE会在右下角的任务日志窗口中显示进度,直到显示“TASK OK”即代表备份成功。

image-20250415004026441

📦2 导出备份

备份完成后,你需要从PVE宿主机中,将生成的备份文件“取出来”。

  1. 定位文件:PVE的虚拟机备份文件默认存放在宿主机的 /var/lib/vz/dump/ 目录下。文件名格式通常是 vzdump-qemu-<虚拟机ID>-<日期时间>.vma.zst
  2. 导出文件:你可以通过 SCP(如WinSCP、MobaXterm等工具)或 SFTP 连接你的PVE宿主机IP,导航至 /var/lib/vz/dump/ 目录,将这个 .vma.zst 备份文件下载到你的本地电脑或一个中间存储上。

还原

🔁3 导入备份

现在,在全新安装好的第二台PVE上进行操作。

  1. 连接目标PVE:使用你熟悉的SSH工具连接到新PVE宿主机的IP地址

  2. 上传备份文件:通过SSH的文件传输功能(或再次使用WinSCP等工具),将上一步得到的 .vma.zst 备份文件,上传到新PVE宿主机的 /var/lib/vz/dump/ 目录下

  3. 确认文件存在:在新PVE的Shell终端中,使用以下命令列出目录内容,确认文件已成功上传:

    bash

    1
    ls -lh /var/lib/vz/dump/

🔄4 恢复备份

这是最后一步,你可以选择用命令行或Web界面来完成。

方法一:使用命令行(推荐)

这种方式最直接。在新PVE的Shell终端中,使用 qmrestore 命令来恢复备份。命令格式如下:

1
qmrestore /var/lib/vz/dump/<你的备份文件名> <新的虚拟机ID> --storage <目标存储>

示例:假设你的备份文件是 vzdump-qemu-100-2026_05_17-10_30_00.vma.zst,你想将它恢复成一个ID为 200 的新虚拟机,并存放到名为 local-lvm 的存储上,那么命令就是:

1
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2026_05_17-10_30_00.vma.zst 200 --storage local-lvm

等待命令执行完成,你就会在PVE Web界面的左侧看到ID为 200 的虚拟机了。关于恢复时是否需要对新虚拟机的网络MAC地址等信息进行重新配置,可以在恢复时参考命令行说明进行处理。

方法二:通过Web界面操作

如果你更习惯图形界面,也可以直接在新PVE的网页上操作。

刷新存储:点击数据中心(Datacenter)-> 存储Storage),选中你存放备份的存储(比如local),然后点击内容Content)选项卡。如果刚才上传的备份文件没有立刻出现,可以点击上方的刷新按钮。

开始恢复:在备份文件列表中找到它,选中,然后点击上方的还原Restore)按钮。

确认设置:在弹出的窗口中,可以指定一个新的VM ID,选择目标存储,然后点击还原即可。

完成以上步骤后,你的整个Windows虚拟机环境和配置,就等于从旧机器完整地“搬家”到了新机器上。

参考

https://www.cnblogs.com/best-lwj/p/14605908.html

哔哩哔哩_bilibili