Question

J'aimerais simuler une corruption du système de fichiers dans le but de tester la réaction de nos systèmes intégrés et de les faire échouer le plus gentiment possible. Nous utilisons différents types de stockage flash émulé par bloc de périphérique pour les données souvent modifiées et inadaptées au stockage en NAND / NOR.

Depuis, j'ai une assez bonne idée de la fréquence à laquelle les données sont modifiées dans différentes parties de l'arborescence de fichiers et du lieu où les données sensibles sont stockées. Je voudrais injecter des erreurs dans des domaines spécifiques et pas seulement au hasard.

En cas d'urgence, nous utilisons fsck -y en dernier recours pour tenter de mettre le système en route et de signaler les très mauvais états. Je voudrais vraiment provoquer des erreurs qui pourraient amener fsck à tenter des réparations afin d’étudier les effets sur la capacité des systèmes à se rétablir.

dd if = / dev / random n’est pas assez précis à mon sens car il ne peut pas être facilement utilisé pour injecter des erreurs contrôlées. Existe-t-il d'autres outils ou méthodes qui répondent mieux à mes besoins ou dois-je inventer les miens?

Était-ce utile?

La solution

Si vous savez déjà quoi modifier, dd peut lire un fichier contenant les octets que vous voulez écrire et vous lui indiquez où les écrire.

Pour savoir où écrire, les fichiers debugfs du paquet e2fsprogs peuvent vous aider.

Autres conseils

Il devrait être possible d'utiliser un fuzzer d'image de système de fichiers Linux pour causer la corruption:

ou l'une des techniques d'injection de défaut de disque Linux (par exemple, dm-flakey en mode corruption) décrite dans https: //unix.stackexchange .com / a / 144200 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top