最近,我读了一篇名为"SATA vs. SCSI reliability"的文章。它主要讨论消费类SATA驱动器中非常高速率的位翻转,并得出结论“现在有56%的可能无法从特定磁盘读取所有数据”。即使Raid-5也无法保存,因为必须不断扫描问题,如果磁盘坏了,你几乎可以保证在重建的文件系统上有一些翻转位。
考虑:
我听说Sun ZFS与Raid-Z有很多关系,但Linux和BSD实现仍然是实验性的。我不确定它是否准备好迎接黄金时段。
我还阅读了很多关于Par2文件格式的内容。似乎存储一些额外的%奇偶校验以及每个文件将允许您从大多数问题中恢复。但是,我不知道文件系统在内部执行此操作,似乎很难管理单独的文件。
备份(编辑):
我知道备份是最重要的。但是,如果没有某种检查,您很容易就会在不知情的情况下向人们发送错误的数据。同时确定哪个备份具有该数据的良好副本可能是困难的。
例如,你有一个运行一年的Raid-5阵列,你发现一个损坏的文件。现在,您需要返回检查备份,直到找到好的副本。理想情况下,您将转到包含该文件的第一个备份,但可能很难弄清楚,特别是如果文件已被多次编辑。更糟糕的是,考虑是否在发生损坏后附加或编辑了该文件。仅这一点就足以实现块级奇偶校验,例如Par2。
答案 0 :(得分:2)
那篇文章通过误解来源显着夸大了这个问题。它假设数据丢失事件是独立的,即如果我拿了一千个磁盘,并且得到五百个错误,那么可能是五百个磁盘中的一个。但实际上,任何遇到磁盘问题的人都知道,一个磁盘上可能有500个错误(仍然是磁盘总容量的一小部分),而另外9,99个错误。因此,在实践中并不是因为有56%的可能性你无法读取所有磁盘,而是它可能更像是1%或更少,但是1%的人中的大多数会发现他们已经失去了几十个或者数百个扇区,即使整个磁盘没有发生故障。
果然,实际的实验反映了这种理解,而不是文章中提供的理解。
基本上这是“中国私语”的一个例子。这里链接的文章是指另一篇文章,后者又间接地引用了已发表的论文。该文件说当然这些事件不是独立的,但这个重要的事实在转向易于消化的博客格式时消失了。
答案 1 :(得分:0)
有56%的几率我无法阅读,我对此表示怀疑。我运行RAID 5和其他好东西以及良好的备份实践,但是使用Raid 5和热备份我没有数据丢失,所以我不确定所有的大惊小怪。如果您正在存储奇偶校验信息......那么您正在使用软件创建RAID系统,R5中的磁盘故障会导致像检查一样的奇偶校验以获取丢失的磁盘数据,因此......它已经存在。
运行Raid,备份您的数据,没关系:)
答案 2 :(得分:0)
ZFS是一个开始。许多存储供应商也提供520B驱动器,并提供额外的数据保护。但是,这只会在数据进入存储结构后立即对其进行保护。如果它在主机级别被破坏,那么无论如何你都会受到冲击。
即将出现的是针对这一问题的一些有前途的基于标准的解决方案。端到端数据保护。
考虑T10 DIF(数据完整性字段)。这是一个新兴的标准(它是在5年前起草的)和一项新技术,但它有解决数据损坏问题的崇高目标。