硬盘穿刺(Punctured Block)说明

简介

本文档描述了硬盘上穿刺块的含义。它还描述了穿刺块是如何发生的以及修复步骤。

什么是穿刺块?

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

来源:12Gb/s MegaRAID® SAS 软件用户指南,修订版 F,2014 年 8 月

穿刺块是如何发生的?

在 RAID5 中,数据以跨所有成员磁盘的奇偶校验形式分布。在这种情况下,如果其中一个驱动器发生故障,可以通过计算所有驱动器的奇偶校验来重建数据。导致穿刺的原因有很多,但通常始于只有一个驱动器故障且另一个驱动器存在大量介质错误或处于预测性故障状态的 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 (Virtual Drive) 时,选择 FULL/SLOW初始化而不是 FAST 初始化。

4.重新安装操作系统

5.恢复数据备份。

注意: 仅更换硬盘本身无法修复穿刺块。如果有故障驱动器,应将其更换,否则需要重建 RAID。

防止穿刺块

  • 监控RAID及其成员驱动器的健康状况。
  • 在更换任何硬盘之前,请查看控制器日志。
  • 确保巡逻读取和一致性检查已开启并运行(与错误CSCul22968进行核对)。
9 次浏览 更新于 2026-11-07

同组文章硬盘故障判读

查看本组全部 6 篇

没有找到想要的答案?

上传日志让 AI 帮你诊断,或者在控制台里直接向 AI 提问。