Erro de E / S, mas nenhum bloco incorreto é relatado no syslog

2

Eu tenho erros como este no meu syslog, mas não há bloco ruim ou setor definido no relatório do kernel, eu não posso simplesmente substituir o HDD agora e eu prefiro realocar os blocos ruins por enquanto, então eu preciso do número de setores defeituosos.

Alguma sugestão sobre como encontrar o número de setores o mais rápido possível?

Em outro servidor que eu tenho, o kernel sempre informa o número do setor, mas neste servidor nenhum setor foi reportado.

res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed

Minha pergunta é por que o kernel deste servidor não está reportando o número de setores defeituosos? como o outro faz?

    
por hgoles 20.09.2012 / 06:46

1 resposta

2

Você pode obter algumas dessas informações do log do SMART no disco ( smartctl -x /dev/sda ).

Caso contrário, é isso que o comando badblock faz. Isso também pode ser usado para informar quais blocos estão inativos (no caso da realocação falhar) para alimentar o e2fsck (se um FS do extx estiver nesse disco, mas alguns outros FSes tiverem um recurso semelhante) e especificar que esses setores não devem ser usados. Ou o e2fsck pode chamar os badblocks diretamente.

Em qualquer caso, isso irá sobrecarregar o disco e causar falhas adicionais.

Eu verificaria o status SMART ( smartctl -x /dev/sda ) para ver qual é a forma em primeiro lugar (quantos setores pendentes, com falha, realocados, erros ... e o status geral SMART) como se estivesse à beira de Ao contrário, a melhor coisa a fazer é fazer o backup dos dados em uma nova unidade (veja várias implementações de ddrescue para isso).

    
por 20.09.2012 / 08:20