Server 2012 重复数据删除功能的技术细节

Server 2012 重复数据删除功能的技术细节

现在 Windows Server 2012 附带NTFS 卷的重复数据删除功能我很难找到有关它的技术细节。我可以从 TechNet 文档中推断出,重复数据删除操作本身是一个异步过程 - 与SIS 窃贼曾经工作过——但几乎没有关于实施的细节(所使用的算法,所需的资源,甚至有关性能考虑的信息只不过是一堆经验法则式的建议)。

非常感谢您的见解和指点,与 Solaris 的 ZFS 重复数据删除效率进行一系列场景的比较会很精彩。

答案1

正如我所怀疑的,它基于 VSS 子系统(来源) 这也解释了它的异步性质。重复数据删除块存储在 中\System Volume Information\Dedup\ChunkStore\*,设置在 中\System Volume Information\Dedup\Settings\*。这对您的备份软件如何与此类卷交互有重大影响,这在链接的文章中有所解释(简而言之:如果没有重复数据删除支持,您的备份将与以往一样大,有了重复数据删除支持,您只需备份小得多的重复数据删除存储)。

至于所使用的方法,我能找到的最好的方法是微软研究人员在 2011 年发表的一篇研究论文(来源全文)在 Usenix FAST11 会议上。第 3.3 节介绍了主存储中的重复数据删除。似乎这些数据被用于开发 NTFS 重复数据删除功能。引用了以下引述:

可变大小内容定义块的规范算法是Rabin Fingerprints[25]。

论文中有很多数据需要筛选,但他们使用的工具集的复杂性,加上我们已知的 2012 年的功能,强烈表明论文中的推理被用于开发这些功能。没有 msdn 文章就无法确定,但这是我们目前可能得到的最接近的答案。

与 ZFS 的性能比较必须等到基准测试完成之后才能进行。

相关内容