在 ZFS 文件服务器上实施基于 LTO 磁带的备份系统的最佳方法是什么?我每天需要备份大约 6TB 的数据,以及现有的 HP 1840 LTO4 磁带驱动器和一堆磁带。
我已经让 ZFS 每天自动生成快照,但现在想为其添加一层离线存储。理想情况下,最终的系统将实现某种父/子轮换系统,这样我就可以拥有过去两周的每日差异磁带以及每周的完整备份。
读过一些资料后,我发现有些人使用 zfs send / dd / tar 的组合来实现这一点,但我不清楚具体应该如何实现。
更新
我刚刚读到关于zfs send -i
哪个应该在两个不同的快照之间发送增量。虽然我担心整个练习可能会让我写一些脚本,但这应该会让差异备份任务变得更容易一些。不过仍然不知道如何通过脚本处理磁带更改。
答案1
请查看 ZFS 最佳实践指南,尤其是“保存 ZFS 数据”部分*。我认为磁带备份不是备份快照的理想选择。您最好告诉磁带备份系统备份 ZFS 文件系统本身并忽略 .zfs 快照目录。最重要的是您只需要了解 ZFS 文件系统所有属性的软件。我建议使用 Bacula。
zfs send
用于将数据从一个 ZFS 系统克隆到另一个 ZFS 系统,而不是用于将数据发送到磁带。
答案2
你最好的选择可能是发送内容将 ZFS 快照写入磁带(例如通过tar
),而不是快照本身。利用 LVM 快照来方便将实时文件系统写入磁带似乎相当普遍,我认为没有理由不以同样的方式利用 ZFS 快照。正如您所注意到的,使用快照基本上消除了文件在备份过程中发生变化的风险。
ZFS 快照相对于 LVM 快照的一个优势是,您可以在之后保留 ZFS 快照,而不会遭受太多性能损失。(相比之下,将 LVM 快照的内容备份到磁带后删除 LVM 快照则很常见。)