Como corromper um sistema de arquivos

Como corromper um sistema de arquivos

Vou testar o 'xfs_repair' em alguns sistemas de arquivos grandes (cerca de 50 TB), pois no passado o uso de memória era alto. Embora eu pudesse testar o programa apenas em sistemas de arquivos corretos, seria bom testá-los em um sistema corrompido.

Então, qual seria a melhor maneira de corromper um sistema de arquivos. Crédito extra se o método apresentar repetidamente a mesma corrupção todas as vezes....

Para dar às pessoas uma ideia do que quero dizer em 2006 ish

"Para verificar ou executar o reparo com êxito em um sistema de arquivos de vários terabytes, você precisa:

  • uma máquina de 64 bits
  • um xfs _ reparar / xfs _ verificar binário de 64 bits
  • ~2 GB de RAM por terabyte de sistema de arquivos
  • 100-200 MB de RAM por milhão de inodes no sistema de arquivos.

xfs_repair normalmente usará menos memória do que isso, mas esses números fornecem uma estimativa aproximada do que um sistema de arquivos grande que está> 80% cheio pode exigir para reparar.

FWIW, da última vez que isso surgiu internamente, o sistema de arquivos de 29 TB em questão precisou de aproximadamente 75 GB de RAM + troca para ser reparado.”

Responder1

xfs_db tem uma opção blocktrash que

Lixeira de blocos de metadados do sistema de arquivos selecionados aleatoriamente. A lixeira ocorre em bits selecionados aleatoriamente nos blocos escolhidos. Este comando está disponível apenas em versões de depuração do xfs_db. É útil para testes xfs_repair(8)e xfs_check(8).

Por exemplo

xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" /dev/xfstest/testfs

Responder2

dd bloqueia para o dispositivo onde o sistema de arquivos reside. Você pode criar um script para que seja repetível. Apenas alguns blocos aleatórios em locais aleatórios e depois siga em frente.

Responder3

Você pode tentar sobrescrever os primeiros 512 bytes (MBR e tabela de partição) do dispositivo de bloco.

Faça backup primeiro:

dd if=/dev/device bs=512 count=1 of=backup.bin

E zere depois:

dd if=/dev/zero bs=512 count=1 of=/dev/device

Sua máquina não deve inicializar depois disso, você pode testar o reparo do XFS usando o live CD.

informação relacionada