2008-09-17 45 views
2

最近我读了一篇题为"SATA vs. SCSI reliability"的文章。它主要讨论消费SATA驱动器中的高速位翻转,并得出结论:“现在无法从特定磁盘读取所有数据的可能性为56%”。即使Raid-5也无法拯救我们,因为它必须经常被扫描以查找问题,并且如果磁盘确实死亡,则几乎可以确保在重建的文件系统上有一些翻转的位。如何保护我的文件数据免受磁盘损坏?

注意事项:

我对Sun的ZFSRaid-Z但Linux和BSD实现听说伟大的事情是仍处于试验阶段。我不确定它已经准备好黄金时间了。

我也读了很多关于Par2文件格式。看起来像存储一些额外的百分比同时每个文件将允许您从大多数问题中恢复。但是,我不知道内部执行此操作的文件系统,并且似乎可能很难管理单独的文件。

备份(编辑):

我知道备份是最重要的。但是,如果没有进行某种检查,您可能很容易就会在不知情的情况下向用户发送不良数据。还要确定哪个备份具有该数据的良好副本可能很困难。

例如,你有一个Raid-5阵列运行一年,你会发现一个损坏的文件。现在,您必须重新检查备份,直到找到好的副本。理想情况下,你会去包含该文件的第一个备份,但可能很难弄清楚,特别是如果该文件已被编辑多次。更糟糕的是,考虑是否在发生损坏后追加或编辑了该文件。对于像Par2这样的块级奇偶校验来说,这足以成为足够的理由。

回答

0

ZFS是一个开始。许多存储供应商也为520B驱动器提供额外的数据保护。但是,这只会在数据进入存储结构时立即受到保护。如果它在主机级别被破坏,那么无论如何你都会被洗净。

即将出现的一些很有希望的基于标准的解决方案来解决这个问题。端到端的数据保护。

考虑T10 DIF(数据完整性字段)。这是一个新兴标准(它是在5年前起草的)和一项新技术,但它有解决数据损坏问题的崇高目标。

0

56%的几率我看不懂,我怀疑它。我运行混合RAID 5和其他好东西,只是良好的备份做法,但与Raid 5和热备份我从来没有数据丢失,所以我不知道什么大惊小怪。如果您要存储奇偶校验信息......那么您正在使用软件创建一个RAID系统,R5中的磁盘故障会导致奇偶检查,以找回丢失的磁盘数据,所以它已经存在。

运行团队,备份你的数据,你没事:)

+0

我不太确定。如果任何“加起来”位被翻转,并且重建,则最终出现错误的值。 – 2008-09-17 19:32:04

+0

这些位在到达用户空间时不会翻转。磁盘控制器注意到失败的校验和,并在软件RAID的情况下将“读取失败”返回给RAID控制器或操作系统。因此,RAID 5计算中不包括来自闪避扇区的位。 – tialaramex 2008-09-17 19:36:59

2

那篇文章显著夸大的误解的来源问题。它假定数据丢失事件是独立的,也就是说,如果我抽取一千个磁盘并获得五百个错误,那么每五百个磁盘上可能会有一个错误。但实际上,任何有磁盘故障的人都知道,它可能是一个磁盘上的五百个错误(仍然是磁盘总容量的一小部分),其他九百九十九个都没问题。因此,在实践中并不是说有56%的机会不能读取所有的磁盘,相反,它可能更像是1%或更少,但是大多数1%的人会发现他们已经丢失了几十个或者数百个扇区,尽管整个磁盘没有失败。

果然,实际实验反映了这种理解,而不是文中提供的理解。

基本上这是“中国耳语”的一个例子。这里链接的文章是指另一篇文章,它又间接地指向已发表的论文。该论文指出,当然这些事件是不是独立的,但是这个重要的事实在消化过渡到容易消化的博客格式时就消失了。

相关问题