Dmesg充满I / O错误,智能正常,四个磁盘受到影响


8

我正在使用新安装的远程服务器(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

对于所有四个机械磁盘(sdc / sdd / sde / sdf),这些错误都会发生,SMARTctl通过了所有四个磁盘的长短测试。我目前正在运行badblocks(写模式测试大约需要35个小时,可能还要再花35个小时)。

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

  • HDD失败-似乎不太可能将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

如果在座的人可以就造成这种情况的原因分享一些见解,我将不胜感激。我倾向于在这里跟随occam的剃刀,直接去买HDD,唯一的疑问来自四个开箱即用的HDD的可能性。

我明天将开车去现场进行物理检查,并将我对这台机器的评估报告给高层。如果有什么我应该物理检查的内容(电缆/连接器/电源之外),请告诉我。

谢谢。


当您说SMART“ OK”时,您的意思仅仅是整体健康吗?重新分配或未决扇区的任何单个原始计数器是否为非零?驱动器不会立即在第一个坏扇区上声明自身发生故障,即使它无法读取。使用smartctl -x /dev/sda或其他。但是,非常怀疑所有磁盘上的LBA 相同
彼得·科德斯

Answers:


14

您的dd测试显示四个磁盘均在同一LBA地址上发生故障。由于极不可能在同一位置出现四个磁盘全部故障,因此我强烈怀疑这是由于控制器或电缆问题所致。


1
如果不做进一步的测试就很难分辨。无论如何,我首先要控制/更换的是将控制器连接至背板的电缆。
shodanshok

4
高数据速率电缆(如6/12 Gbs SATA / SAS电缆)不仅与电气连续性有关,而且还与信号清晰度和低噪声有关。尝试物理清除连接器并重新安装电缆。如果错误仍然存​​在,请尝试更改它们,最后尝试其他控制器。
shodanshok

2
Same-LBA似乎不太可能是布线问题。除非该扇区中的数据恰好是某些最坏情况的位序列,以便通过SATA / SAS链路进行某种加扰(以防止全零失败的自计时运行)。我不确定该链接使用什么编码。控制器似乎是合理的。每个磁盘上的相同LBA需要某种公共因素说明。
彼得·科德斯

3
@ djsmiley2k很难将所有四个dd结束都缓存在相同的失败RAM地址上。此外,PERC的DRAM受ECC保护,尽管ECC RAM也出现故障,但这种情况相对罕见。就是说,控制器可能是问题的根源,因此,如果更换电缆没有帮助,则OP应尝试更换控制器。
shodanshok

2
好吧,我的朋友们,你是对的。电缆和控制器进行了交换,现在600 GB进入dd归零过程,到目前为止没有错误。看起来现在一切正常。再次感谢您分享的所有知识。对于您的专业知识和分享意愿,我始终表示感谢。:)
Scu11y
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.