我正在寻找一种用于一般用户数据(例如其/home
备份)的重复数据删除写时复制文件系统解决方案。它应使用诸如SHA256或TTH之类的安全散列(对于冲突的可能性很小)在块级别使用联机/内联/同步重复数据删除。重复的块甚至不需要接触磁盘。
我的想法是,我应该能够仅/home/<user>
使用相同的文件系统复制到外部HDD进行备份。简单。增量备份不会引起混乱,因为对任何快照的损坏几乎都会破坏以后的所有快照,并且无需使用特定的工具来删除或“签出”快照。一切都应该简单地从文件浏览器完成,而不必担心。您能想象这会多么容易吗?我再也不必为备份再次考虑!
我不介意性能下降,可靠性是主要问题。虽然,与具体实现cp
,mv
并且scp
,和文件浏览器插件,这些行动将是非常快的,尤其是当有很多重复的,因为他们只需要转移缺席块。不小心使用不与FS集成的常规复制工具只会花费更长的时间,在远程复制时会浪费一些带宽,并会浪费一些CPU,因为重复的数据将被重新读取,重新传输和重新散列(尽管什么也不会做)重新编写),但绝对不会破坏任何内容。(某些文件共享软件也可以通过与FS集成而受益。)
那么最好的方法是什么?
我看了一些选择:
- lessfs-看起来无法维护。有什么好处吗
- Opendedup / SDFS -Java?我可以在Android上使用它吗?是什么SDFS立场?
- Btrfs-邮件列表档案上有一些补丁,但没有真正的支持。
- ZFS-希望他们有一天会获得一份真正的与Free / Opensource GPL兼容的许可证。
另外,两年前,我尝试在文件级使用Fuse在Python上使用,以在典型的固态FS(例如EXT4)的顶部使用,但是我发现Fuse for Python的文档不足,因此无法实现所有系统调用。