首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用重复块引用恢复JFS分区

使用重复块引用恢复JFS分区
EN

Server Fault用户
提问于 2012-12-21 17:57:54
回答 1查看 723关注 0票数 3

在服务器崩溃后,我无法在Linux上挂载JFS分区。jfs_fsck工具返回

代码语言:javascript
复制
Duplicate block references have been detected in Metadata.  CANNOT CONTINUE.
processing terminated:  <date> <time>  with return code: 10060  exit code: 4.

12 of分区保存了科学计算的结果,这些结果可以在几个星期内复制,并且不被备份。虽然我不能排除一些不可复制的数据的可能性,因为用户的疏忽。

我恢复分区的计划如下:

  1. 重播日志并挂载分区只读。
  2. 将可以读取的文件复制到另一个文件系统
  3. 使用jfs_fsck -v识别具有重复引用的块
  4. jfs_debugfs识别与这些块对应的节点
  5. 使用find -inum查找与inode对应的文件系统对象
  6. 使用jfs_debugfs完全取消对象的链接
  7. 再次运行jfs_fsck,希望它不会出错。

这个计划只在第(1)至第(4)步完成。它首先失败在步骤(5)中,在运行了几个小时后,find似乎没有得到一个inode,并且可能永远运行。在复制文件时,我发现一些目录的B+trees变成了循环图,所以目录遍历不可能终止。

我直接跳到步骤(6),首先断开目录,在那里我可以找到损坏的结构。但这无助于使jfs_fsck运行到完成。然后,我删除了除根目录条目之外的所有目录。然而,jfs_fsck仍未完成。

我想我不仅要编辑目录结构,还要编辑块分配映射。然而,我无法找到一种使用jfs_debugfs来实现它的方法。

是否有工具可以帮助使具有重复块引用的分区易于恢复?

EN

回答 1

Server Fault用户

发布于 2012-12-21 18:34:50

如果您完全可以挂载磁盘R/O,则可能会尝试复制可能的数据。如果日志已损坏,则可能只丢失了最后几个文件更改。因此,您可以尝试将文件取出。

然而,如果该文件是数据,您如何知道它是完全正确的或没有损坏自己。

当然,日志的损坏也可能隐藏一个更严重的磁盘问题。

在这一点上,我的想法是,为了确保数据的完整性,您可能需要重新运行模拟。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/460085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档