Agressivamente fsck um disco antes de instalar

12

Eu tenho uma antiga máquina HP Athlon que uso para testar softwares no antigo processador. Temos freqüentes saídas em marrom e, após o último, o disco estava uma bagunça. Foi tão ruim que não consegui executar fsck e eliminar todos os problemas. Fiz uma nova instalação do sistema operacional, mas ainda estou recebendo fsck de reclamações.

Gostaria de tentar uma última vez recarregar o Linux antes de condenar o disco rígido ou a máquina. Depois que o sistema de arquivos é criado, mas antes que ocorra a instalação, eu gostaria que um fsck agressivo fosse executado para marcar blocos suspeitos como ruins.

O disco é grande (cerca de 500 GB) e uma distribuição Debian 8 é relativamente pequena (8-12 GB geralmente é mais que suficiente), então eu não me importo se bons blocos são marcados como ruins. Também gosto da instalação da GUI, mas não sou casada com ela.

Eu tenho duas perguntas:

  1. O Debian 8 oferece uma opção para executar um fsck antes de instalar o sistema básico? Se sim, onde está? Se não, então qual é o processo?

  2. O fsck tem uma configuração para controlar com que intensidade os blocos são marcados como ruins? Se assim for, o que é? Se não, então o que pode ser usado?

EDITAR : a máquina é uma HP5850. Entrando no BIOS, navegando para Storage e depois para o Auto-teste do Drive Protection System (DPS), o DPS recomendou a substituição da unidade. O DPS não forneceu estatísticas, então não tenho certeza da extensão do dano.

Considerando que posso comprar uma [antiga] nova unidade SATA II por US $ 12, só vou substituí-la. Não há sentido em perder tempo ou energia.

As referências relacionadas são as seguintes. Nenhuma pergunta parece ser abordada.

por jww 08.08.2016 / 02:52

6 respostas

19
  1. "O Debian 8 oferece a opção de executar um fsck antes de instalar o sistema básico? Se sim, onde ele está? Se não, então qual é o processo?"

    Como alternativa, primeiro faça o download e grave um GPartEd CD (ou escreva para um pen drive). Antes de executar o instalador, inicialize GPartEd e particione o disco ao seu gosto e execute fsck ou apenas execute badblocks longamente.

    Quando você executar o instalador Debian, diga como usar as partições que estão lá. O instalador não precisa criar suas próprias partições. É perfeitamente feliz usar as partições existentes.

  2. "O fsck tem uma configuração para controlar o quão agressivamente os blocos são marcados como ruins? Se sim, o que é? Se não, então o que pode ser usado?"

    A opção -c para e2fsck faz com que execute o programa badblocks para procurar blocos inválidos. Você pode executar badblocks diretamente também. Por padrão, badblocks faz um teste somente leitura. Para ser mais agressivo, você pode especificar -n para um teste de leitura / gravação não destrutivo. Você também pode definir a opção -p para aumentar o número de passadas.

    Você pode querer executar badblocks antes de particionar. Dessa forma, você pode especificar o teste somente de gravação -w mais rápido.

por 08.08.2016 / 03:30
7

Se você está recebendo erros de fsck com frequência, a unidade também pode estar tossindo sangue. Mesmo que você marque todos os blocos defeituosos como ruins, não demorará muito para que mais bloqueios sejam prejudicados. Eu imagino que você poderia mudar para outro tty para fazer um fsck se você realmente precisa (Ctrl + alt + F2 para mudar para tty2), mas eu não posso enfatizar o suficiente o quanto você precisa de um novo disco rígido se o que você está dizendo é preciso.

    
por 08.08.2016 / 03:02
5
  1. Não, e não acho que valha a pena. Fsck (como implementado pela maioria dos sistemas de arquivos) não verifica suas unidades. Ele valida os metadados do sistema de arquivos e garante que a exibição seja consistente quando você os montar. Não faz muito sentido fazê-lo antes da instalação, porque, por definição, você só terá espaço vazio.

  2. Use badblocks em vez disso. Se você quiser garantir que seus dados não apodreçam, use um sistema de arquivos que suporte a depuração. O próprio Lvm também pode fazê-lo .

por 08.08.2016 / 09:23
3

Para verificar a confiabilidade de um disco moderno, considere usar os testes incorporados; você pode acioná-los com o utilitário smartctl, por exemplo:

smartctl -t long /dev/sdx
#wait an hour or two
smartctl -a /dev/sdx
#should have recorded a result in the self-test log

Se você quiser ter certeza de que tudo foi escrito recentemente, para descobrir setores que não serão escritos corretamente, você pode substituir o meio inteiro por algo como um dd de / dev / urandom, ou destruir com um das opções aleatórias.

    
por 08.08.2016 / 12:09
2

Eu recomendaria obter o software de formato de baixo nível do fabricante (se houver), que pode ser executado somente no Windows (ou, se você tiver sorte, em um CD / DVD / USB inicializável para o qual faria o download de uma imagem seu site). Se você tiver controle suficiente sobre a operação para reduzir a capacidade relatada do drive em troca de um pool de setor sobressalente muito maior, você deve fazê-lo, antecipando que muitas dessas peças sobressalentes tenham sido substituídas à medida que você testa a unidade, como sugeriu @rackandboneman . É muito melhor ter uma unidade de 400 ou 450 GB com todos os setores defeituosos trocados por peças sobressalentes e mais para defeitos futuros, do que esgotar o pool sobressalente e ter futuros setores defeituosos que não podem ser remapeados de forma transparente.

    
por 08.08.2016 / 20:26
0

Algumas coisas básicas, se você não tem ferramentas mais sofisticadas disponíveis (por exemplo, um disco USB e o SMART não funciona):

dd if=/dev/sdX of=/dev/null bs=1M

lerá todo o disco. Você verá no dmesg log se houver setores que não puderam ser lidos. Embora não lhe diga se conseguiu lê-los depois de novas tentativas. Não é tão bom quanto badblocks , mas eu o menciono por sua onipresença.

Se você tem setores defeituosos e não quer nada no disco:

dd if=/dev/zero of=/dev/sdX bs=1M

fará com que todos os blocos sejam reescritos. Se houver setores ilegíveis, isso deve fazer com que eles sejam trocados por setores no conjunto realocado e tornem-se utilizáveis novamente.

Se você tiver um disco em que a realocação está acontecendo, o disco está saindo. Eu não usaria isso para nada importante, mas às vezes você tem dados dos quais você não se importa muito e pode ser bom para isso.

Se é um SSD, as coisas são diferentes e não se aplicam.

    
por 09.08.2016 / 00:52