Como faço para corrigir a contagem atual de setores pendentes

8

A partir dos dados SMART, mostra que tenho 3 contagens de setor pendentes. (Executando o Ubuntu Maverick.)

Tentei seguir o link de um fórum sobre como resolver isso , mas não consigo identificar a contagem exata do setor para gravar nesse setor. Realizei o autoteste completo no Utilitário de Disco, mas o Utilitário de disco não mostra o número exato do setor no Maverick, embora não tenha certeza das versões anteriores. Isso mudou no Maverick?

Como identificar o setor e corrigir essa contagem pendente? Essa dica nos fóruns é segura?

PS: Eu tenho outros problemas com o "Reallocated Sector Count", pelo que pesquisei no Google, não é corrigível. Existe alguma maneira de impedir que ele suba?

Vish
fonte
11
Captura de tela dos dados SMART: foopics.com/showfull/e20ea820cbed11ae2d99e13a9fe642d1 Hrm ..! PS: precisa permitir mais de um hiperlink ou, pelo menos, um link de imagem para novos usuários: - /
Vish
Você executou o teste "longo"?
TJ L
11
Sim, tentei o "estendido", mas não recebo os números do setor informados. Ou talvez eu não esteja procurando o lugar certo depois de executar o teste?
Vish

Respostas:

7

Este é realmente um longo comentário ;-)

Na IMO, o sistema de arquivos deve cuidar dele automaticamente no devido tempo, principalmente porque você executou o autoteste. Como você pode ver, os estados de remapeamento são feitos no caso de falha de gravação; portanto, da próxima vez que tentar tentar gravá-lo, ele será remapeado.

Você poderia indicar o objetivo maior por trás disso? Além da preocupação com os blocos que requerem remapeamento, há algum outro incômodo / problema que você está tentando resolver fazendo isso?

A dica no post do ubuntuforums que você citou é segura desde que você saiba exatamente qual setor deu errado e tenha um motivo convincente para corrigi-lo. Normalmente, o setor # não é relatado nem mesmo pelos programas de verificação de arquivos, pois é abstraído e tratado internamente pelo sistema de arquivos.

Mas se você precisar encontrar os badblocks ofensivos, poderá usar as etapas abaixo:

  1. Observe o arquivo do dispositivo correspondente ao sistema de arquivos. Esse é o formato / dev / hdc ou / dev / sdb, dependendo do tipo de disco. Isso é exibido no Utilitário de Disco ( System -> Administration -> Disk Utility). Se você clicar no nome do disco na lista exibida no painel esquerdo, o nome do dispositivo poderá ser lido em "Dispositivo:" à direita.

  2. Desmonte todos os sistemas de arquivos desse disco. O comando a seguir não deve retornar nenhuma saída.

    mount | grep -i <device-name>
    
  3. Execute o seguinte comando

    badblocks -sv -b 512 <device-name>
    

    Nota O -b 512alinhamento do tamanho do bloco é 512, para que você possa usar o número relatado por este comando como entrada, ddconforme explicado na postagem do fórum.

Eu não recomendaria todas as opções acima, pois elas são atendidas pelas operações normais do disco.

koushik
fonte
11
Obrigado pela resposta detalhada. Esses três setores pendentes existiram por muito tempo, quase mais de seis meses, e foi por isso que eu quis consertar esses setores pendentes. E esses setores estão na minha partição principal / inicial, como faço isso online? Você mencionou desmontar todas as partições, devo fazer isso em um CD ao vivo?
Vish
Como é a partição inicial da sua instalação, você realmente deseja executar as etapas acima no livecd. Verifique se todas as partições no disco estão desmontadas (incluindo a troca de partições de troca).
K105
Isso é estranho, eu tenho a contagem pendente há quase 6 meses com o ext4, mas quando reinstalei com o brtfs, ele não foi embora. Por isso eu estava preocupado. De seu conselho, considerei esperar algumas semanas antes de fazer alguma coisa. Agora, de repente, todos se foram! Então eu acho que esperar foi o melhor. :-) Parecia resolver mais rapidamente com o btrfs.
Vish
1

Na pior das hipóteses, você sempre pode fazer isso: Desmonte o disco ou a matriz e pare qualquer matriz.

dd if=/dev/sdX of=/dev/sdX iflag=direct,sync oflag=direct,sync

Vai levar muito tempo, mas deve funcionar.

Idealmente, você pode consultar a lista de defeitos de crescimento do disco rígido (glist), mas ainda não descobri como fazer isso.

Jim Mills
fonte
1

Parece que a conv=noerroropção ajuda. Quando há um erro de E / S, parece que essa opção obriga dda tentar novamente até concluir a leitura / gravação. Criei um arquivo de origem com o seguinte comando para cada um dos blocos defeituosos encontrados pelo comando badblocks (fornecido por Kaushik acima) e ele limpou a "Contagem de setor pendente atual" ("aguardando para ser remapeado") para zero de 5.

sudo dd bs=512 count=1 conv=noerror ibs=512 obs=512 if=/dev/sda of=/dev/sda iflag=direct,sync oflag=direct,sync skip=3186809 seek=3186809
Vis
fonte
1

Quando isso excede 0, normalmente é um sinal de falha iminente da unidade. Não acredito que isso possa ser corrigido sem a substituição do disco rígido.

Consulte http://kb.acronis.com/content/9133?nocache=1

Malcolm McCaffery
fonte