![使用 SDFS 文件系统进行重复数据删除](https://linux22.com/image/1119022/%E4%BD%BF%E7%94%A8%20SDFS%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E8%BF%9B%E8%A1%8C%E9%87%8D%E5%A4%8D%E6%95%B0%E6%8D%AE%E5%88%A0%E9%99%A4.png)
我正在尝试使用 sdfs 进行重复数据删除。(Vm 上的 ubuntu 13.10)。
(http://opendedup.org/quickstart)遵循与此相同的步骤
将文件系统挂载到 /media/pool0/
当复制包含一些类似 pdf 的目录时,它不会删除重复项,并且文件夹的大小保持与原始文件相同。
原始目录大小 1.6G /Worksheet/ 共计 1.6G
Sdfs 目录大小 1.7G /media/pool0/Worksheet/ 1.7G tota
是否有任何特定命令可用于在 SDFS 卷中启用重复数据删除功能。或者重复数据删除是否会应用于我们复制到卷中的文件?
有人可以向我解释一下 sdfs 文件系统是如何工作的吗?
提前致谢
答案1
在sdfs
,有两种方式重复数据删除用过的:
固定块重复数据删除
- 需要对齐块4096 字节相同
- 您的数据中不会经常出现这种情况。
变量块重复数据删除
- 还要求 4096 字节的块相同,但它们无需对齐。
- 我假设你的测试文件(“类似的 PDF 文件”)只有非常几个相等的范围4096 字节或更多。
因此对于你的数据类型,
只有无重复数据删除可用!
不过,我还是希望它能够很好地支持他们想要支持的数据:
固定和可变块重复数据删除
SDFS 可以执行固定和可变块重复数据删除。固定块重复数据删除采用固定数据块并对这些块进行哈希处理。可变块重复数据删除尝试在数据流中找到自然断点,并在这些断点处创建可变块。
固定块重复数据删除是在 SDFS 中卷定义的固定字节缓冲区中执行的。这些固定块是在创建卷时定义的,默认设置为 4k,但可以设置为最大值 128k。固定块重复数据删除对于正在运行的 VMDK 或数据库等活动结构化数据非常有用。固定块重复数据删除执行起来很简单,因此对于大多数应用程序来说速度非常快。
使用 Rabin Window Borders 执行可变块重复数据删除(http://en.wikipedia.org/wiki/Rabin_fingerprint)。SDFS 使用 128k 的固定缓冲区,然后在该缓冲区上运行滚动哈希以找到自然中断。可变块的最小大小为 4k,最大大小为 128k。可变块重复数据删除非常擅长在非结构化数据(如未压缩的 tar 文件和文档)中查找重复数据删除块。可变块重复数据删除通常会创建 10k-16k 的块。这使得可变块重复数据删除在 4k 块大小下执行时比固定块重复数据删除更具可扩展性。可变块重复数据删除的缺点是它可能需要大量计算,有时写入处理速度较慢。
仅当使用--hash-type = VARIABLE_MURMUR3创建卷时才可启用可变块重复数据删除。