Ao copiar arquivos grandes (50 + GB) de um disco NVMe para um disco HDD SATA 7200rpm, vejo o seguinte erro nos logs em um Ubuntu 20.04 totalmente corrigido:
Aug 08 00:45:59 host kernel: ata6.00: exception Emask 0x20 SAct 0x0 SErr 0x0 action 0x6 frozen
Aug 08 00:45:59 host kernel: ata6.00: irq_stat 0x20000000, host bus error
Aug 08 00:45:59 host kernel: ata6.00: failed command: WRITE DMA EXT
Aug 08 00:45:59 host kernel: ata6.00: cmd 35/00:08:30:a2:e0/00:00:e8:00:00/e0 tag 23 dma 4096 out
res 50/00:00:00:00:00/00:00:00:00:00/00 Emask 0x20 (host bus error)
Aug 08 00:45:59 host kernel: ata6.00: status: { DRDY }
Aug 08 00:45:59 host kernel: ata6: hard resetting link
Aug 08 00:46:00 host kernel: ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Aug 08 00:46:00 host kernel: ata6.00: configured for UDMA/133
Aug 08 00:46:00 host kernel: ata6: EH complete
ata6.00
é o disco no qual está sendo gravado.
O problema é intermitente. Às vezes não aparece por 24 horas, às vezes algumas vezes por hora. Muitas vezes o disco se recupera, mas às vezes o sistema de arquivos fica corrompido, precisa ser desmontado, reparado (se possível) e remontado.
O que eu tentei:
- Eu tentei 3 marcas diferentes de HDD. Todos têm o mesmo problema.
- Suspeitei de problema de hardware. Troquei a placa-mãe e os cabos SATA. Nada disso ajudou.
- Tenho outro servidor com configuração idêntica. O problema não ocorre lá. Mesma carga de trabalho.
- Tenho ainda outro servidor com uma configuração completamente diferente (Intel vs. AMD). O problema ocorre aí. Mesma carga de trabalho.
- Desativei o NCQ via
echo 1 > /sys/block/sda/device/queue_depth
. Não ajudou.
Fiquei sem ideias...
Todos esses são componentes de nível de data center. Dadas as etapas que tomei, suponho que não seja um defeito de fabricação do hardware.
Isso poderia estar relacionado ao software/SO/BIOS?
Alguma idéia do que mais devo tentar?
Responder1
Talvez seja mais um problema de temperatura operacional? À medida que o disco fica em uso constante, sua posição física e a relação entre ganho e perda de calor ficam muito altas, levando a um comportamento errático?
Em kernels mais recentes como o seu, a temperatura da unidade pode ser colocada em sysfs neste caminho:
/sys/class/hwmon/*
Certifique-se de que o drivetemp
módulo esteja carregado com arquivos modprobe drivetemp
.
Você poderia considerar monitorar os arquivos aqui e iniciar uma cópia grande do arquivo novamente, a documentação do kernelaquifornece uma indicação de como esses arquivos devem ser interpretados.
Eles incluem valores úteis, como temperaturas mínimas/máximas de operação. Alguns drivers também podem oferecer indicadores de alarme, que são alarmes dependentes do chip que são acionados em caso de falha.
Responder2
Parece ter sido resolvido com a atualização para o Ubuntu 21.04. Não faço ideia do porquê. O servidor funciona estável agora sem problemas de ATA.