块级重复数据删除文件系统

块级重复数据删除文件系统

我正在寻找一种用于一般用户数据(例如,/home数据及其备份)的重复数据删除写时复制文件系统解决方案。它应该使用块级在线/内联/同步重复数据删除,使用安全哈希(冲突可能性可忽略不计),例如 SHA256 或甲状腺功能亢进症. 重复的块甚至不需要触及磁盘。

我的想法是,我应该能够将数据复制/home/<user>到具有相同文件系统的外部硬盘上进行备份。很简单。无需处理增量备份,因为任何快照的损坏几乎都会破坏所有后续快照,也无需使用特定工具来删除或“签出”快照。一切都只需从文件浏览器中轻松完成,无需担心。你能想象这有多简单吗?我再也不用考虑备份了!

我不介意性能受到影响,可靠性才是主要问题。不过,通过特定实现cpmvscp以及文件浏览器插件,这些操作会非常快,尤其是在存在大量重复时,因为它们只需要传输缺失的块。意外使用未与 FS 集成的传统复制工具只会花费更长的时间,在远程复制时浪费一些带宽并浪费一些 CPU,因为重复的数据将被重新读取、重新传输和重新散列(尽管不会重写任何内容),但绝对不是破坏任何东西。(一些文件共享软件也可以通过与 FS 集成而受益。)

那么,实现这一目标的最佳方法是什么?

我考虑过一些选择:

  • 更少- 看起来没人维护。有什么好处吗?
  • 开放式/SDFS- Java?我可以在 Android 上使用吗?!这是什么意思?顺时针方向代表?
  • 文件系统- 一些补丁在邮件列表档案中流传,但没有真正的支持。
  • 虚拟文件系统- 希望他们有一天能够在真正的自由/开源 GPL 兼容许可证下重新授权。

此外,两年前我曾尝试在 Python 中使用 Fuse 在文件级别使用典型的固定文件系统(如 EXT4),但我发现 Python 版 Fuse 文档不足,无法实现所有的系统调用。

答案1

这听起来非常有企业精神(而且价格昂贵)。

datadomain 提供重复数据删除功能,netapp 或许也有 wafl 文件系统。但成本较高。

一个“免费”的替代方案可能是 zfs。

在我看来,虽然是文件级别而非“块级别”,但“最佳”且最 Linux 化的替代方案是 rsnapshot。它使用 rsync 和硬链接来管理版本控制。

我宁愿相信旧的、经过验证的工具,也不愿使用像 Btrfs 这样的新文件系统,因为 Btrfs 出现的时间还不够长,人们还没有发现各种令人讨厌的错误。

答案2

我正在寻找和调查完全相同的内容,我可以建议https://attic-backup.org/quickstart.html#automating-backups就目前而言,它似乎相当简单并且适合 Linux 的备份。

bacula 也有此功能,但是 attic 似乎在大多数情况下已经足够好了。

相关内容