在服务器崩溃后,我无法在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.12 of分区保存了科学计算的结果,这些结果可以在几个星期内复制,并且不被备份。虽然我不能排除一些不可复制的数据的可能性,因为用户的疏忽。
我恢复分区的计划如下:
jfs_fsck -v识别具有重复引用的块jfs_debugfs识别与这些块对应的节点find -inum查找与inode对应的文件系统对象jfs_debugfs完全取消对象的链接jfs_fsck,希望它不会出错。这个计划只在第(1)至第(4)步完成。它首先失败在步骤(5)中,在运行了几个小时后,find似乎没有得到一个inode,并且可能永远运行。在复制文件时,我发现一些目录的B+trees变成了循环图,所以目录遍历不可能终止。
我直接跳到步骤(6),首先断开目录,在那里我可以找到损坏的结构。但这无助于使jfs_fsck运行到完成。然后,我删除了除根目录条目之外的所有目录。然而,jfs_fsck仍未完成。
我想我不仅要编辑目录结构,还要编辑块分配映射。然而,我无法找到一种使用jfs_debugfs来实现它的方法。
是否有工具可以帮助使具有重复块引用的分区易于恢复?
发布于 2012-12-21 18:34:50
如果您完全可以挂载磁盘R/O,则可能会尝试复制可能的数据。如果日志已损坏,则可能只丢失了最后几个文件更改。因此,您可以尝试将文件取出。
然而,如果该文件是数据,您如何知道它是完全正确的或没有损坏自己。
当然,日志的损坏也可能隐藏一个更严重的磁盘问题。
在这一点上,我的想法是,为了确保数据的完整性,您可能需要重新运行模拟。
https://serverfault.com/questions/460085
复制相似问题