我刚刚更新了我以前提到过的 ZFS Automatic Snapshot SMF 服务。

现在我们支持仅保留固定数目的快照,删除最旧的自动快照。如果我们要求该服务快照所有子数据集,这项功能也可以正确执行。当然,当我们寻找要删除的旧快照时,我们仅查看由此服务创建的快照,至少也要查询与我们的命名模式 (erm) 匹配的快照。也许我应该整理的好一点……

同样更新的是,该服务方法现在行为完全正常了,如果您以前没有见过 SMF,那么您肯定会喜欢这个更新。如果该服务方法内的任何任务失败了,现在我们会将该服务移动到 maintenance(维护)状态,然后等待管理员修复它。

仍然有更多工作要做,我想找到一种正确的方法,将 cron 作业的消息记录到该服务实例正确的 SMF 日志中——仅将 stdout 和 stderr 重定向到(比如)/var/svc/log/system-filesystem-zfs-auto-snapshot:space-timf.log 似乎不太合适。谁有更好的想法?

timf@haiiro[571] svcs -l svc:/system/filesystem/zfs/auto-snapshot:space-timf
fmri         svc:/system/filesystem/zfs/auto-snapshot:space-timf
name         ZFS automatic snapshots
enabled      true
state        online
next_state   none
state_time   Tue May 30 13:58:35 2006
logfile      /var/svc/log/system-filesystem-zfs-auto-snapshot:space-timf.log
restarter    svc:/system/svc/restarter:default
dependency   require_all/none svc:/system/filesystem/local (online)
dependency   require_all/none svc:/system/cron (online)

至今没有 GUI 更改,但如果您希望了解一下,可以下载最新的 tarball zfs-auto-snapshot-0.3.tar.gz

欢迎评论和建议!

6 月 8 日更新:可以在这里查看最近有关此主题的帖子

Advertisements