Verificando e marcando badblocks

Neste artigo mostrarei como identificar e "esconder" os blocos defeituosos (badblocks) do seu HD. É assumido que essa técnica não irá deixar seu disco em perfeito estado de uso, mas irá apenas amenizar o problema dos badblocks. Para um servidor em produção, realize a troca do HD danificado por um HD novo.

[ Hits: 128.748 ]

Por: Roberto Rodrigues da Silva em 18/10/2006


Vamos a prática



Para fazer uma checagem de badblocks em sistemas de arquivos ext2 ou ext3, siga os passos abaixo:

1. Para sua segurança, realize um backup de todos os dados que você julgar importante.

2. Inicie seu computador com outra mídia bootável. Algumas opções: Kurumin live cd, Ubuntu live cd, etc.

É importante não "bootar" o sistema a partir do HD defeituoso, pois o sistema pode perder a comunicação com o disco rígido e seu sistema ficar paralisado.

3. Executando o comando badblocks:

Sintaxe: badblocks [opções] dispositivo contagem-bloco

# badblocks -o badblocks_encontrados.dat -n -v /dev/hda4
Checking for bad blocks in non-destructive read-write mode
From block 0 to 8201182
Testing with random pattern:
Pass completed, 0 bad blocks found.

Descrevendo o comando acima:
  • A opção -o: Especifica o nome do arquivo que será uma "lista" com os badblocks encontrados;
  • A opção -n: Realiza um teste não-destrutivo, gravando em cada bloco e depois lendo-o, enquanto preserva os dados. Isso deve demorar um pouco;
  • A opção -v: Ativa modo verbose;
  • O dispositivo: Especifica o dispositivo que você quer verificar, /dev/hd??.

AVISO: Nunca utilize a opção -w em um dispositivo contendo dados importantes. Esta opção irá apagar (deletar) os dados. Para checagem não-destrutiva, utilize a opção -n. Essa opção demora um pouco mais.

Referência:
Recursos:
Roberto Rodrigues
http://robertors.bs2.com.br

Página anterior    

Páginas do artigo
   1. Reconhecendo blocos defeituosos com a ferramenta badblocks
   2. Vamos a prática
Outros artigos deste autor

Linux - Sistema de arquivos

Linux - Manipulando partições de disco

Linux - Quota de disco

Python - Brincando com arquivos

Linux - Permissões de acesso especiais

Leitura recomendada

Sistema de arquivos distribuídos usando Gmail

Tunando sistemas de arquivos para GNU/Linux

Clone de HDs e backup de MBR

Particionando o HD sem perder os dados utilizando o FIPS

Sistemas de arquivos para GNU/Linux

  
Comentários
[1] Comentário enviado por lordello em 18/10/2006 - 12:56h

Legal o artigo, mas o comando "badblocks" apenas verifica a existência dos setores defeituosos, não marca eles. No título você diz que iria ensinar a marcar os setores defeituosos...
Na verdade, o ideal é usar o comando "e2fsck" com a opção "-c", desta forma ele já usa o comando "badblocks" e marca os setores defeituosos automaticamente.
A sua dica de usar um LiveCD é muito importante, usar o fsck ou qualquer outro utilitário de disco com ele montado é muito perigoso.

# man e2fsck
-c This option causes e2fsck to use badblocks(8) program to do a read-only scan of the device in order to find any bad blocks. If any bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a file or directory. If this option is specified twice, then the bad block scan will be done using a non-destructive read- write test.

Abraço.

[2] Comentário enviado por robertors em 18/10/2006 - 16:02h

Olá, Lordelho.

Ah sim... Depois que eu fui notar o erro... e nao tinha como corrigir depois que tava publicado... rsrsrs ( primeiras contribuições )

Bom, mas o pessoal pode ver sua correção.

Abração... vlw

[3] Comentário enviado por yetlinux em 18/10/2006 - 17:15h

Faltou falar algo sobre o ReiserFS (a última moda), mas com o que foi dado, já dá prá procurar muita coisa. Valeu!

[4] Comentário enviado por Radiske em 18/10/2006 - 17:20h

Beleza de artigo robertors e um ótimo comentário Lordelho.

Mas, como faco para verificar uma particão reiserfs?

Obrigado e Deus os abencoe!

[5] Comentário enviado por Raptor em 18/10/2006 - 20:20h

A opção -w apaga somente os dados que estiverem gravados nos badblocks ou no disco todo?

[6] Comentário enviado por robertors em 18/10/2006 - 23:02h

Olá, Raptor.

A opção -w realiza uma verredura nos blocos defeituosos e escreve alguns testes no disco (lendo cada bloco do disco e comparando ).
No manual do comando, fala que ele faz o teste em cada bloco do dispositivo. ( Presumo que seja em todo o disco )

Mas infelismente não tenho mais nenhum disco com badblocks para comprovar com um teste prático.

Se voce quer somente verificar e não quer correr riscos, utilize a opção -n, que realiza um teste não-destrutivo. Vai demorar um pouco mais.

Lembrando que eu não aconselho brincar com um disco com dados importantes... sempre tenha um backup antes.

Vlw

[7] Comentário enviado por robertors em 18/10/2006 - 23:16h

Olá, Radiske.

Pelas informações que eu tenho, os discos modernos implementam um sistema de verificação de badblocks por hardware.
Voce também pode fazer via software.
Em sistema de arquivos reiserfs, existe um recurso para fazer a varredura e fazer a atualização dos blocos defeituosos automaticamente.

Mas voce pode fazer manualmente utilizando o comando: debugreiserfs
http://www.namesys.com/debugreiserfs.html

Note que quando um disco chegar nesse ponto, possívelmente já estará muito danificado.

Vlw

[8] Comentário enviado por adrianoturbo em 27/06/2008 - 10:29h

Muito bom o artigo.

[9] Comentário enviado por henriquecorbo em 17/06/2012 - 17:55h

Excelente artigo. Salvou o meu HD. Tenho pouca experiência em ambiente linux e quase condenei injustamente um HD. Depois que li esse artigo cheguei a conclusão que o problema não era do HD.

Parabéns Robertors e muito obrigado pela dica Lordelho.

[10] Comentário enviado por andreuebe em 03/05/2015 - 19:06h


Caro

a) Qual a vantagem de se utilizar -w em vez do método não destrutivo? Acelera o processo?
b) Uma vez marcados os blocos, se eu reparticionar o HD, perco as marcações e tenho que repetir todo o processo?

obrigado

[11] Comentário enviado por alexkurumin em 13/07/2017 - 20:10h

Mas depois de feito essa marcação nos blocos posso instalar normalmente o sistema? Pois se compreendi, com os blocos marcados a instalação os ignora.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts