目录

简介

穿孔块如何发生？

穿孔阻塞症状

刺破块的证据

可能的补救

防止穿孔块

简介

本文档介绍硬盘上穿孔块的含义。它 还描述了穿孔块的发生方式和补救步骤。

什么是刺破的块？

当巡读或重建操作在源驱动器上遇到介质错误时，它会刺穿目标驱动器上的块，以防止使用具有无效奇偶校验的数据。对穿孔块的任何后续读取操作都会完成，但会出错。因此，在使用此块时，块的穿孔防止以后产生任何无效奇偶校验。

来源：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))

可能的补救

无论数据块何时出现，都强烈建议进行数据备份。当显示上述消息时，可能倾向于查找实际出现故障的硬盘并更换硬盘，但是，可能有多个坏逻辑块分布在阵列中。虽然故障或故障硬盘可能是原因，但穿孔的块只能通过重构受影响的虚拟驱动器来解决。

1. 创建数据备份

2. 清除RAID阵列配置

3. 从头创建新阵列
注意：注意：在创建VD（虚拟驱动器）时，选择FULL/SLOW初始化，而不是FAST初始化。

4. 重新安装操作系统

5. 恢复数据备份。

注意：更换硬盘无法自行修复被刺穿的块。如果驱动器出现故障，应更换驱动器，否则需要重建RAID。

防止穿孔块

- 监控RAID及其成员驱动器的运行状况。

- 更换任何硬盘之前，请查看控制器日志。

- 确保已打开并运行“Patrol Reads and Consency Checks（巡检读取和一致性检查）”(检查漏洞CSCul22968)。