Pergunta

Gostaria de corrupção de arquivos de simulação com a finalidade de testar como nossos sistemas embarcados reagir a ela e, finalmente, tê-los falhar como graciosamente quanto possível. Usamos diferentes tipos de dispositivo emulado armazenamento flash bloco para dados que são modificados com freqüência e inadequados para o armazenamento em NAND / NOR.

Desde que eu tenho uma boa idéia bastante de quantas vezes os dados são modificados em diferentes partes da árvore de arquivos e onde os dados sensíveis são armazenados. Eu gostaria de injetar erros em áreas específicas e não apenas aleatoriamente.

Em casos de emergência, usamos fsck -y como uma espécie de último recurso, a fim de tentar trazer o sistema em relatório que está em um estado muito ruim. Eu gosto muito de causar erros que provocaria fsck para tentar reparos a fim de estudar o efeito sobre a capacidade de sistemas para voltar para cima.

dd if=/dev/random não é suficiente preciso para o meu propósito, uma vez que não pode ser facilmente usada para injetar erros controladas. Existem outras ferramentas ou métodos que se encaixam minhas necessidades melhor ou eu tenho que inventar o meu próprio?

Foi útil?

Solução

Se você já sabe o que modificar, dd pode ler um arquivo contendo os bytes que você quer escrever, e você dizer onde a escrevê-los.

Para descobrir onde a gravação, debugfs do pacote e2fsprogs poderia ajudá-lo.

Outras dicas

Deve ser possível usar uma imagem de sistema de arquivos fuzzer Linux a causa da corrupção:

ou uma das técnicas de injecção de falha disco Linux (por exemplo, DM-flakey no modo de corrupção) descrito em https: //unix.stackexchange .com / a / 144200 .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top