科学数据存储:许多小文件、一卷还是几卷?

科学数据存储:许多小文件、一卷还是几卷?

我有大约 8 TB 的“样本”数据,具有以下特征:

每个样本:一个文件夹中 5-15 GB,包含~20k 个文件和~10k 个子文件夹(2000 个顶层,5 个子层包含~.5-2MB 数据文件和小型设置文件)。

我正在设置一台运行 Windows Server 2008 R2 的 Dell T710 服务器,该服务器具有 19 TB 的有效空间 (RAID5),以便整合数据。我以前曾发现,在专用内部驱动器 (NTFS) 上约有 1.5 TB 的此类数据的情况下,在计算机上打开/浏览/复制时速度明显变慢。

每个样本将被复制到此服务器进行存储,但分析将在其他地方进行(数据从服务器复制而来)。因此现有数据不会每天发生变化,只有新数据。

处理此类数据的最佳驱动器配置是什么?驱动​​器是 GPT,目前具有 EFI、MSR、70 GB 系统分区和空的 19 TB 数据分区。

  • 一个 19 TB 大容量卷
  • 几个较小的卷(碎片较少?)

是否建议创建一个每个样本的 zip 存档并将其存储起来?我对此犹豫不决,因为用户直观地了解文件夹,而损坏对存档的影响更糟——在极端情况下,我们可以承受一些损坏的子文件夹(或多或少是样本“像素”),但损坏整个样本存档就很糟糕了。

答案1

单个 RAID-5 卷中的 19TB 非常大。您没有提到该卷中有多少个磁盘,但对于 Dell T710,我认为每个磁盘的容量很可能超过 1TB。RAID-5 成员这么大,我感到很不安。如果这是单个 RAID-5 跨度,那对我来说就更可怕了。(我不喜欢跨度大于 5 或​​ 6 个磁盘,尤其使用那么大的磁盘。

除了您选择的 RAID-5 之外,根据我的经验,要求 NTFS 处理的文件数量相当大。您可以采取任何措施来减少存储的文件数量,这将有助于提高性能。按照您所描述的方式压缩“样本”将大大减少您要求 NTFS 处理的文件数量。根据数据压缩的程度,您还可以看到通过网络传输文件的性能显著提高。

我认为您不应该担心数据“损坏”。如果您对备份系统和主存储能够正常工作而不会损坏文件没有足够的信心,那么您应该集中精力增强这些“基础”组件。RAID-10 或 RAID-50 将是增强主存储的良好第一步。由于您没有谈论如何进行备份,所以我无法谈论这一点。

编辑:

我对 RAID-5 的可用性持谨慎态度。关于这一点的开创性文章是为什么 RAID 5 在 2009 年停止工作要点是,较大磁盘上的比特错误率使得大型 RAID-5 卷的重建在统计上不太可能。

如果您在异地有另一份数据副本,那么可能就没那么担心了。您应该考虑一下 RAID-5 卷完全丢失会有什么后果。您是否能够启动新卷并在从异地副本重新复制数据的同时继续工作?您是否需要等待复制一定数量的数据后才能重新开始工作?如果有空闲时间,成本是多少?

答案2

如果您有许多小文件,则您会丢失磁盘空间。原因在于文件系统的块大小。我的第一个建议是使用 Linux 系统以获得长期支持。我的第二个建议是保存文件而不在文件系统上进行压缩,因为了解系统比丢失一些字节更重要。我在基因组数据(散弹枪分析仪)方面遇到了同样的问题。我的第三个建议是使用 RAID10 或 RAID50。

相关内容