在多台服务器上安全存储数据的最佳方法?

leb*_*323 0 storage nfs

我需要在多台服务器上存储 100+ tb 数据,所以我理解分布式文件系统是可能的。我还需要系统具有容错能力。

因此,如果一台服务器出现故障,我不希望数据因此而死亡。我也想以最[空间]有效的方式做到这一点。

例如,我喜欢 RAID5 的工作方式。我可以在几台服务器之间构建一个类似 RAID5 的系统,或者是否有文件系统在几台服务器之间执行与 RAID5 相同的功能?

Hop*_*00b 6

听起来您的要求非常不切实际。

首先,100 TB 的数据很多。您真的需要同时提供所有功能吗?如果是这样,您需要考虑的不仅仅是将其分散到多台服务器上。需要考虑网络和访问注意事项以及性能限制。如果您确实对如此多的在线数据有正当需求,那么您将同时获得大量数据。您的服务器是否能够胜任所有这些 IOPS 的任务?然后是备份问题……要备份 100+ TB 的数据,您将需要一个可怕的备份系统,需要多个磁带库和/或 D2D 备份系统。你问这个问题的方式让我绝对相信你没有考虑过这些,你需要考虑。

设置这么多数据是将多个项目合二为一(或一个非常大的项目,取决于您公司的工作方式)。请不要误会,但您显然无法胜任这项任务。事实上,世界上很少有人能够独自完成这种任务,他们也不会评论喜欢 RAID5 并想知道如何将其分散到多台服务器或执行相同操作的文件系统上事物。

更重要的是,没有空间高效、容错的方式来分发大型数据集。从根本上讲,您为了容错而牺牲了空间效率,因为如果您的一个分布式节点出现故障,继续提供对其持有的数据的访问的唯一方法是以某种形式拥有该数据的另一个或多个副本。因此,您可以对数据进行容错访问,或者可以有效地使用可用磁盘空间,而不是两者兼而有之。要拥有 100+ TB 数据的基本容错存储,您至少需要两倍 (200+ TB) 的磁盘空间。

在与上述有些相关的注释/切线中,RAID5 并不神奇。它通过奇偶校验位的计算来实现冗余。这允许以计算时间为代价节省空间。作为一种容错方法,在大型数据集上也不是一个好主意,因为您几乎肯定会在某个时候遇到位级错误,从而消除您的容错,并且计算量非常大。在大型 RADI5 阵列上重建单个故障磁盘可能需要DAYS 天。您认为对来自故障节点的 20TB 数据进行更复杂的奇偶校验计算需要多长时间?

  • @TomTom 我在哪里说“休”(或巨大的)?我唯一能看到的地方是在您的评论中。至于其余部分,当前的 LTO-5 标准可以处理每个磁带 1.5TB(原始)。对于 100 TB,这是 67 个磁带。对于单个完整备份。我不知道有任何具有这种容量的“低端”磁带存储库,更不用说根据需要实际使用它所需的容量,而无需每周轮换两到三次全新的磁带。我不知道如何委婉地说出来,反正我很擅长说废话,所以......没有冒犯,但你的评论只是***错误***。 (2认同)

Sto*_*one 5

例如GlusterFS可以做到这一点。

但是您可以在此处找到许多其他文件系统:http : //en.wikipedia.org/wiki/List_of_file_systems#Distributed_fault-steroid_file_systems