
Tengo una matriz de software RAID5 con 4 + 1 discos en los que 2 de los discos han fallado. Espero que con un poco de mantenimiento de percusión, pueda hacer que uno de los discos defectuosos vuelva a funcionar el tiempo suficiente para hacer una copia a nivel de bloque para eliminar la imagen.
El plan sería crear imágenes de 4 (o los 5) discos con dd y luego intentar reconstruir la matriz en esas imágenes.
¿Hay algo desde el principio que me he perdido y que haría esto imposible? Si no, ¿cómo haría yo?
- Copie una imagen de cada dispositivo a un archivo
- Monte estos
- Reconfigure mdadm para usar estas imágenes como dispositivos
Obviamente, pueden haber sucedido muchas cosas que corrompen los datos, pero hay razones para pensar que los datos reales podrían estar intactos en los 4 discos:
- La segunda falla del disco podría haberse debido a una pérdida de energía.
- Los datos que me interesa recuperar no se escribieron después del primer error
Respuesta1
En general, este enfoque funcionaría. Siempre que tenga discos que funcionen (y no espere que fallen), también puedeuse el asignador de dispositivos para crear instantáneas superpuestasen lugar de copiar completamente los datos de los discos (aunque podría ser bueno tener las copias como respaldo).
Una vez que tenga los archivos de imagen, deberá crear dispositivos de bloqueo de bucle invertido a partir de ellos.
losetup /dev/loopX /path/to/imagefileX
Una vez hecho esto, puedesarmarsu matriz usando los dispositivos de bloque loopback. Si no puede recuperar el último disco fallido y las marcas de tiempo en la imagen de su disco de redundancia serán diferentes del resto, la matriz se negará a ensamblarse. Mientras tu estesen realidadSólo me interesan los datos escritos antes de los fallos, eche un vistazo a"Recuperar un RAID de software fallido"sección de la documentación de Kernel RAID. Debería ayudarle a montar la matriz con al menos algunos de los datos recuperables.