Dmesg 满是 I/O 错误,smart ok,四个磁盘受影响

Scu*_*11y 8 redhat hard-drive io

我正在使用新安装的远程服务器 (Dell Poweredge)。它有四个驱动器 (2TB) 和 2 个 SSD (250 GB)。一个 SSD 包含操作系统(RHEL7),四个机械磁盘最终将包含一个 oracle 数据库。

尝试创建软件 RAID 阵列导致磁盘不断被标记为故障。检查 dmesg 会输出一系列以下错误,

[127491.711407] blk_update_request: I/O error, dev sde, sector 3907026080
[127491.719699] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[127491.719717] sd 0:0:4:0: [sde] Sense Key : Aborted Command [current]
[127491.719726] sd 0:0:4:0: [sde] Add. Sense: Logical block guard check failed
[127491.719734] sd 0:0:4:0: [sde] CDB: Read(32)
[127491.719742] sd 0:0:4:0: [sde] CDB[00]: 7f 00 00 00 00 00 00 18 00 09 20 00 00 00 00 00
[127491.719750] sd 0:0:4:0: [sde] CDB[10]: e8 e0 7c a0 e8 e0 7c a0 00 00 00 00 00 00 00 08
[127491.719757] blk_update_request: I/O error, dev sde, sector 3907026080
[127491.719764] Buffer I/O error on dev sde, logical block 488378260, async page read
[127497.440222] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[127497.440240] sd 0:0:5:0: [sdf] Sense Key : Aborted Command [current]
[127497.440249] sd 0:0:5:0: [sdf] Add. Sense: Logical block guard check failed
[127497.440258] sd 0:0:5:0: [sdf] CDB: Read(32)
[127497.440266] sd 0:0:5:0: [sdf] CDB[00]: 7f 00 00 00 00 00 00 18 00 09 20 00 00 00 00 00
[127497.440273] sd 0:0:5:0: [sdf] CDB[10]: 00 01 a0 00 00 01 a0 00 00 00 00 00 00 00 00 08
[127497.440280] blk_update_request: I/O error, dev sdf, sector 106496
[127497.901432] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[127497.901449] sd 0:0:5:0: [sdf] Sense Key : Aborted Command [current]
[127497.901458] sd 0:0:5:0: [sdf] Add. Sense: Logical block guard check failed
[127497.901467] sd 0:0:5:0: [sdf] CDB: Read(32)
[127497.901475] sd 0:0:5:0: [sdf] CDB[00]: 7f 00 00 00 00 00 00 18 00 09 20 00 00 00 00 00
[127497.901482] sd 0:0:5:0: [sdf] CDB[10]: e8 e0 7c a0 e8 e0 7c a0 00 00 00 00 00 00 00 08
[127497.901489] blk_update_request: I/O error, dev sdf, sector 3907026080
[127497.911003] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[127497.911019] sd 0:0:5:0: [sdf] Sense Key : Aborted Command [current]
[127497.911029] sd 0:0:5:0: [sdf] Add. Sense: Logical block guard check failed
[127497.911037] sd 0:0:5:0: [sdf] CDB: Read(32)
[127497.911045] sd 0:0:5:0: [sdf] CDB[00]: 7f 00 00 00 00 00 00 18 00 09 20 00 00 00 00 00
[127497.911052] sd 0:0:5:0: [sdf] CDB[10]: e8 e0 7c a0 e8 e0 7c a0 00 00 00 00 00 00 00 08
[127497.911059] blk_update_request: I/O error, dev sdf, sector 3907026080
[127497.911067] Buffer I/O error on dev sdf, logical block 488378260, async page read
Run Code Online (Sandbox Code Playgroud)

四个机械盘都会出现这些错误,(sdc/sdd/sde/sdf) SMARTctl 通过了所有四个磁盘,长短测试。我目前正在运行坏块(写模式测试大约 35 小时,可能还有 35 小时)。

以下是我在研究中怀疑/考虑的错误

  • 硬盘故障 - 4 个“翻新”磁盘似乎不太可能成为 DOA,不是吗?

  • 存储控制器问题(坏电缆?) - 似乎它也会影响 SSD?

    • 内核问题,对库存内核的唯一更改是添加了 kmod-oracleasm。我真的不明白它会如何导致这些故障,ASM 根本没有设置。

另一个值得注意的事件是尝试将磁盘归零(早期故障排除的一部分)时,使用命令 $ dd if=/dev/zero of=/dev/sdX 产生了这些错误,

dd: writing to ‘/dev/sdc’: Input/output error
106497+0 records in
106496+0 records out
54525952 bytes (55 MB) copied, 1.70583 s, 32.0 MB/s
dd: writing to ‘/dev/sdd’: Input/output error
106497+0 records in
106496+0 records out
54525952 bytes (55 MB) copied, 1.70417 s, 32.0 MB/s
dd: writing to ‘/dev/sde’: Input/output error
106497+0 records in
106496+0 records out
54525952 bytes (55 MB) copied, 1.71813 s, 31.7 MB/s
dd: writing to ‘/dev/sdf’: Input/output error
106497+0 records in
106496+0 records out
54525952 bytes (55 MB) copied, 1.71157 s, 31.9 MB/s
Run Code Online (Sandbox Code Playgroud)

如果这里有人可以就可能导致这种情况的原因分享一些见解,我将不胜感激。我倾向于在这里遵循 occam 的剃刀原则,直接选择硬盘驱动器,唯一的疑问来自四个开箱即用的故障硬盘驱动器的可能性。

明天我将开车到现场进行物理检查,并将我对这台机器的评估报告给上级。如果有什么我应该物理检查的东西(超出电缆/连接/电源),请告诉我。

谢谢。

sho*_*hok 14

您的dd测试显示四个磁盘都在同一个 LBA地址上出现故障。由于四个磁盘在完全相同的位置发生故障的可能性极小,我强烈怀疑这是由于控制器或布线问题。

  • 高数据速率电缆,如 6/12 Gbs SATA/SAS 电缆,不仅关乎电气连续性,而且主要关乎信号清晰度和低噪声。尝试物理清除连接器并重新安装电缆。如果错误仍然存​​在,请尝试更改它们,最后尝试不同的控制器。 (4认同)
  • @djsmiley2k 很难将所有四个 `dd` 端缓存在同一个失败的 RAM 地址上。此外,PERC 的 DRAM 受 ECC 保护,虽然 ECC RAM 也会失效,但相对不常见。也就是说,控制器*可能*是问题的根源,因此,如果更换电缆没有帮助,OP 应尝试更换控制器。 (3认同)
  • Same-LBA 似乎不太可能是布线问题。除非该扇区中的数据恰好是某些加扰的最坏情况位序列(以防止通过 SATA/SAS 链接的全零失败自计时的扩展运行)或 ECC。我不确定该链接使用什么编码。控制器是有道理的;多个磁盘中的每个磁盘上的相同 LBA 需要某种公因数解释。 (2认同)
  • 好吧,我的朋友们,你是对的。电缆 + 控制器交换,现在 600GB 进入 dd 归零过程,到目前为止没有错误。看起来现在一切正常。再次感谢您分享的所有知识。我一直感谢这个社区的专业知识和分享它的意愿。:) (2认同)