在服务器崩溃之后,我无法在Linux上安装JFS分区。 jfs_fsck工具返回
Duplicate block references have been detected in Metadata. CANNOT CONTINUE. processing terminated: <date> <time> with return code: 10060 exit code: 4.
12TB分区拥有科学计算结果,可以在几个星期内重现,而且不会被备份。 虽然我不能排除由于用户疏忽而造成一些不可重复数据的可能性。
我计划恢复分区如下:
jfs_fsck -v标识具有重复引用的块 jfs_debugfs标识与这些块对应的inode find -inum与inode对应的文件系统对象 jfs_debugfs完全取消链接对象 jfs_fsck ,并希望它会完成而没有错误 这个计划只有在步骤(1)到(4)才有效。 它在步骤(5)中首先失败,在运行几个小时之后find似乎没有得到一个单一的inode,并且可能永远运行。 当复制文件时,我发现一些目录的B +树变成了带有循环的graphics,所以目录遍历不会终止。
我直接跳到步骤(6),并首先取消了可以find损坏结构的目录。 但是这并没有帮助jfs_fsck运行完成。 然后,我删除所有的目录,但根目录条目。 然而jfs_fsck仍然无法完成。
我想我不仅要编辑目录结构,还要编辑块分配映射。 但是我找不到用jfs_debugfs来实现的方法。
有工具,可以帮助使重复块引用恢复分区的分区?
如果你可以安装磁盘R / O,你可能会尝试复制你可以的数据。 如果日志损坏,则可能是只有最后几个文件更改丢失。 因此你可以尝试把文件取出。
但是,如果文件是数据,你怎么知道它是否是正确的或没有被破坏本身。
当然,期刊腐败也可能隐藏了更严重的磁盘问题。
在这一点上,我的想法是要确保数据的完整性,您可能需要重新运行模拟。