Mem*_*mes 18 raid storage hard-drive drive-failure
我最近一直在研究 RAID5 与 RAID6,我一直看到 RAID5 不再足够安全,因为 URE 等级和驱动器的大小不断增加。基本上,我发现的大部分内容都说,在 RAID5 中,如果磁盘出现故障,如果阵列的其余部分为 12TB,那么您几乎有 100% 的机会遇到 URE 并丢失数据。
12TB 的数字来自这样一个事实,即磁盘的额定读取率为 10^14 位以达到一个 URE。
好吧,有些事情我没有得到。读取是由磁头在扇区上完成的,导致读取失败的原因是磁头死亡或扇区死亡。也可能是因为其他原因读数不起作用(我不知道,就像振动使头部跳动......)。所以,让我解决所有 3 种情况:
如您所见,从我确定的 3 个故障点来看,没有任何意义。那么到底什么是URE,我的意思是具体的?
有人可以向我解释一下吗?
编辑 1
在第一波答案之后,似乎原因是该部门失败了。好消息是固件、RAID 控制器和操作系统 + 文件系统有适当的程序来及早检测并重新分配扇区。
好吧,我现在知道什么是 URE(实际上,这个名字是不言自明的 :))。
我仍然对根本原因感到困惑,主要是他们给出的稳定评级。
有些人将失败的扇区归因于外部来源(宇宙波),然后我感到惊讶的是 URE 率是基于读取计数而不是年龄,宇宙波确实应该对旧磁盘产生更多影响,因为它已被暴露更多,我认为这更像是一种幻想,尽管我可能是错的。
现在是与磁盘磨损有关的另一个原因,有人指出较高的密度会产生较弱的磁畴,这是完全有道理的,我将遵循解释。但是正如这里很好地解释的那样,新的不同大小的磁盘主要是通过在 HDD 机箱中放置或多或少相同的盘片(然后相同的密度)来获得的。扇区是相同的,并且都应该具有完全相同的可靠性,因此较大的磁盘应该比较小的磁盘具有更高的评级,读取的扇区较少,情况并非如此,为什么?这虽然可以解释为什么采用新技术的新磁盘没有比旧磁盘获得更好的评级,仅仅是因为更好的技术收益被更高密度造成的损失所抵消。
use*_*517 13
URE 是不可恢复的读取错误。发生了一些事情,导致读取扇区失败,驱动器无法修复。驱动器电子设备非常复杂,只有在能够从磁盘正确读取数据的情况下,它们才会将数据向上传递。在宣布损坏扇区之前,驱动器电子设备将尝试多次读取坏扇区。
导致读取错误的原因 - 我不是这里的专家(随之而来的是手臂挥动),但驱动器老化会导致制造公差变得相关。磁畴会变弱。宇宙射线会造成损坏等。本质上它是一种随机故障。
这对 RAID 5 有何影响?
甲RAID 5由块级的具有分布奇偶条带化。奇偶校验块是通过对数据块中的位进行异或运算来计算的。XOR 函数基本上表示,如果所有位都相同,则结果为 0,否则为 1。在计算奇偶校验时,您取前 2 位并对它们进行异或,然后将结果与下一位进行异或,依此类推
1010 data or 1010 data
1100 data 1100 data
0110 parity 0011 data
0101 parity
Run Code Online (Sandbox Code Playgroud)
XOR 函数的特性是,如果任何磁盘损坏并被替换,则可以从剩余磁盘重建应该在其上的数据。
1010 data or 1010 data
damaged damaged
0101 parity 0011 data
0101 parity
Run Code Online (Sandbox Code Playgroud)
如您所见,可以通过对剩余数据和奇偶校验进行异或来重建损坏的数据。
URE 对此有何影响?
URE 仅在 RAID 5 重建期间才有意义。
当您重建 RAID 5 时,需要进行大量读取。需要读取每个数据块才能在新磁盘上重建数据。如果发生 URE,则无法恢复相关块的数据,因此您的数据不一致。对于足够大的 R5 中足够大的磁盘,读取以重建替换磁盘的位数超过 URE 值,例如 10^14 读取中的 1 位。
那么到底什么是URE,我的意思是具体的?
硬盘不只是存储您要求它们存储的数据。由于磁畴尺寸不断减小,以及硬盘以模拟方式而不是二进制方式存储数据这一事实(硬盘固件从盘片获取模拟信号,将其转换为二进制信号,这种转换是制造商秘方的一部分),读取中几乎总是存在一定程度的错误,必须对其进行补偿。
为确保数据可以读回,硬盘还存储前向纠错数据以及您要求它存储的数据。
在正常操作下,FEC 数据足以纠正从盘片读回的信号中的错误。然后固件可以重建原始数据,一切都很好。这是一个可恢复的读取错误,在 SMART 中作为读取错误率属性(SMART 属性 0x01)和/或硬件 ECC 恢复(SMART 属性 0xc3)公开。
如果由于某种原因信号降级到某个点以下,则 FEC 数据不再足以重建原始数据。到那时,理论上,固件仍然能够检测到无法可靠地读回数据,但它对此无能为力。如果多次这样的读取失败,磁盘必须以某种方式通知计算机的其余部分读取无法成功执行。它通过发出不可恢复的读取错误信号来实现。这也会增加报告的不可纠正错误(SMART 属性 0xbb)计数器。
不可恢复的读取错误或 URE 只是一种报告,表明无论出于何种原因,有效载荷数据加上 FEC 数据都不足以重建最初存储的数据。
请记住,URE 率是统计数据。您不会遇到任何可以准确读取 10^14(或 10^15)- 1 位成功然后下一位失败的硬盘。相反,这是制造商的声明,平均而言,如果您读取(例如)10^14 位,那么在该过程中的某个时刻,您将遇到一个不可读的扇区。
此外,在上面的最后几句话之后,请记住 URE 速率是根据读取的每比特扇区数给出的。由于数据在盘片上的存储方式,磁盘无法分辨扇区的哪个部分是坏的,因此如果一个扇区未通过 FEC 检查,那么整个扇区都被认为是坏的。