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

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

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,备份数据,就可以了:)


推荐阅读

    更新文件命令linux?

    更新文件命令linux?,工作,系统,地址,信息,时间,命令,目录,基础,标准,网络,lin

    linux操作数据库命令?

    linux操作数据库命令?,地址,服务,系统,密码,数据库,工具,名字,首页,命令,参

    linux下载数据命令?

    linux下载数据命令?,软件,工具,数据,系统,代理,官网,网络,名称,网址,盘中,在l

    linux重名名文件命令?

    linux重名名文件命令?,图片,名称,名字,文件,命令,位置,代码,软件,系统,文件

    linux扩展文件命令?

    linux扩展文件命令?,工作,地址,系统,信息,命令,目录,管理,情况,文件,标准,Lin

    做数据linux常用命令?

    做数据linux常用命令?,工作,系统,基础,网络,数据,标准,管理,工具,地址,命令,l

    linux命令格式化磁盘?

    linux命令格式化磁盘?,电脑,设备,系统,管理,位置,首次,网络,数据,名称,命令,l

    linux文件替换命令行?

    linux文件替换命令行?,资料,命令,文件,数据,名称,系统,实时,工作,字符串,批

    linux命令行解锁文件?

    linux命令行解锁文件?,系统,地址,工具,工作,管理,电脑,命令,文件,信息,密码,L

    读写文件命令linux?

    读写文件命令linux?,系统,数字,电脑,档案,地址,命令,文件,标准,位置,设备,lin

    linux文件异或命令?

    linux文件异或命令?,数字,系统,工作,管理,命令,数据,网络,文件,第一,单位,基

    linux数据库升级命令?

    linux数据库升级命令?,系统,信息,时间,最新,网络,名字,地址,管理,简介,传播,l

    linux文件复制的命令?

    linux文件复制的命令?,系统,文件,命令,目录,源文件,基本知识,位置,目标,选

    linux磁盘读写命令?

    linux磁盘读写命令?,情况,管理,系统,单位,数据,信息,服务,工作,命令,磁盘,Lin

    linux切换磁盘命令?

    linux切换磁盘命令?,系统,管理,工作,信息,情况,环境,设备,命令,目录,单位,Lin

    linux写文件命令行?

    linux写文件命令行?,工作,系统,命令,信息,名字,文件,目录,资料,标准,时间,lin

    linux复制命令文件?

    linux复制命令文件?,系统,文件,命令,目录,基本知识,源文件,目标,文件夹,路

    linux下文件均分命令?

    linux下文件均分命令?,管理,情况,系统,工作,信息,地址,命令,目录,单位,设备,L

    linux的文件替换命令?

    linux的文件替换命令?,系统,工作,实时,命令,文件,批量,字符串,内容,方法,表