
Un amigo mío me dijo que el raid del kernel de Linux (mdadm raid5/6) no era confiable, porque una vez intentó sobrescribir sectores en uno de sus volúmenes físicos y eso causó corrupción de archivos. Le respondí que era normal porque el sistema raid5 no estaba destinado a detectar sino solo a corregir un error cuando ya se había detectado un error debido a un error de lectura del disco.
Sin embargo, me preguntaba cómo podría probar el concepto o hacer una prueba de confiabilidad escribiendo errores en el propio disco. ¿Hay alguna manera, con Linux, de escribir (o leer) un sector en algún tipo de modo sin formato, que permitiría leer o escribir manualmente el código "CRC"⁽¹⁾, en lugar de dejar que el controlador lo administre todo por sí solo? ?
En la misma lógica, ¿habría una manera de copiar sin formato un disco en otro, para intentar algunos procesos de recuperación de datos en una copia en lugar de en el original, lo que sucede con softwares de recuperación incorrectos, para hacer que los discos sean irrecuperables?
He visto que alguien hizo preguntas similares.aquíoallá, pero es bastante antiguo, no era muy claro y no obtuvo una respuesta satisfactoria. Obviamente, el objetivo no es destruir físicamente el disco, sino simplemente forzar la escritura de algún contenido no válido que podría reescribirse más adelante con un método similar. Y por cierto, si el disco realmente CONTIENE un error, no hay posibilidad de que el sector sea reubicado mediante operaciones normales, porque sería necesario leerlo correctamente de antemano.
(1): Pongo las comillas porque no estoy seguro de si en los discos recientes los códigos de detección de errores todavía están basados en CRC.
Respuesta1
Respuesta muy corta, pero si esto es aceptable:
Básicamente, se accede a todos los medios de almacenamiento enviando comandos SCSI a través de varios otros protocolos (SATA, USB, ...), y no hay forma de controlar CRC o campos similares con esos comandos. De hecho, las unidades modernas incluso sustituirán silenciosamente sectores con CRC incorrecto que no se pueden corregir asignándolos a otros sectores con CRC bueno en la siguiente escritura.
Puede haber extensiones específicas del proveedor que le permitan controlar todo eso más directamente, pero los proveedores no se lo dirán.