要证明虚拟机备份可用,需要完成两件事:把备份写到独立于原虚拟磁盘的目标,再将备份恢复为一个新的、断网的虚拟机,检查系统与业务数据。看到备份任务成功,只证明备份任务完成;不能代替恢复验收。
本教程面向初级网工,使用Proxmox VE 8/9的Web管理界面,为一台普通QEMU虚拟机建立文件型备份,再恢复到新VM ID。以下为依据官方文档整理的操作示例,不是客户现场恢复记录;不同小版本的按钮译名可能略有差异。涉及数据库、域控制器、集群节点或硬件直通的虚拟机,应先由对应系统管理员确定恢复方案。
一、先明确备份边界和演练参数
这里的“独立存储”指经过管理员确认、已经挂载的另一套物理存储,不是给原系统盘再建一个目录。它可以是专用备份磁盘,也可以是已经按运维规范挂载的文件共享。本文不包含磁盘格式化、文件系统创建或挂载配置。没有完成这些前置工作时,请停在这里,不要把空目录当作已挂载的备份盘。
| 项目 | 本文操作示例 | 执行前需要核对 |
|---|---|---|
| 节点 | pve01 | 有管理权限,管理入口和控制台可用 |
| 原虚拟机 | VM 100,普通Linux业务机 | 业务负责人、磁盘清单、停机窗口 |
| 备份存储ID | backup-dir | 不与已有存储重名 |
| 独立存储目录 | /mnt/backup | 已挂载,真实设备/共享来源和容量有记录 |
| 恢复虚拟机ID | VM 200 | 在整个集群中未使用 |
| 恢复磁盘存储 | local-lvm,或另一个支持VM磁盘的存储 | 空间足够,不是备份文件所在目录的同义词 |
| 演练网络 | 首次启动前断开全部虚拟网卡 | 仅通过PVE Console登录 |
| 启动方式 | 手动启动,关闭自动随宿主机启动 | 不加入HA,不开启恢复后立即启动 |
备份文件需要可用空间,恢复出的虚拟磁盘也需要空间,两者要分别计算。不要把压缩率、备份文件大小或Thin存储显示的虚拟容量当作实际可用容量。先做一台低风险虚拟机,记录备份大小和耗时,再制定后续容量及窗口,不能用本例推算全公司备份时长。
图示:备份复制到独立设备;同机快照仍依赖源主机及其存储。图中箭头说明备份复制,不代表已经完成恢复验证。
二、确认目录真实落在备份存储上
请存储管理员提供本次挂载的确认记录,至少包含目录、挂载来源、文件系统、总容量、可用容量和重启后的挂载方式。PVE界面出现一个Directory条目,并不能单独证明底层挂载正确。
一个典型风险是:备份盘没有挂载,但同名目录仍然存在。若继续写入,文件可能落到PVE宿主机根文件系统,最终影响管理服务和运行中的虚拟机。仅凭“目录存在”“存储显示绿色”或“能写一个小文件”不能排除这个问题。应由管理员验证挂载来源,并为挂载丢失建立拒绝写入/不可用保护;目录后端支持的挂载点检查需由管理员按当前版本配置核实,不能假设勾选Shared可以实现。
若无法证明挂载来源、容量明显与备份设备不符,或者目标出现I/O错误、只读状态,请停止备份。不要在故障盘上反复重试,也不要临时改写到系统盘。
照片:Mixabest,FSC Primergy TX200 S2热插拔硬盘托架,2010年;Wikimedia Commons原图及来源,作者以PD-self发布至公有领域。此为资料照片,非本文现场,不证明该设备运行Proxmox VE;图片经等比缩小并转为WebP。独立介质可以缩小原存储故障的影响范围,但不自动等于异地备份、离线备份或不可变备份。
三、添加只承载备份文件的Directory存储
- 登录PVE管理界面,在左侧选择Datacenter(数据中心),打开Storage(存储)。
- 点击Add(添加)→ Directory(目录)。ID填写本例的backup-dir;Directory填写管理员确认的挂载目录。路径必须对应真实挂载位置,不要照抄到任意空目录。
- Content(内容)只选择VZDump backup file或界面对应的Backup文件类型。取消Disk image、ISO image等其他类型,便于分清用途。备份文件属于文件型内容;通常名为local-lvm的LVM-thin存储承载VM磁盘,不能作为普通VZDump文件的保存目录。
- Nodes(节点)限制为确实具有该挂载的节点,本例为pve01。独立本地磁盘不要勾选Shared;Shared表示底层已经在节点之间共享,不会替你配置共享或复制数据。
- 保存后,选择pve01下面的backup-dir,查看Summary(概要)的启用状态和容量,再进入Backups(备份)或内容列表。初始列表为空可以是正常情况。
保存新条目后,再请管理员针对backup-dir这个新存储ID核对挂载失效保护已经生效,避免仅对旧条目或旧路径设置过保护。未确认时停止,不执行下一步备份;不要为测试保护直接拔掉承载生产任务的设备。
检查结果:存储可用、容量与管理员记录相符、节点范围正确、内容类型包含备份。若目标未出现在备份选择框,先查内容类型、节点限制、启用和挂载状态,不要修改原虚拟机磁盘存储来“解决”。
四、选择备份模式,并确认所有必要磁盘都在范围内
打开原VM 100的Hardware(硬件),逐一检查系统盘与数据盘的Backup选项。明确排除的磁盘不会因为任务显示成功就变成已保护;外部网络共享、直通设备、应用远端数据也不能仅凭VM备份获得保护。将这些依赖另行列入备份方案。
在Options(选项)查看QEMU Guest Agent。只有虚拟机内部已安装、启动并且PVE侧已启用对应功能,备份过程才可能利用来宾代理协调文件系统。单独勾选开关不等于代理服务可用。文件系统冻结/解冻有助于一致性,但不构成所有数据库均已完成应用一致性备份的保证。数据库还应按其官方方式做备份和恢复检查。
| 模式 | 适合本轮的判断 | 注意事项 |
|---|---|---|
| Snapshot | 业务需要持续运行,已评估一致性风险 | VM在线备份并不要求底层存储必须支持快照;来宾代理可改善一致性 |
| Stop | 已批准短暂业务中断,需要从有序关机状态开始备份 | VM原先运行时,备份开始后可恢复运行;不要误读成整个备份期间始终关闭 |
| Suspend | 本例不选 | 暂停更久不代表一定更一致,不作为默认替代方案 |
第一次演练优先选低风险业务和已批准窗口。若来宾代理报错、业务无法有序关闭或数据库恢复要求尚不明确,先停止扩大范围,交给业务管理员处理,不能把警告当成“可忽略”。关于备份模式和来宾一致性的机制,参见Proxmox官方备份说明。
五、手动执行一次备份并保存任务结果
- 选择VM 100 → Backup(备份)→ Backup now(立即备份)。
- Storage选择backup-dir。Mode选择前一步确定的模式;Compression选择ZSTD。再次确认选中的是原虚拟机,而不是其他业务机。
- 启动任务,打开弹出的任务窗口。观察日志中的VM ID、目标存储、处理磁盘和进度;如有代理错误、读取失败或空间不足,保留日志并按错误处理。
- 等待任务明确结束,检查最终任务状态为OK,同时确认日志没有尚未解决的一致性或磁盘排除问题。不要只看进度条到100%。
- 到backup-dir的备份列表,核对新条目的时间、VM ID和大小,保存任务日志与备份标识。再检查目标剩余空间和宿主机健康状态。
本次先保留既有备份,不为腾空间自动清理最后一份可用副本。保留策略应在恢复演练完成、容量测量和业务保留要求明确后另行制定。普通文件存储上的备份也不是天然去重增量仓库,不要按“每日只增一点”的假设规划容量。
六、恢复到新VM ID,禁止覆盖原虚拟机
恢复演练的目标是验证副本,原VM 100保持原状。需要覆盖原机的事故恢复不在本演练步骤内。
- 在左侧选择节点下的backup-dir → Backups,选中刚才生成的VM 100备份,再点Restore(恢复)。从存储备份列表进入,避免在原VM的恢复入口中误触覆盖流程。
- VM ID填写未使用的200。逐字确认它与100不同;若对话框指向覆盖已有VM、无法修改ID,取消并重新从存储备份列表进入。
- Storage选择用于承载恢复磁盘的目标存储。这个字段决定恢复出的磁盘落在哪里,不是让你再选一次备份文件来源。确认物理剩余空间和支持的内容类型。
- 关闭Start after restore(恢复后启动);若显示Add to HA等选项,本轮不要启用。文件备份不使用PBS Live Restore流程。
- 可以勾选Unique或生成唯一MAC地址,但它只能处理网络标识的一部分,不能修改来宾内部静态IP、主机名、数据库身份、定时任务或业务凭据,更不能代替断网隔离。
- 复核目标ID、节点、磁盘存储和关闭立即启动,再执行Restore。等待任务OK。失败时保留原备份和原VM,不要盲目删除不明磁盘来重试。
图示:新VM ID解决平台对象冲突,网卡断开用于防止恢复副本直接进入生产网络;两项都需要落实。
七、首次启动前完成隔离,再检查业务数据
恢复完成后先不要点击Start。选择新VM 200,检查Options → Start at boot(开机自启动)为No,并确认没有被HA或其他自动化接管。演练期间避免节点重启或自动化启动这台副本。
进入Hardware,逐张打开Network Device → Edit,展开Advanced(高级)选项,勾选Disconnect(断开),保存。多网卡必须全部处理,不能只断开net0。若恢复配置包含PCI/USB直通网卡、共享磁盘、物理磁盘或外部资源,先由管理员排除副本访问生产资源的可能,再启动;普通虚拟网卡的Disconnect不管这些设备。
确认隔离后手动Start,通过Console登录。不要为了远程桌面方便立即接回办公网。按以下清单保存结果:
| 检查层级 | 验收内容 | 失败时的动作 |
|---|---|---|
| 启动 | 正确系统、正确磁盘、无紧急模式或引导错误 | 停止业务验收,检查控制器、固件和磁盘恢复日志 |
| 文件 | 选取备份时间之前的代表性目录、文件数量和内容 | 保留差异证据,核对是否存在被排除磁盘 |
| 应用 | 由负责人检查服务日志、配置和离线可用的数据 | 不以服务进程存在代替数据可恢复 |
| 数据库 | 按数据库规范完成一致性、表/记录和恢复时间点检查 | 交给DBA,不擅自执行修复或重建 |
| 隔离 | 所有网卡仍断开,没有生产共享或直通资源 | 立即停止副本,修正隔离后重新演练 |
| 恢复目标 | 实际耗时、可恢复数据时间点符合业务约定 | 调整方案,不能仅以“能开机”通过 |
确实需要网络测试时,应先设计无生产上联的专用测试网络,关闭或改配副本中的邮件、支付、同步、监控回调和定时任务,并由业务负责人批准测试地址与依赖。网络隔离规则可参考pfSense访客VLAN隔离部署教程,但访客网不自动成为安全的恢复测试网,本例也不要求改动现有网络。
八、失败门槛、回退和演练收尾
出现目标挂载不明、空间不足、磁盘读取错误、备份警告未解释、恢复要求覆盖原VM、网卡无法确认断开或生产依赖不明时,暂停对应步骤。不要通过跳过磁盘、接入生产网、强制覆盖或删除旧备份来消除告警。
演练失败的回退是关闭恢复副本、保留原VM和备份,并记录失败点。若副本误接生产网,先停止或断开副本,通知业务管理员核查重复IP、外发任务与数据写入;只断网并不能撤销已经发生的外部动作。
演练成功后,先关闭VM 200并保存验收记录。确认无需保留后,复核VM ID和磁盘归属,再仅清理演练副本;不要顺手删除备份存储、原VM或其他虚拟机磁盘。未来每次重要升级、磁盘布局变化或备份策略变化后,重新安排恢复演练。
常见问题
已有VM快照,还需要备份吗?
需要。原存储故障可能同时影响虚拟机和同存储快照。本文把文件备份放到独立存储,但还需要额外考虑离线、异地和权限隔离,才能覆盖更大范围的故障与勒索风险。
备份任务OK,为什么还不能直接判定成功?
因为任务完成不证明遗漏磁盘、应用一致性、外部数据和恢复时间点都满足业务要求。恢复到隔离副本并由负责人检查数据,才提供本次演练范围内的证据。
Unique MAC能否避免恢复副本与原机冲突?
不能。它不会替你修改来宾静态IP和业务身份。先断开所有网卡,控制台验证后才按专用测试网方案接入。
能把local-lvm当备份目标吗?
通常不能。默认local-lvm是保存虚拟磁盘的块存储,不是普通VZDump归档文件目录。请使用支持备份内容的文件型存储或另行规划Proxmox Backup Server。
相关解决方案
需要梳理虚拟化平台、备份介质、恢复目标和演练责任,可联系煜企企业IT服务。先明确业务能接受的数据损失和恢复时长,再选择存储与备份方式。
相关阅读与官方依据
- Proxmox目录存储说明:目录型存储的用途和边界。
- Proxmox恢复对话框实现:恢复目标ID、存储、唯一标识与启动选项。
- pfSense访客VLAN隔离部署:理解隔离规则的检查思路。



