标签:Proxmox Backup Server、PBS、备份策略、垃圾回收、去重、SATA RAID、系统设计
背景概述
Proxmox Backup Server(PBS)是一款专为虚拟机和容器环境设计的企业级备份解决方案。在实际部署中,尽管其默认设置已可满足常规使用需求,但为了实现更高效的数据维护和资源利用,定期手动或自动执行 Prune、GC(Garbage Collection)、Verify 等操作成为常态。
本文分享一次完整的 PBS 数据清理流程,包括 GC 执行日志分析、系统资源监控、性能估算,以及对整个备份架构可靠性的深度理解。
系统架构简述
- 备份主机:基于小型主机,运行 PBS 系统
- 存储方案:2块儿SATA磁盘
- 存储挂载方式:将硬盘柜组合为逻辑卷,挂载至 PBS
/backup-dir,直接在 PBS 界面中配置为 Datastore - 网络与通知:自建 SMTP 服务,PBS 每次任务完成后自动发送邮件报告
清理任务启动前准备
PBS 中的备份策略采用 每日自动增量备份 + 保留最近一个月快照 的方式进行。每日运行以下任务:
Prune:清除超出保留策略的旧备份Verify:验证新生成的备份是否一致GC:移除未使用的 chunk 文件,释放磁盘空间
由于长期未执行 GC,此次执行前,系统中累计存在超 300 个旧备份版本,占用空间较大。
GC 操作详解与进度记录
Phase 1:Mark(标记阶段)
GC 的第一阶段用于标记当前所有备份索引中引用到的 chunk。本次共有 240 个索引文件。由于硬盘为 SATA,IOPS 较低,导致该阶段耗时显著,总耗时超过 10 小时。
示例进度(部分):
makefileCopyEdit2025-07-21T13:44:26+09:00: marked 36% (87 of 240 index files)
...
2025-07-21T19:49:26+09:00: marked 100% (240 of 240 index files)
Phase 2:Sweep(清除阶段)
从 2025-07-21 19:49 开始正式进入删除阶段,处理所有未被标记的 chunk 文件。总共处理了 超过 4 百万个 chunk,耗时将近 11 小时,平均删除速率约为:
- 135MB/s
- 每小时清理 ~480GB
该速率对于机械硬盘组成的 RAID 0 系统而言,已属优秀表现。
GC 结果汇总与性能指标
GC 操作最终输出结果如下:
| 指标 | 数值 |
|---|---|
| 删除空间 | 4.287 TiB |
| 删除 chunk 数 | 2,292,872 个 |
| 剩余 chunk 数 | 1,689,783 个 |
| 去重因子 | 53.21 |
| 原始数据体积 | 278.32 TiB |
| 实际磁盘占用 | 5.23 TiB |
| 坏块数量 | 0 |
系统在处理过程中无错误、无坏块,说明整体备份链条保持高度稳定。
系统负载与硬盘表现
文件复制速度评估
在 PBS 系统中进行内部文件复制测试,达到 约 200MB/s 的连续写入速度,表现与 8 块 7.2K SATA HDD 的 RAID 0 理论带宽相符。
IO 延迟监测
在 GC 运行期间,PBS 主机负载稳定,IO 延迟波动明显但非持续,符合 PBS 在大量小文件删除操作下的行为模式。
系统可靠性设计思路
整个 PBS 架构强调:
- 冗余独立性:PBS 与 PVE 分布在完全不同的主机与存储设备上,即使一方发生故障,另一方仍可独立存取或恢复数据。
- 恢复可行性:PBS 的 datastore 存储为逻辑卷,若系统重装,只需再次挂载原路径,即可重新识别备份数据,无需复杂恢复操作。
- 硬件概率考虑:即便无 RAID 冗余,现代机械硬盘设备的年平均故障率较低,双设备同日损毁的概率在实际中极低。使用规律化备份策略本身已具备较强抗灾能力。
自动化与可维护性
通过 PBS 的计划任务与邮件通知机制,系统具备自检、自清理、自报告的能力,形成闭环:
- 每天自动执行增量备份 + 验证 + 清理任务
- 任务完成后发送完整摘要至指定邮箱(自建 SMTP 服务)
- PBS Web 界面随时可视化调取任务历史与资源占用状态
整个系统在无人值守条件下也可持续运行且稳定。
总结
本次 GC 操作验证了 Proxmox Backup Server 在面对 TB 级别备份数据时的可靠性与效率。得益于优秀的去重机制与任务调度设计,PBS 即便在资源有限的硬件条件下,依然可以完成高效的数据清理与备份维护。
本方案适用于中小规模虚拟化环境、家庭实验室、或希望自主掌控备份架构的技术用户。在充分理解其工作机制后,PBS 可以成为高度自动化、低成本、高可用的备份解决方案核心。