¿Puedo montar la mitad de una partición ext4

Tuve una matriz de raid de hardware, un disco falló durante la migration y el controller se desconectó y no se puede recuperar. He escrito una pequeña secuencia de commands python que ha mapeado correctamente el estado de la matriz tal como está actualmente (se han migrado unos 160 GB y la TB restante 5 no) y estoy a punto de utilizar esa información para rebuild el file sistema en un nuevo disco. Es probable que este process tome un time LOOOOONNNNGGGG.

Entonces mi pregunta es si recupero los primeros 250 GB puedo montar este sistema de files parcial y comprobar que el script está haciendo lo correcto (por ejemplo, si el order de bloque / banda es incorrecto, el resultado será basura) antes de procesarlo toda la matriz? Si es así, ¿qué commands de assembly necesitaré ejecutar para montarlo?

Por otro lado, supongo que solo necesito el sistema de files y no la tabla de particiones.

Editar: Algunos detalles más específicos sobre la falla: tuve una incursión de 4 discos 5, hice una expansión de capacidad en línea a 5 discos, el nuevo disco falló.

Lo que he hecho hasta ahora es calcular el punto al que llegó la migration (usando A xor B xor C == D, verdadero para el antiguo set falso para nuevo, ignorando los resultados del espacio vacío)

Se calculó el "espacio vacío" entre las matrices usando el tamaño de banda viejo, el nuevo tamaño de banda y el tamaño migrado; comprobé este resultado dos veces comparando bloques al final del espacio vacío con el final del fragment migrado hasta que encontré coincidencias.

Ahora estoy escribiendo un código para rebuild las franjas, unir las dos mitades de la matriz y escribirla en nuevos discos. Idealmente, me gustaría poder verificar el resultado de este código sin tener que escribir el completo 6TB array. Al escribir los primeros 250GB, más o less, puedo verificar y refinar el procedimiento para recuperar toda la matriz sin tener que esperar varios días para que se complete la recuperación.

No puedes montar media partición. La mitad de una partición no es un contenedor que contiene la mitad de los files en el sistema de files, básicamente no se puede usar. Llegar a un file requiere atravesar varios directorys e inodos que pueden extenderse por toda la partición.

Sin embargo, puede verificar el comienzo de la partición para ver si parece tener un encabezado de sistema de files válido. Esto solo requiere que el comienzo de la partición (los primeros kilobytes) esté bien. file -s /dev/something le dirá si ese dispositivo en particular parece contener una partición (suponiendo que ya tiene una input de dispositivo para la matriz RAID que se está reensamblando).

Por favor describa su migration con más detalle. ¿Cultivó o networkingujo la matriz, agregó o eliminó discos, o qué? No desea el objective de error, en su lugar utilice imágenes lineales e instantáneas, por lo que hay una capa virtual en la que puede realizar experimentos como fsck , debugfs y similares sin tener que crear otra copy para cada experimento. Use un método similar al descrito en https://raid.wiki.kernel.org/index.php/Recovering_a_failed_software_RAID#Making_the_harddisks_read-only_using_an_overlay_file

Probablemente, el assembly no sea una buena manera de "verificar si el bloque / order de franjas incorrecto", etc. Si la matriz crecía hasta convertirse en un disco adicional, debería haber un área donde la representación de datos nueva versus anterior se superponga, por lo que la recuperación completa podría ser posible .

Deberías intentarlo, pero con methods de solo lectura. Si el superbloque del sistema de files todavía es alcanzable, deberías poder montarlo. Luego, explorar el sistema de files probablemente creará muchos errores de IO e imprimirá nombres y contenidos de files chapuceros, pero eso es lo mejor que puede get en cualquier caso (aparte del tipo de herramientas de testdisk que escanea para types de files específicos).

Lo intentaría:

  • tune2fs -l <blockdevice> : si eso funciona, deberías ser capaz de montarlo
  • `mount -o ro / mnt / recovery