O que causa as exceções de ata no meu syslog e como resolvê-las

1

Eu tenho um novo sistema com o debian (omv) um disco rígido SSD para o SO e um software RAID 6 para os dados.

Eu só vi agora que tenho exceções muito regulares no meu syslog. Estou preocupado agora, o que poderia causar essas exceções. É um problema de software ou algum hardware está com defeito? Você pode realmente ler qualquer coisa desses registros?

Há mais exceções no syslog, mas aqui um trecho:

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

Obrigado por qualquer ajuda com isso.

EDITAR:

Tudo bem, eu troquei o cabo de uma das unidades onde eu pensei que fosse a ata5, agora eu percebo que existem duas unidades 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

O segundo é uma unidade SSD conectada diretamente à placa-mãe. Alguma idéia de quais opções eu tenho? O smartctl verifica as duas unidades. Ambos sem erros.

EDIT2:

assumindo que não é o SSD que está causando o problema, eu troquei a outra unidade e o cabo SATA por peças que estão funcionando sem erros em outro sistema. Eu ainda recebo os erros.

Como um problema de driver pode ser identificado, a placa-mãe pode estar com defeito?

EDIT3: encontrou algo no log SMART da unidade SSD:

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

O que significa o SATA PHY Error?

    
por Preexo 20.07.2015 / 05:11

2 respostas

1

Os passos que tomei para corrigir:

  • BIOS atualizado
  • Na BIOS, o modo combinado do SATA IDE é alterado para esta ajuda
  • lendo a documentação do kernel sobre parâmetros do kernel , já que todas as soluções on-line tratavam da adição de parâmetros para naquela.
  • Descobri que meu SSD realmente suporta apenas 3.0Gbps de velocidade SATA com um bom script de shell
    for i in 'grep -l Gbps /sys/class/ata_link/*/sata_spd'; do
     echo Link "${i%/*}" Speed 'cat $i'
     cat "${i%/*}"/device/dev*/ata_device/dev*/id | perl -nE 's/([0-9a-f]{2})/print chr hex $1/gie' | echo "    " Device 'strings' | cut -f 1-3
    done
  • Na configuração do grub, defina a porta SATA da unidade SSD para a velocidade máxima 3.0
    vi /etc/default/grub

alterou o parâmetro nesta linha para permitir apenas 3Gbps para a porta SATA 7 (meu SSD)

    GRUB_CMDLINE_LINUX_DEFAULT="libata.force=7:3.0G quiet"

atualize o grub e reinicie

    update-grub
    reboot

A solução para isso já percorreu um longo caminho para mim. Basicamente, eu abordava todo o problema todos os dias do zero.

Os problemas que encontrei no caminho:

root@msa-nas1:~# sudo hdparm -I /dev/sd{a,b,c,d,e,f,g} | grep -i udma
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
  • O log do dmesg mostrou algumas mensagens estranhas sobre cabos de 40 fios, mesmo que eles realmente não existam mais, eu comprei dois cabos NEW diferentes, nada ajudou.
[    1.193091] ata5.01: ATA-8: SanDisk SD6SF1M128G1022I, X231200, max UDMA/133
[    1.193095] ata5.01: 250069680 sectors, multi 1: LBA48 NCQ (depth 0/32)
[    1.193743] ata5.00: limited to UDMA/33 due to 40-wire cable
[    1.193746] ata5.01: limited to UDMA/33 due to 40-wire cable
  • O Grub carregou um kernel engraçado para as duas últimas unidades: pata_atiixp . Eu estava esperando o motorista da AHCI.
[    1.022724] scsi4 : pata_atiixp
[    1.022834] scsi5 : pata_atiixp
[    1.022887] ata5: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xf100 irq 14
[    1.022888] ata6: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xf108 irq 15
  • Eu verifiquei o consumo de energia e comparei se excedeu a unidade de energia, isso não aconteceu. Nem perto.
  • Eu substituí o SSD exatamente com o mesmo modelo de outra máquina. Excactly o mesmo modelo. Ainda os mesmos erros.
  • O SSD !! Na verdade, era incrivelmente lento, então o hdparm sobre a saída do UDMA estava correto.
    root@msa-nas1:~# hdparm -t -T /dev/sdf

    /dev/sdf:
     Timing cached reads:   2144 MB in  2.00 seconds = 1072.18 MB/sec
     Timing buffered disk reads:   8 MB in  3.60 seconds =   2.22 MB/sec

Eu tentei chegando ao SandDisk , foi o disco rígido que me deu as exceções, sem sucesso algum. Eu realmente não encontrei ninguém com o mesmo problema, mas muitas pessoas com problemas semelhantes , no final Eu tentei algumas poucas dessas soluções sugeridas e Acabou sendo uma mistura de algumas coisas. Agora tudo faz muito sentido para mim, depois todo mundo sabe melhor, eu acho.

    
por 27.08.2015 / 08:36
2

Erros de ATA como esse são causados por hardware defeituoso, com certeza.

Você pode usar "smartctl -a" para verificar se há setores Realocados ou erros no diário do dispositivo. Você também pode verificar o atributo UDMA_CRC_Error_count para verificar se há cabo ou adaptador defeituoso.

Se o dispositivo ata for parte de um RAID, eu o verifico por si mesmo removendo-o do RAID e usando bonnie ++ para verificar problemas de desempenho ou pelo menos usando hdparm -t para compará-lo com outro dispositivo.

Se você precisar encontrar qual dispositivo é ata5, tente usar este comando: ls -l / sys / block / | grep ata

Ele deve fornecer uma lista de dispositivos ATA que você pode encontrar em.

    
por 20.07.2015 / 05:24