如何对 40TB 的数据进行重复数据删除?

Mic*_*fer 17 deduplication centos-6

我继承了一个研究集群,其中包含跨三个文件系统的约 40TB 数据。这些数据可以追溯到近 15 年前,而且很可能存在大量重复,因为研究人员出于不同的原因互相复制数据,然后继续保留副本。

我知道像 fdupes 和 rmlint 这样的重复数据删除工具。我正在尝试找到一个适用于如此大数据集的方法。我不在乎爬取所有数据是否需要数周(甚至数月)的时间 - 我可能会对其进行节流,以便在文件系统上轻松进行。但是我需要找到一种工具,它要么在 RAM 上以某种方式非常高效,要么可以将它需要的所有中间数据存储在文件中而不是 RAM 中。我假设如果我将所有这些数据作为一组爬行,我的 RAM (64GB) 将耗尽。

我现在正在 900GB 树上试验 fdupes。它已经完成了 25%,并且 RAM 使用量一直在缓慢上升,现在达到 700MB。

或者,有没有一种方法可以指导进程使用磁盘映射 RAM,以便有更多可用空间而不使用系统 RAM?

我正在运行 CentOS 6。

kro*_*owe 4

或者,有没有一种方法可以引导进程使用磁盘映射 RAM,以便有更多可用空间并且不使用系统 RAM?

是的,这就是所谓的交换驱动器。您可能已经拥有一个。如果您担心内存不足,那么增加内存是一个不错的起点。但它会自动工作,因此无需执行任何特殊操作。

我不会担心 fdupes。尝试一下,它应该可以正常工作。