Skip to main content

配置、保留策略与验证

配置标签页集中管理确保 datastore 持久性、清洁度和完整性的所有设置。


命名空间

命名空间允许在单个 datastore 内对备份进行逻辑分段,以嵌套目录结构实现,无需额外配置。

使用场景

  • 分隔多个共享同一 datastore 的 Proxmox VE 集群(VMID 重叠)
  • 隔离环境:prodpreproddev
  • 按客户或项目划分(托管场景)

嵌套结构

/
├── prod/
│ ├── vm-infra/
│ └── vm-clients/
├── preprod/
└── client-a/
多集群

不同集群有相同 VMID 时,为每个集群使用独立命名空间以避免命名冲突。


Prune 任务(保留策略)

Prune 根据保留策略删除旧快照,仅删除元数据(清单、索引)。实际数据块仅由垃圾回收释放。

可用保留选项

选项行为
keep-last N保留最近 N 个快照
keep-hourly N保留最近 N 小时内每小时最新快照
keep-daily N保留最近 N 天内每天最新快照
keep-weekly N保留最近 N 周内每周最新快照
keep-monthly N保留最近 N 个月内每月最新快照
keep-yearly N保留最近 N 年内每年最新快照

示例:每日备份,保留 10 年

选项原因
keep-last3保留最近手动备份
keep-daily13至少 2 周
keep-weekly8至少 2 个完整月
keep-monthly11一年的月度快照
keep-yearly9长期归档

最小示例:常规使用

keep-last: 3
keep-daily: 5
keep-weekly: 3
keep-monthly: 1

垃圾回收(Garbage Collection)

垃圾回收通过删除孤立数据块来释放实际磁盘空间——这些块不再被任何快照引用。

Prune 与 GC 的区别

操作删除什么是否释放空间
Prune快照元数据
GC孤立的物理数据块

仅运行 prune 不会释放任何磁盘空间,GC 必不可少。

GC 内部工作机制

  1. 标记阶段:PBS 读取所有索引,更新每个被引用数据块的访问时间(atime
  2. 清扫阶段:PBS 删除 atime 早于宽限期阈值的数据块

宽限期:24小时05分

PBS 在删除孤立数据块前等待 24 小时 5 分钟,这与 Linux 文件系统的 relatime 挂载选项有关,可防止删除正在进行中的备份任务所使用的数据块。

操作顺序

始终先运行 prune,再运行 GC,间隔至少 1 小时。


验证任务

验证任务通过检查每个数据块的校验和来确认备份的完整性。

推荐双任务策略

  1. 每周任务:仅验证尚未验证的新快照
  2. 每月任务:重新验证所有快照(检测旧备份的位腐烂)

推荐全局计划

任务频率时间
备份任务每天02:00
Prune每天03:00
垃圾回收每天04:00
验证(近期)每周周六 05:00
验证(完整)每月每月 1 日 05:00