备份 ZFS 文件系统而无需冗余副本

备份 ZFS 文件系统而无需冗余副本

作为 ZFS 的新用户(通过 Ubuntu),我现在正在寻找良好的异地备份解决方案,并遇到了本文关于这个主题(7岁!)。

多年来我一直在使用同步通过网络备份文件系统,以避免冗余副本,并避免每天通过 WAN 链接复制数 TB 的数据。我使用同步用于 WAN 或本地 USB 存储。

能够使用 ZFS 快照作为备份源是一个很大的改进,但我想知道同步仍然是避免每次备份时将整个文件系统复制到目标的方法。起初我以为ZFS 发送/接收功能可能会起到作用,但快速阅读后就会发现事实并非如此。

对于 ZFS 是否存在广泛采用的“最佳实践”?或者我应该坚持使用同步

答案1

如果您有一个 ZFS 目标,我绝对建议使用可以利用内置 ZFS 传输功能的解决方案。

对我来说最好的解决方案是Syncoid/Sanoid,因为它可以自动创建快照和传输数据。

看:https://github.com/jimsalterjrs/sanoid

答案2

发送/接收有点像是 rsync 的增强版,因为不需要扫描已更改的文件。ZFS 只知道要发送哪些块。您可以创建 zfs 文件集的快照,然后将快照发送到备份服务器。如果您需要连续快照,并且第一个快照已经在备份服务器上,那么您只需将差异发送到备份服务器即可。这一切都发生在块级别,因此效率极高。

你可以手动使用zfsssh命令来完成,但我最喜欢的组织工具是赞普赞德

http://znapzend.org

它将负责创建和删除快照,并且它有一个精心设计的机制,您可以在其中配置保留备份的时间。

答案3

我同意前面两个建议使用 ZFS 发送/接收的答案。

在研究了 Syncoid/Sanoid 和 znapzend 之后,我们现在使用快照用于快照创建/删除和转发用于发送/接收。

选择是定性的。zfsnap/zxfer 更容易工作(无论如何在我们的环境中)并且更好地遵循 Unix 哲学,即工具只做一件事,除非它们有有用的输出,否则保持沉默。

相关内容