Redhat

dmesg 充滿了 I/O 錯誤,smart ok,四個磁碟受影響

  • June 17, 2019

我正在使用新安裝的遠端伺服器(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 的剃刀並直接使用硬碟驅動器,唯一的疑問源於四個失敗的硬碟驅動器開箱即用的可能性。

我明天將開車去現場進行物理檢查,並將我對這台機器的評估報告給上級。如果有什麼我應該物理檢查的(除了電纜/連接/電源),請告訴我。

謝謝。

您的dd測試顯示四個磁碟都在相同的 LBA地址出現故障。由於四個磁碟都在完全相同的位置發生故障是極不可能的,我強烈懷疑這是由於控制器或佈線問題。

引用自:https://serverfault.com/questions/971722