5

我想将重复数据删除集成到我正在编写的用于备份 vmware 映像的软件中。我一直无法找到任何适合我认为我需要的东西。似乎有很多完整的解决方案,包括一种或另一种重复数据删除形式。这些包括使用公共或私有云的存储或备份解决方案、专用文件系统、存储网络或设备等。但是,我需要开发自己的解决方案并将重复数据删除集成到其中。我的软件将用 C# 编写,我希望能够调用 API 来告诉它要删除哪些内容。

我所说的重复数据删除类型不是针对另一个图像对一个图像进行重复数据删除——通常是为某物的两个“版本”生成增量或差异备份的方法——或者在维基百科条目中所谓的“客户端备份重复数据删除”重复数据删除,因为我已经有了解决方案,并且想更进一步。

我设想一种方法可以让我在全球范围内以某种方式对数据块进行重复数据删除(即某种形式的全球重复数据删除)。为了全局,我想会有某种形式的中央查找表(例如哈希索引),它会告诉重复数据删除器正在检查的数据的副本已经保存并且不需要再次存储。块可以是文件级(单实例存储或 SIS)或子文件/块级重复数据删除。后者应该更有效(这对于我们的目的来说比处理开销更重要)并且将是我的首选选项,但如果必须,我也可以让 SIS 工作。

正如我上面提到的,我现在已经阅读了很多关于其他人的重复数据删除软件的信息。我不会在这里举例子,因为我不是专门模仿其他人的方法。相反,我一直无法找到程序员的解决方案,并且想知道是否有类似的东西可用。另一种选择是推出我自己的解决方案,但委婉地说,这将是一项相当大的任务。

谢谢。

4

1 回答 1

2

您所描述的全局重复数据删除通常在大多数典型的虚拟机备份程序之外处理,因为CBT已经告诉您虚拟机中更改了哪些块,因此您不必每次都进行完整备份。全局重复数据删除也往往是资源密集型的,因此大多数人只会获得一个Data Domain,并利用专门针对重复数据删除进行配置和优化的硬件 (SSD) 和软件(自定义文件系统、可变长度重复数据删除)。可以想象,您正在创建的备份程序可以同时利用 CBT 和 Data Domain 的产品,而某些商用备份软件已经能够做到这一点,例如 [Veeam][3]。有关 Data Domain 的重复数据删除策略的更多信息([可变长度段][4])。

好吧,我不得不删除我的两个网址来发布这个答案,因为显然我没有足够的代表...... w/e

于 2013-10-31T09:35:58.903 回答