是否存在文件托管容器这样的东西,可以对其中的数据进行重复数据删除?

是否存在文件托管容器这样的东西,可以对其中的数据进行重复数据删除?

背景

我有一个网站的备份,该网站将其所有数据存储在一个文件中。这个文件有几 GB 大,我有许多不同的备份。其中的大部分数据基本相同,除了添加或更改的内容。

我想保留多年来我所做的所有并发备份,以防在备份过程中意外发现数据损坏。但是每月存储 10GB 文件的成本很高。

寻求解决方案

我经常思考缓解这个问题的不同方法。一个经常出现的想法是结合复制文件系统的想法,这种文件系统不需要硬盘上有自己的分区卷。类似于 truecrypt 所做的,它称之为“文件托管容器”,使用 truecrypt 程序时,您可以将该卷作为常规硬盘安装和卸载。

问题

是否有使用基于文件的容器的虚拟硬盘安装器,该容器使用数据重复数据删除文件系统?

(这个问题有点难以用语言表达,如果您对如何提出这个问题有更好的想法,请随时提供帮助。)

答案1

使用ZFSBTRFS文件系统或 OpenDEDUP。

我还应该注意,您可以在 Linux 上的文件中创建“磁盘”,并使用环回(mount -o loop ...)设备安装它们;因此它们是虚拟的。

您可能最好只是回环安装 ZFS 格式的文件;因为 ZFS 在重复数据删除方面几乎是事实上的。如果您不知道如何操作,请参阅这里

答案2

虽然它对你目前拥有的数据没有帮助,但你真的应该寻找类似的东西快照,或者甚至简单地同步进行增量备份。虽然重复数据删除非常出色,但需要检查每个块并进行比较,然后对类似文件进行重复数据删除,这很繁重。在备份时进行增量备份更有意义。

答案3

二进制补丁实用程序可以生成一个补丁文件,如果两个文件大部分相同,则补丁文件会非常小。您可以选择文件对,生成补丁并删除目标,然后仅保存源文件和补丁文件。

我已经用于xdelta这个目的了。

xdelta delta JanFile FebFile JanToFebPatch

xdelta delta JanFile MarFile JanToMarPatch

如果您执行完整备份 + 基于完整备份的几个增量备份,效果会很好。有多种选项可以加快速度或减少内存使用量。

相关内容