首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux软件RAID 6-它支持比特损坏恢复吗?

Linux软件RAID 6-它支持比特损坏恢复吗?
EN

Server Fault用户
提问于 2012-05-23 16:54:11
回答 4查看 6.5K关注 0票数 16

维基百科说:"RAID 2是唯一的标准RAID级别,除了RAID 6的一些实现之外,RAID 6可以自动从数据中的单比特损坏中恢复准确的数据。“

有人知道Linux中的RAID 6 mdadm实现是否是一种能够自动检测和恢复单位数据损坏的实现。这与CentOS / Red 6有关,如果它们与其他版本不同的话。我试着在网上搜索,但没有多少运气。

由于SATA错误率为1E14位,2TB SATA磁盘包含1.6E13位,这与防止数据损坏特别相关。

编辑17-2015年6月

我相信这并不是我最初想要的问题,更多细节请参见硬盘/ SSDs检测和处理错误--是否可靠地防止了无声数据损坏?

EN

回答 4

Server Fault用户

回答已采纳

发布于 2012-05-23 17:23:17

Linux软件RAID不会保护您免受比特损坏,无声的数据损坏是众所周知的问题。事实上,如果内核能够从一个磁盘读取数据,那么它永远不会知道它是坏的。只有在读取数据时出现I/O错误时,才会启动RAID。

如果您担心数据完整性,您应该考虑使用像BtrfsZFS这样的文件系统来通过存储和验证校验和来确保数据的完整性。这些文件系统还负责RAID功能,因此如果您这样做,您就不需要内核软件raid。

票数 16
EN

Server Fault用户

发布于 2012-11-30 22:31:15

如果您验证整个驱动器的奇偶性,RAID5和RAID6可以检测并通常纠正比特损坏。这被称为“擦除”或“奇偶校验”,通常在大多数生产RAID系统上需要24到48小时。在此期间,性能可能会显著降低。(有些系统允许操作者对读/写访问或其下方的操作进行优先排序。)RAID6更正它的几率更高,因为如果您有两个驱动器故障,它可以纠正它,而RAID5只能处理一个驱动器故障,而且由于活动增加,当您擦洗时,驱动器故障更有可能发生。

票数 3
EN

Server Fault用户

发布于 2018-06-04 09:15:12

关于RAID 6的功能,上面的所有答案都是不正确的。RAID 6算法就像RAID 5一样逐字节操作,如果任何一个驱动器上的单个字节损坏,即使没有驱动器指示的错误,也可以检测和纠正。这样做的算法将在

https://mirrors.edge.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf

为了执行此检查,奇偶校验P和Q驱动器也必须与数据驱动器一起读取。如果计算的奇偶校验P‘和Q’不存在驱动器误差,则分析可以确定哪些驱动器不正确,并更正数据。

此外,如果驱动器标识是指向不存在的驱动器(例如驱动器137,如果只有15个驱动器),则多个驱动器正在为该字节提供损坏的数据,发出不可纠正的错误信号。当集合中有少于256个驱动器时,就会检测到每个字节的概率很高,而且由于一个块中有很多字节,所以每个块的概率都非常高。如果RAID块中的所有字节的驱动器标识都不一致,那么同样,多个驱动器正在提供损坏的数据,一般情况下,一个驱动器可能会拒绝该条件,但只要所有驱动器标识都是有效的,则不一定需要拒绝该块。

进行此校正所需的时间比通常的验证时间要长,但只需对综合征(P和Q)的计算显示一个错误。

然而,尽管如此,我还没有检查mdadm代码以确定是否处理了单字节损坏。我知道mdadm在每月扫描时报告RAID6综合征错误,但是从错误信息中不清楚它们是否被纠正-它不会停止驱动器数组或识别消息中的任何特定驱动器。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/391922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档