当前位置:首页> 正文

关于文件系统:如何保护文件数据免受磁盘损坏?

关于文件系统:如何保护文件数据免受磁盘损坏?

How do I protect my file data from disk corruption?

最近,我读了一篇标题为" SATA与SCSI可靠性"的文章。它主要讨论了消费者SATA驱动器中的高速率位翻转,并得出结论:"现在有56%的机会您无法从特定磁盘读取所有数据"。甚至Raid-5也无法挽救我们,因为必须不断对其进行扫描以查找问题,并且如果磁盘确实死了,则可以保证您在重建的文件系统上有些翻转的位。

注意事项:

我听说过带有Raid-Z的Sun ZFS的很棒的事情,但是Linux和BSD的实现仍处于试验阶段。我不确定是否已经准备好黄金时段。

我还阅读了很多有关Par2文件格式的信息。似乎与每个文件一起存储一些额外的%奇偶校验将使您从大多数问题中恢复过来。但是,我不知道在内部执行此操作的文件系统,并且似乎很难管理单独的文件。

备份(编辑):

我了解备份至关重要。但是,如果不进行某种形式的检查,您可能很容易在不知情的情况下向人们发送错误数据。另外,找出哪个备份具有该数据的良好副本也可能很困难。

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


那篇文章误解了来源,大大夸大了这个问题。它假定数据丢失事件是独立的,即如果我拿了1000个磁盘,并得到500个错误,那么在500个磁盘上可能每个发生一次。但是实际上,正如任何遇到磁盘故障的人都知道的那样,一个磁盘上可能有500个错误(仍然是磁盘总容量的一小部分),另外999个就可以了。因此,实际上,并不是有56%的机会您无法读取所有磁盘,而是更有可能是1%或更少,但是那1%的大多数人会发现他们已经丢失了数十个磁盘或数百个扇区,即使磁盘整体没有出现故障。

可以肯定的是,实际实验反映了这种理解,而不是本文提供的内容。

基本上,这是"中国耳语"的一个例子。此处链接的文章指的是另一篇文章,后者又间接指的是已发表的论文。该论文说,这些事件当然不是独立的,但是至关重要的事实在向易于消化的博客格式过渡的过程中消失了。


ZFS是一个开始。许多存储供应商还为520B驱动器提供了额外的数据保护。但是,这只会在数据进入存储结构时保护您的数据。如果它在主机级别上已损坏,那么无论如何您都会受到威胁。

即将出现一些针对此问题的有希望的基于标准的解决方案。端到端数据保护。

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


我怀疑有56%的机会我看不懂东西。我混合使用RAID 5和其他功能以及良好的备份做法,但是使用Raid 5和热备用时,我从未发生过数据丢失的情况,因此我不确定到底是怎么回事。如果您要存储奇偶校验信息……那么您正在使用软件创建RAID系统,则R5中的磁盘故障会导致奇偶校验,例如检查以找回丢失的磁盘数据,因此它已经存在。

运行Raid,备份数据,就可以了:)


展开全文阅读

相关内容