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

Jam*_*igh 8 filesystem backup btrfs clipboard fuse

我正在为一般用户数据(例如/home它的备份)寻找一种重复数据删除的写时复制文件系统解决方案。它应该使用安全散列(对于可以忽略不计的冲突),例如 SHA256 或TTH在块级别使用在线/内联/同步重复数据删除。重复块甚至不需要接触磁盘。

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

我不介意性能下降,可靠性是主要问题。虽然,与具体实现cpmv并且scp,和文件浏览器插件,这些行动将是非常快的,尤其是当有很多重复的,因为他们只需要转移缺席块。不小心使用未与 FS 集成的传统复制工具只会花费更长的时间,远程复制时会浪费一些带宽并浪费一些 CPU,因为重复的数据将被重新读取、重新传输和重新散列(尽管什么都不会)重写),但绝对不会破坏任何东西。(某些文件共享软件也可能通过与 FS 集成而受益。)

那么这样做的最佳方法是什么?

我查看了一些选项:

  • lessfs - 看起来没有维护。有什么好处?
  • Opendedup/SDFS - Java?我可以在Android上使用它吗?!是什么SDFS立场?
  • Btrfs - 一些补丁在邮件列表档案中浮动,但没有真正的支持。
  • ZFS - 希望有一天他们会根据真正的自由/开源 GPL 兼容许可证重新授权。

此外,2 年前,我尝试在 Python 中使用 Fuse 在文件级使用 Fuse 在典型的 Solid FS(例如 EXT4)之上使用,但我发现 Fuse for Python 文档不足并且没有设法实现所有的系统调用。

tom*_*chi 1

这听起来非常企业化(因为价格昂贵)。

datadomain 提供重复数据删除功能,netapp 也可能提供其 wafl 文件系统。但成本很高。

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

根据我的说法,“最好的”和最 Linux 风格的替代方案是 rsnapshot,尽管是在文件级别而不是“块级别”。它使用 rsync 和硬链接来管理版本控制。

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

  • [Linux 上的 ZFS](http://zfsonlinux.org/) 可能(取决于你问的是谁)通过[单独分发](http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue) 来解决这个问题。或者,[FUSE](http://en.wikipedia.org/wiki/Filesystem_in_Userspace) 让文件系统“驱动程序”在用户空间中运行,它们不需要自己链接到内核,而且还有 [ZFS 的 FUSE 版本] (http://zfs-fuse.net/)。因此,您有多种选择可以在使用 Linux 作为内核的 Ubuntu 等操作系统上使用 ZFS 文件系统。(某些操作系统,例如 Debian,允许您使用不同的内核。) (2认同)

小智 1

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

还有具有此功能的bacula,但阁楼似乎对于大多数情况来说已经足够了。