简介
本文档介绍硬盘上穿孔块的含义。它 还描述了穿孔块的发生方式和补救步骤。
什么是刺破的块?
当巡读或重建操作在源驱动器上遇到介质错误时,它会刺穿目标驱动器上的块,以防止使用具有无效奇偶校验的数据。对穿孔块的任何后续读取操作都会完成,但会出错。因此,在使用此块时,块的穿孔防止以后产生任何无效奇偶校验。
来源:12Gb/s MegaRAID® SAS软件用户指南,修订版F,2014年8月
穿孔块如何发生?
在RAID5中,数据以奇偶校验的形式分布到所有成员磁盘。在这种情况下,如果其中一个驱动器出现故障,可以通过计算所有驱动器的奇偶校验来重建数据。有几种情况可能导致刺穿,但通常从RAID开始,该RAID有一个故障驱动器,该驱动器也有许多介质错误或处于预测性故障状态的驱动器。
以下链接提供了一个非常好的场景,说明了如何删除阵列:
http://www.theprojectbot.com/what-is-a-punctured-raid-array
读取后,您应该清楚地知道,如果更换硬盘而不检查其他磁盘,则会重新定位一些坏逻辑块或介质错误,然后任何其他磁盘都可能显示为发生故障。
在多个驱动器上可能会出现被戳破的块,只有1个驱动器正式“失败”。 然后,这可以复制到替换磁盘,从而进一步加剧问题。
穿孔阻塞症状
服务器可能报告多个硬盘驱动器故障。只是更换硬盘无法解决问题。此外,I/O性能可能会降低。
刺破块的证据
日志可能包含与下面的行类似的条目。
6:2014 Jul 27 00:36:06:BMC:storage:-: SLOT-5: Unexpected sense: PD 0c(e0x12/s5) Path 500000e11986c502, CDB: 28 00 0e 71 66 e7 00 00 19 00, Sense: 3/11/01
6:2014 Jul 27 00:36:06:BMC:storage:-: SLOT-5: Unexpected sense: PD 13(e0x12/s7) Path 50000395083063f6, CDB: 28 00 0e 71 66 eb 00 00 15 00, Sense: 3/11/14
在上述输出中,e0x12/s5表示它与HDD5相关。以下链接描述了检测代码(Sense:3/11/14):
http://en.wikipedia.org/wiki/Key_Code_Qualifier
因此,该传感器指示介质错误。
以下事件也可在日志中阻止:
1:2014 Jul 16 10:42:43:BMC:storage:-: SLOT-5: Unrecoverable medium error during recovery on PD 0c(e0x12/s5) at e7166e7
1:2014 Jul 16 10:42:43:BMC:storage:-: SLOT-5: Puncturing bad block on PD 0c(e0x12/s5) at e7166e7
1:2014 Jul 19 03:46:22:BMC:storage:-: SLOT-5: Consistency Check detected uncorrectable multiple medium errors (PD 13(e0x12/s7) at e7166d9 on (null))
可能的补救
无论数据块何时出现,都强烈建议进行数据备份。当显示上述消息时,可能倾向于查找实际出现故障的硬盘并更换硬盘,但是,可能有多个坏逻辑块分布在阵列中。虽然故障或故障硬盘可能是原因,但穿孔的块只能通过重构受影响的虚拟驱动器来解决。
- 创建数据备份
- 清除RAID阵列配置
- 从头创建新阵列
注意:注意:在创建VD(虚拟驱动器)时,选择FULL/SLOW初始化,而不是FAST初始化。
- 重新安装操作系统
- 恢复数据备份。
注意:更换硬盘无法自行修复被刺穿的块。如果驱动器出现故障,应更换驱动器,否则需要重建RAID。
防止穿孔块
- 监控RAID及其成员驱动器的运行状况。
- 更换任何硬盘之前,请查看控制器日志。
- 确保已打开并运行“Patrol Reads and Consency Checks(巡检读取和一致性检查)”(检查漏洞CSCul22968)。