내 시스템 로그에 ata 예외가 발생하는 원인과 해결 방법

내 시스템 로그에 ata 예외가 발생하는 원인과 해결 방법

저는 데비안(omv), OS용 SSD 하드 드라이브, 데이터용 소프트웨어 RAID 6이 포함된 새 시스템을 가지고 있습니다.

방금 시스템 로그에서 매우 일반적인 예외를 발견했습니다. 나는 이제 이러한 이상 현상을 일으키는 원인이 무엇인지 걱정하고 있습니다. 이것이 소프트웨어 문제입니까, 아니면 일부 하드웨어에 실제로 결함이 있습니까? 실제로 이 로그에서 무엇이든 읽을 수 있습니까?

시스템 로그에는 더 많은 예외가 있지만 다음은 발췌 내용입니다.

Jul 19 07:48:51 msa-nas1 kernel: [485174.166986] ata5.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
Jul 19 07:48:51 msa-nas1 kernel: [485174.168522] ata5.01: failed command: WRITE MULTIPLE EXT
Jul 19 07:48:51 msa-nas1 kernel: [485174.170003] ata5.01: cmd 39/00:00:00:cc:89/00:04:08:00:00/f0 tag 0 pio 524288 out
Jul 19 07:48:51 msa-nas1 kernel: [485174.170003]          res 51/84:00:00:cd:89/84:03:08:00:00/f0 Emask 0x10 (ATA bus error)
Jul 19 07:48:51 msa-nas1 kernel: [485174.172996] ata5.01: status: { DRDY ERR }
Jul 19 07:48:51 msa-nas1 kernel: [485174.174500] ata5.01: error: { ICRC ABRT }
Jul 19 07:48:51 msa-nas1 kernel: [485174.176003] ata5: soft resetting link
Jul 19 07:48:51 msa-nas1 kernel: [485174.355492] ata5.00: configured for UDMA/33
Jul 19 07:48:51 msa-nas1 kernel: [485174.364550] ata5.01: configured for PIO0
Jul 19 07:48:51 msa-nas1 kernel: [485174.364574] ata5: EH complete
Jul 19 07:48:57 msa-nas1 kernel: [485180.175794] ata5.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
Jul 19 07:48:57 msa-nas1 kernel: [485180.177436] ata5.01: failed command: WRITE MULTIPLE EXT
Jul 19 07:48:57 msa-nas1 kernel: [485180.179037] ata5.01: cmd 39/00:00:00:34:8a/00:04:08:00:00/f0 tag 0 pio 524288 out
Jul 19 07:48:57 msa-nas1 kernel: [485180.179037]          res 51/84:00:00:37:8a/84:01:08:00:00/f0 Emask 0x10 (ATA bus error)
Jul 19 07:48:57 msa-nas1 kernel: [485180.182279] ata5.01: status: { DRDY ERR }
Jul 19 07:48:57 msa-nas1 kernel: [485180.183907] ata5.01: error: { ICRC ABRT }
Jul 19 07:48:57 msa-nas1 kernel: [485180.185524] ata5: soft resetting link
Jul 19 07:48:57 msa-nas1 kernel: [485180.380318] ata5.00: configured for UDMA/33
Jul 19 07:48:57 msa-nas1 kernel: [485180.389391] ata5.01: configured for PIO0
Jul 19 07:48:57 msa-nas1 kernel: [485180.389407] ata5: EH complete
Jul 19 07:48:58 msa-nas1 kernel: [485180.939900] ata5.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
Jul 19 07:48:58 msa-nas1 kernel: [485180.941736] ata5.01: failed command: WRITE MULTIPLE EXT
Jul 19 07:48:58 msa-nas1 kernel: [485180.943533] ata5.01: cmd 39/00:00:00:3c:8a/00:04:08:00:00/f0 tag 0 pio 524288 out
Jul 19 07:48:58 msa-nas1 kernel: [485180.943533]          res 51/84:00:00:3e:8a/84:02:08:00:00/f0 Emask 0x10 (ATA bus error)
Jul 19 07:48:58 msa-nas1 kernel: [485180.947169] ata5.01: status: { DRDY ERR }
Jul 19 07:48:58 msa-nas1 kernel: [485180.948998] ata5.01: error: { ICRC ABRT }
Jul 19 07:48:58 msa-nas1 kernel: [485180.950814] ata5: soft resetting link
Jul 19 07:48:58 msa-nas1 kernel: [485181.128420] ata5.00: configured for UDMA/33
Jul 19 07:48:58 msa-nas1 kernel: [485181.137482] ata5.01: configured for PIO0
Jul 19 07:48:58 msa-nas1 kernel: [485181.137505] ata5: EH complete

이에 대한 도움을 주셔서 감사합니다.

편집하다:

글쎄, ata5라고 생각했던 드라이브 중 하나의 케이블을 교체했는데 이제 두 개의 ata5 드라이브가 있다는 것을 알게 되었습니다.

lrwxrwxrwx 1 root root 0 Jul 27 19:26 sde -> ../devices/pci0000:00/0000:00:14.1/ata5/host4/target4:0:0/4:0:0:0/block/sde
lrwxrwxrwx 1 root root 0 Jul 27 19:26 sdf -> ../devices/pci0000:00/0000:00:14.1/ata5/host4/target4:0:1/4:0:1:0/block/sdf

두 번째는 마더보드에 직접 연결된 SSD 드라이브입니다. 내 옵션이 무엇인지 아시나요? smartctl은 두 드라이브를 모두 확인했습니다. 둘 다 아무런 문제가 없습니다.

편집 2:

문제가 SSD로 인한 것이 아니라고 가정하고 다른 드라이브와 SATA 케이블을 다른 시스템에서 잘 작동하는 부품으로 교체했습니다. 여전히 오류가 발생합니다.

드라이버 문제를 식별하는 방법, 마더보드에 문제가 있습니까?

편집 3: SSD 드라이브의 SMART 로그에서 뭔가를 발견했습니다.

212 SATA_PHY_Error          0x0032   100   100   ---    Old_age   Always       -       426

SATA PHY 오류는 무엇을 의미합니까?

답변1

문제를 해결하기 위해 취한 단계:

  • BIOS 업데이트
  • BIOS에서 SATA IDE 콤보 모드를 비활성화합니다.이 도움으로
  • 관련 커널 문서 읽기커널 매개변수, 온라인의 모든 솔루션에는 매개변수가 추가되기 때문입니다.
  • 내 SSD가 실제로 SATA 속도 3.0Gbps만 지원한다는 사실을 발견했습니다.좋은 쉘 스크립트
    for i in `grep -l Gbps /sys/class/ata_link/*/sata_spd`;
     에코 링크 "${i%/*}" 속도 `cat $i`
     cat "${i%/*}"/device/dev*/ata_device/dev*/id | perl -nE 's/([0-9a-f]{2})/print chr hex $1/gie' | echo " " 장치 `string` 컷 -f 1-3
    완벽한
  • Grub 구성에서 SSD 드라이브의 SATA 포트를 최대 속도 3.0으로 설정합니다.
    vi /etc/default/grub

SATA 포트 7(내 SSD)만 3Gbps를 사용할 수 있도록 해당 줄의 매개변수를 변경했습니다.

    GRUB_CMDLINE_LINUX_DEFAULT="libata.force=7:3.0G 조용함"

그럽을 업데이트하고 다시 시작하세요

    그럽 업데이트
    재시작

이 문제에 대한 해결책은 나에게 먼 길을 왔습니다. 나는 기본적으로 격일로 모든 것을 처음부터 시작했습니다.

그 과정에서 발견한 문제점은 다음과 같습니다.

root@msa-nas1:~# sudo hdparm -I /dev/sd{a,b,c,d,e,f,g} |
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
DMA: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5 udma6
DMA: mdma0 mdma1 mdma2 udma0 *udma1 udma2 udma3 udma4 udma5 udma6
DMA: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5 udma6
  • dmesg 로그에는 40선 케이블에 대한 몇 가지 이상한 메시지가 표시됩니다. 이러한 메시지는 실제로는 더 이상 존재하지 않지만,두 개의 다른 새 케이블을 구입했는데 아무 도움이 되지 않았습니다.
[1.193091] ata5.01: ATA-8: SanDisk SD6SF1M128G1022I, X231200, 최대 UDMA/133
[1.193095] ata5.01: 250069680 섹터, 1개 더: LBA48 NCQ(깊이 0/32)
[1.193743] ata5.00: 40선 케이블로 인해 UDMA/33으로 제한됨
[1.193746] ata5.01: 40선 케이블로 인해 UDMA/33으로 제한됨
  • Grub은 마지막 두 드라이브에 대한 흥미로운 커널을 로드합니다. pata_atiixp. AHCI 드라이버를 기다리고 있습니다.
[1.022724]scsi4:pata_atiixp
[1.022834]scsi5:pata_atiixp
[1.022887] ata5: PATA 최대 UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xf100 irq 14
[1.022888] ata6: PATA 최대 UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xf108 irq 15
  • 소비전력을 확인해 보았는데, 전력량을 초과했는지, 초과하지 않았는지 비교해보았습니다. 근처에도 안.
  • 다른 컴퓨터의 동일한 모델 SSD로 교체했습니다. 정확히 같은 모델입니다. 여전히 같은 오류가 발생합니다.
  • SSD! ! 실제로는 매우 느리므로 UDMA 출력에 대해서는 hdparm이 실제로 정확합니다.
    root@msa-nas1:~# hdparm -t -T /dev/sdf

    /dev/sdf:
     타이밍 캐시 읽기: 2.00초당 2144MB = 1072.18MB/초
     타이밍 버퍼링된 디스크 읽기: 3.60초에 8MB = 2.22MB/초

나는 노력했다샌드디스크에 문의하기, 나에게 예외를 준 것은 그들의 하드 드라이브였지만 아무런 성공도 거두지 못했습니다. 정확히 같은 문제를 가진 사람을 찾을 수는 없지만많은 사람들이 비슷한 문제를 겪고 있습니다., 드디어 시도했어요그들 중 몇몇제안된 솔루션은 여러 가지가 혼합된 것으로 나타났습니다. 지금은 모든 것이 완벽하게 이해되며 나중에 모두가 더 잘 알게 될 것이라고 생각합니다.

답변2

이와 같은 ATA 오류는 확실히 하드웨어 오류로 인해 발생합니다.

"smartctl -a"를 사용하여 장치 로그에서 재할당된 섹터 또는 오류를 확인할 수 있습니다. UDMA_CRC_Error_count 속성을 확인하여 케이블이나 어댑터에 결함이 있는지 확인할 수도 있습니다.

ata 장치가 RAID의 일부인 경우 RAID에서 해당 장치를 제거하고 bonnie++를 사용하여 성능 문제를 확인하거나 최소한 hdparm -t를 사용하여 다른 장치와 비교하여 직접 확인합니다.

ata5인 장치를 찾으려면 다음 명령을 시도하십시오. ls -l /sys/block/ |

장치를 찾을 수 있는 ata 장치 목록이 제공됩니다.

관련 정보