2008-09-26 21 views
15

Me gustaría simular la corrupción del sistema de archivos con el fin de probar cómo reaccionan nuestros sistemas integrados y, en última instancia, hacer que fallen de la forma más graciosa posible. Utilizamos diferentes tipos de almacenamiento flash emulado de dispositivo de bloque para datos que se modifican a menudo y no son adecuados para el almacenamiento en NAND/NOR.¿Cómo puedo simular la corrupción del sistema de archivos ext3?

Dado que tengo una muy buena idea de la frecuencia con la que se modifican los datos en diferentes partes del árbol de archivos y donde se almacenan los datos confidenciales. Me gustaría inyectar errores en áreas específicas y no solo al azar.

En casos de emergencia, utilizamos fsck -y como una especie de último recurso con el fin de intentar llevar el sistema y reportar que está en muy mal estado. Me gustaría causar errores que desencadenen fsck para intentar reparaciones con el fin de estudiar el efecto en la capacidad del sistema para volver a subir.

dd if=/dev/random no es lo suficientemente preciso para mi propósito, ya que no se puede usar fácilmente para inyectar errores controlados. ¿Hay otras herramientas o métodos que se ajusten mejor a mis necesidades o tengo que inventar el mío?

+0

Una gran pregunta, pero etiquetaría esta tolerancia a fallas en lugar de agraciada degradación. –

Respuesta

2

Si ya sabe qué modificar, dd puede leer un archivo que contenga los bytes que desea escribir, y le dirá dónde escribirlos.

Para averiguar dónde escribir, las depuraciones del paquete e2fsprogs podrían ayudarlo.

1

Debería ser posible utilizar un fuzzer imagen del sistema de ficheros de Linux para causar la corrupción:

o una de las técnicas de inyección de fallas de disco de Linux (p. dm-flakey en modo corrupción) descrito en https://unix.stackexchange.com/a/144200.

Cuestiones relacionadas