I / O 오류로 가득 찬 Dmesg, Smart Ok, 영향을받는 4 개의 디스크


8

새로 설치 한 원격 서버 (Dell Poweredge)에서 작업하고 있습니다. 4 개의 드라이브 (2TB)와 2 개의 SSD (250GB)가 있습니다. 하나의 SSD에는 OS (RHEL7)가 포함되며 4 개의 기계 디스크에는 결국 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

이 오류는 4 개의 모든 기계적 디스크 (sdc / sdd / sde / sdf)에 대해 발생합니다. SMARTctl은 4 개의 디스크 모두에 대해 길고 짧은 테스트를 통과했습니다. 현재 불량 블록을 실행 중입니다 (쓰기 모드 테스트 ~ 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"라고 말할 때, 당신은 단지 전반적인 건강을 의미합니까? 재 할당되거나 보류중인 섹터에 대한 개별 원시 카운터가 0이 아닌가? 드라이브는 읽을 수 없더라도 첫 번째 불량 섹터에서 실패했다고 즉시 선언하지는 않습니다. 사용 smartctl -x /dev/sda하거나 무언가. 그러나 모든 디스크 에서 동일한 LBA 라는 것이 의심 됩니다.
Peter Cordes

답변:


14

귀하의 dd테스트는 네 개의 디스크 모두에 실패 보여 같은 LBA의 주소입니다. 4 개의 디스크가 모두 동일한 위치에서 실패하는 것은 매우 불가능하므로 컨트롤러 나 케이블 연결 문제로 인한 것 같습니다.


1
추가 테스트 없이는 말하기가 어렵습니다. 어쨌든, 내가 제어 / 교체 할 첫 번째 생각은 컨트롤러를 백플레인에 연결하는 케이블입니다.
shodanshok 2018 년

4
6 / 12Gbs SATA / SAS 케이블과 같은 고속 데이터 케이블은 전기적 연속성뿐만 아니라 주로 신호 ​​선명도 및 저잡음에 관한 것입니다. 커넥터를 물리적으로 청소하고 케이블을 다시 장착하십시오. 오류가 지속되면 오류를 변경 한 후 마지막으로 다른 컨트롤러를 사용해보십시오.
shodanshok 2016 년

2
동일 LBA는 케이블 연결 문제가 아닌 것 같습니다. 해당 섹터의 데이터가 SATA / SAS 링크를 통한 확장 된 실행을 막기 위해 일부 스크램블링 (또는 0으로 물리는 자체 클럭킹의 확장 된 실행을 방지하기 위해) 최악의 경우 비트 시퀀스가되지 않는 한. 해당 링크가 어떤 인코딩을 사용하는지 잘 모르겠습니다. 컨트롤러는 그럴듯하다. 여러 디스크 각각에서 동일한 LBA는 일종의 공통 요소 설명이 필요합니다.
Peter Cordes

3
@ djsmiley2k 네 개의 dd끝 이 모두 동일한 실패한 RAM 주소에 캐시되는 것은 어렵습니다 . 또한 PERC의 DRAM은 ECC로 보호되며 ECC RAM도 실패하지만 비교적 드문 경우입니다. 즉, 컨트롤러 문제의 원인이 될 있으므로 케이블을 변경해도 도움이되지 않으면 OP가 컨트롤러 교환을 시도해야합니다.
shodanshok 2018 년

2
내 친구들, 네 말이 맞아 케이블 + 컨트롤러는 현재 600GB를 dd zeroing 프로세스로 바꾸 었으며 지금까지 오류가 없습니다. 이제 모든 것이 올바르게 작동하는 것 같습니다. 공유 한 모든 지식에 다시 한번 감사드립니다. 귀하의 전문 지식과 기꺼이이를 공유 할 수있는이 커뮤니티에 항상 감사합니다. :)
Scu11y 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.