Recuperar la partición JFS con references de bloque duplicadas

Después de un desagradable locking del server, no pude montar una partición JFS en Linux. La herramienta jfs_fsck devuelve

 Duplicate block references have been detected in Metadata. CANNOT CONTINUE. processing terminated: <date> <time> with return code: 10060 exit code: 4. 

La partición de 12 TB contiene resultados de cálculos científicos que se pueden reproducir en cuestión de unas semanas y no se respaldan. Aunque no puedo excluir la posibilidad de algunos datos no reproducibles que se encuentran en torno a debido a la negligencia del usuario.

Mi plan para recuperar la partición era como sigue:

  1. Reproducir el diario y montar la partición de sólo lectura
  2. Copia los files que se pueden leer en otro sistema de files
  3. Identifique el bloque con references duplicadas usando jfs_fsck -v
  4. Identifique los inodos correspondientes a estos bloques con jfs_debugfs
  5. Encuentra los objects del sistema de files correspondientes a los inodos usando find -inum
  6. Desvincular los objects completamente usando jfs_debugfs
  7. Ejecute jfs_fsck nuevo y espere que se complete sin un error

Este plan funcionó sólo en los pasos (1) a (4). Primero falló en el paso (5) donde find no parecía get un solo inodo después de correr durante varias horas y podría estar ejecutándose para siempre. Al copyr files encontré que algunos de los directorys tenían sus treees B + transformados en charts con loops por lo que no era imposible que un directory de recorrido no terminaría.

Salté directamente al paso (6) y desvinculé primero los directorys donde podía encontrar estructuras corruptas. Pero esto no ayudó a hacer jfs_fsck ejecutar a la terminación. Entonces quité todos los directorys pero la input del directory raíz. Sin embargo, jfs_fsck todavía no se ha completado.

Supongo que tengo que editar no sólo la estructura de directorys, sino también los maps de asignación de bloques. Sin embargo no pude encontrar una manera de hacerlo con jfs_debugfs .

¿Hay herramientas que pueden ayudar a crear una partición con references de bloque duplicadas susceptibles de recuperación?

Si puede montar el disco R / O, probablemente podría intentar copyr los datos que pueda. Si el diario está dañado, es posible que sólo se pierdan los últimos cambios de file. Así que usted podría intentar conseguir los files hacia fuera.

Sin embargo, si el file es de datos, ¿cómo saber si es correcto o no se ha corrompido por sí mismo.

Por supuesto, una corrupción de la revista también podría ocultar un problema de disco más grave.

En este punto, mis pensamientos serían que para asegurar la integridad de los datos, usted probablemente tendrá que volver a ejecutar las simulaciones.