Proxmox Backup Server 默认支持运行中虚拟机的增量去重备份,依赖 qemu-ga 实现应用一致性快照;去重基于 4MB chunk 的 SHA-256 校验自动完成,需复用同一 backup-id 且使用本地目录型存储;异地备份推荐通过 proxmox-backup-manager sync 同步至另一 PBS 实例。

Proxmox Backup Server 能否在 VM 运行时做增量去重备份
能,而且是默认行为——只要 PBS 客户端连接正常、存储可用、虚拟机未被强制暂停(如 QEMU process crash),pbs-backup 就会在运行中抓取一致性快照(基于 qemu-ga 或 libvirt 冻结机制)。关键不是“能不能”,而是“是否真正触发了应用一致性”。
常见错误现象:Backup finished successfully 日志看着没问题,但恢复后数据库报错或文件损坏。这往往是因为没启用 qemu-ga,或虚拟机内未安装/启动该服务,导致 PBS 只做了文件系统级快照(crash-consistent),而非应用级(application-consistent)。
- 检查虚拟机是否已安装并启用
qemu-ga:登录 VM 执行systemctl is-active qemu-guest-agent,返回active才算就位 - PVE 后台需勾选「启用 QEMU agent」:虚拟机配置 → 选项 →
QEMU agent→ 设为启用 - 若 VM 是 Windows,还需确认
QEMU Guest Agent服务状态为运行中,且防火墙放行 TCP 1234(默认通信端口)
增量 + 去重怎么在 PBS 里自动生效
PBS 的增量和去重不是开关选项,而是架构级设计:每次备份都以 chunk 为单位计算 SHA-256 校验和,只上传未见过的块;相同内容无论来自哪台 VM、哪个时间点,都只存一份物理副本。所以你不用手动选“增量”或“去重”,只要用 proxmox-backup-client 推送,它就自动发生。
但要注意两个隐性前提:
-
datastore必须是 PBS 自建的目录型存储(Directory类型),不能是 NFS/CIFS 挂载点——后者不支持 chunk 级去重索引 - 备份任务必须复用同一个
backup-id(即 PVE Web 中“备份 ID”字段保持不变),否则 PBS 会视为全新备份流,无法复用历史 chunk - 首次备份永远是全量(full),后续所有同
backup-id的备份才是增量+去重——这点和 rsync 的--link-dest逻辑类似,但底层实现更重
把 PBS 备份推到异地存储的三种可行路径
PBS 本身不直接支持“异地写入”,它的设计哲学是“本地高速写入 + 异地异步复制”。强行让 PBS 客户端直连远端 NFS 或 S3,性能极差且易中断。推荐以下三类实操路径:
-
路径一(推荐):PBS 本机挂载异地存储(如通过
sshfs或rsync over SSH挂载远程 NAS 的目录),再将该目录设为 PBSdatastore。缺点是网络抖动会导致 PBS 备份失败,不建议生产环境长期使用 -
路径二(主流):PBS 本地完成备份后,用
proxmox-backup-manager sync命令同步到另一台 PBS 实例(异地 PBS)。命令示例:proxmox-backup-manager sync pve_cluster@pbs-local: pve_cluster@pbs-remote:。要求两端 PBS 版本兼容(建议同大版本,如都是 3.2.x) -
路径三(轻量):用
rsync --delete-after -avH --numeric-ids同步 PBS 的/var/lib/proxmox-backup/store下对应 datastore 目录。注意:必须等 PBS 当前备份完全结束(proxmox-backup-manager status显示 idle)、且未在执行 GC(垃圾回收)时再同步,否则可能复制到半截的 chunk 文件
容易被忽略的三个硬约束
很多用户卡在最后一步,不是配置错,而是踩中了 PBS 的底层硬限制:
- PBS 的去重粒度是固定 4MB chunk(不可调),这意味着单个小于 4MB 的小文件(如日志、配置)也会被切满 4MB 存储——如果你备份大量微小文件,实际空间节省率远低于预期
- 异地同步时,
proxmox-backup-manager sync不校验目标端完整性,只比对 manifest 和索引。若网络丢包导致某 chunk 传输损坏,恢复时才会暴露问题。建议定期用proxmox-backup-manager verify手动抽检 - PBS 不支持跨版本 restore:3.2 备份的数据,不能用 3.0 的 PBS 恢复。升级 PBS 前,务必先确认所有异地副本也已完成同步升级,否则异地容灾链路就断了











