Homelab 笔记

ZFS 快照:我的保留策略

NAS 上的数据放在 ZFS 上。快照创建是瞬间完成的,刚创建时几乎不占额外空间,是防误删最划算的手段。

zfs snapshot tank/data@manual-2025-08-27
zfs list -t snapshot -o name,used,creation tank/data
zfs rollback tank/data@manual-2025-08-27

手动打快照容易忘,现在交给 sanoid 自动管理,配置在 /etc/sanoid/sanoid.conf:

[tank/data]
  use_template = production

[template_production]
  hourly = 24
  daily = 30
  monthly = 6
  autosnap = yes
  autoprune = yes

这样会保留最近 24 小时每小时一个、最近 30 天每天一个、最近 6 个月每月一个快照。只想找回单个文件时不用回滚整个数据集,到 /tank/data/.zfs/snapshot/ 下对应的快照目录里把文件复制出来就行。

要注意的是,快照和原数据在同一个存储池里,池坏了快照也一起没了。所以快照只防误操作,不能代替异地备份。