ITPub博客

首页 > 数据库 > SQL on Hadoop > 在FreeBSD上使用Sanoid实现ZFS自动快照 | FreeBSD基金会

在FreeBSD上使用Sanoid实现ZFS自动快照 | FreeBSD基金会

SQL on Hadoop 作者:ITPUB社群 时间:1970-01-01 08:33:45 0 删除 编辑

多年来,OpenZFS 在 FreeBSD 上一直是一等公民。从安装程序开始,用户就可以安装完整的 root-on-ZFS 系统。FreeBSD 会为基础操作系统创建必要的数据集,包括 /usr、/var 和 /home 的数据集。

如果灾难降临导致文件丢失,ZFS 可以通过回滚到之前的快照来恢复数据——前提是该数据集存在快照。缺失的功能是定期自动创建快照并轮换它们。轮换意味着根据用户定义的策略删除较旧的快照。这避免了数据集随时间推移被数百万个快照填满。虽然 OpenZFS 提供了创建和删除快照的所有基本命令,但用户需要自行管理快照计划。这意味着每个数据集应该多久创建一次快照,以及删除它们的规则是什么。

多年来,程序员们创建了提供这种自动快照功能的独立解决方案。这些方案可通过 FreeBSD ports collection 或预编译包作为第三方软件获取,其中许多都易于快速设置。本文深入探讨由 Jim Salter 编写的 sanoid。它允许用户编写自己的策略,决定何时以及多久创建一次快照。例如,系统管理员可以选择比 /usr/src 数据集更频繁地为 home 数据集创建快照。前者包含关键且频繁变化的数据,而后者可以轻松从头重新创建(除非你是其中处理代码的开发者)。

Sanoid 的配置文件 sanoid.conf 位于 /usr/local/etc,用于定义策略。考虑以下示例策略:

[template_zroot]
  hourly = 36
  daily = 14
  monthly = 6
  autosnap = yes
  autoprune = yes
  frequent_period = 15
  frequently = 2

在这里,我们指示 sanoid 创建并保留 36 个每小时快照。一旦创建了第 37 个快照,最旧的快照就会被删除。我们保留 14 个每日快照(两周)和半年的每月快照。快照本身是递归创建的,这意味着 zroot(在本例中)下的数据集也会获得快照。这对于当前和任何尚不存在的未来快照都适用。这确保了策略不会遗漏任何数据集。autosnap = yes 这一行告诉 sanoid 自动创建这些快照并给它们自定义名称。启用 autoprune 选项后,sanoid 将自动删除较旧的快照。frequent_period 设置定义了在一小时内创建多少个快照。在本例中,sanoid 每 15 分钟创建一个新快照(每小时 4 个)。类似地,frequently 参数定义了在修剪时每小时保留多少个快照。这里我们保留每小时的两个快照。

当数据集需要不同的快照频率时,为它们定义单独的策略。下面这一行将策略(下方)与它们应适用的数据集(上方)分隔开。

#############################
# templates below this line #
#############################

我们创建了一个 Ansible playbook,用于在 FreeBSD 系统上设置 sanoid 并配置上述策略。Sanoid 从 /etc/crontab 执行,playbook 在最后一步创建一个初始快照。这样,你始终有一个可用的快照来检索数据集的旧状态。根据数据变化的频率和可用的池空间,调整策略中的数字以减少甚至增加快照数量。

看看同一作者编写的 syncoid(sanoid 包的一部分),通过 zfs send 将这些快照传输到单独的系统以进行备份。

我们会定期发布新的技术主题文章和视频。所以请确保你订阅了 YouTube 频道,并在你最喜欢的 RSS 阅读器中关注此 feed。如果你希望通过电子邮件接收更新,还有 newsletter 可供订阅。

我们希望这些内容具有互动性——那么你希望我们涵盖哪些内容?有哪些 FreeBSD 相关主题让你感到困惑,我们可以帮忙解答?欢迎联系我们分享你的想法。

由 Benedict Reuschling 贡献


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:FreeBSD Journal

原创地址:https://freebsdfoundation.org/blog/zfs-automatic-snapshots-with-sanoid-on-freebsd/

原文作者:Mark Phillips;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1058
  • 访问量
    546444