Como causar corrupção no sistema de arquivos para fins de teste?

7

AFAIK as razões para a corrupção do sistema de arquivos são as seguintes:

  • desligamento incorreto (reinicialização a frio);
  • falhas de hardware (bloqueio incorreto no disco, controlador de disco danificado);
  • inicialização incorreta (montagem do sistema de arquivos danificados);
  • erros do kernel (gosto muito de testar este).

Perguntas:

  1. Há algum outro motivo para a corrupção do sistema de arquivos, que eu perdi?
  2. Como causar artificialmente corrupção do sistema de arquivos - eu sei sobre dd , mas há algo mais do que isso?

Estou curioso sobre o Linux, mas provavelmente isso também se aplica ao Windows.

    
por grs 07.05.2011 / 00:11

3 respostas

5

Para o desligamento incorreto, você deve poder testar usando máquinas virtuais. Escreva um script para carregar todos os seus aplicativos e serviços. Em seguida, use uma API para eliminar a VM e, em seguida, inicialize-a novamente. Repita ... deixe seu script rodar e veja quanto tempo leva para morrer.

Para erros do kernel: encontre um antigo kernel beta, por exemplo, desde os primeiros dias do Reiser ou XFS ou EXT4. Olhe através das listas de bugs e alterações para encontrar um bug reproduzível.

    
por 07.05.2011 / 00:31
1

O mecanismo de bobina de voz que posiciona as cabeças de disco rígido usa ímãs de terras raras e eu consegui alguns ímãs muito grandes e muito strongs de discos rígidos mortos.

Você pode criar erros de disco em um disco rígido de trabalho, pegando um ímã strong o suficiente e segurando-o contra o topo de um disco rígido. Note, no entanto, que este não é um processo reversível, se funcionar de todo, danificará as faixas do servo nos discos da unidade inutilizando o disco.

    
por 07.05.2011 / 05:30
0

1) Outra fonte de corrupção que é muito divertido é a sobreposição de partições. Você pode executar por meses com o fim de uma partição sobrepondo o início de outra por apenas um setor. Ou mais!

2) O pacote sg3-utils tem alguns comandos SCSI de baixo nível que você pode usar para criar um disco. Por exemplo:

sg_write_long -w -l 16384 /dev/sda

Grava um erro incorrigível no setor 16384 de / dev / sda (bem, na verdade apenas informa à unidade que há um erro incorrigível lá).

    
por 07.05.2011 / 21:10