首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >修正btrfs "btrfs父传递验证失败.“

修正btrfs "btrfs父传递验证失败.“
EN

Stack Overflow用户
提问于 2017-09-28 15:03:06
回答 5查看 18.4K关注 0票数 9

btrfs fi show显示所有btrfs文件系统,但也显示了许多错误,例如:

父传递验证失败于109973766144 -1823年发现

文件系统仍然可以卸载和重新安装。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-09-28 15:06:46

浏览网页时,我发现很多答案建议使用btrfs-zero-log清除btrfs的内部日志。我认为btrfsck可以帮上忙,但最终我发现了正式建议,即首先启动一个 https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-scrub,然后再采取其他行动!

因此,如果您仍然可以挂载您的文件系统,只需运行btrfs scrub /path/to/mountpoint即可。也许在我的案子里起作用了。

票数 4
EN

Stack Overflow用户

发布于 2021-03-22 12:25:17

小心btrfs-零日志

btrfs-零日志文档清楚地指出,它不是一个通用的工具:

btrfs-零日志并不是一个通用的修复工具,尽管许多人都相信它,并且在互联网上声明了这一点。你一般不需要用它。

这种工具只有一个用例:当您有BTRFS: failed to read log tree日志时。

usebackuproot修复父传递验证失败错误

3.2linux内核于2012年1月推出 recovery选项。然后,2016年5月推出了4.6版的“它被取代了 by usebackuproot”。如果您感兴趣,也可以看到承诺

文档清楚地解释了它所做的事情:

代码语言:javascript
运行
复制
usebackuproot
nousebackuproot

    (since: 4.6, default: off)

    Enable autorecovery attempts if a bad tree root is found at mount time.
    Currently this scans a backup list of several previous tree roots and
    tries to use the first readable. This can be used with read-only mounts as well.

    Note: This option has replaced recovery.

正式常见问题部分注记声明这是修复“父传递”错误的正确方法:

如何从“父传递验证失败”错误中恢复? 例如: parent transid verify failed on 29360128 wanted 1486656 found 1486662 如果第二个数字(想要1486656和发现1486662)紧密地在一起(大约在20之间),那么用 -o ro,usebackuproot 也许能帮上忙。如果它在只读挂载中是成功的,那么在没有ro选项的情况下再试一次,以获得读写挂载。 --如果usebackuproot链接不工作,那么FS基本上是当前状态下的不可恢复的,使用当前的工具。您应该使用btrfs还原刷新备份,然后从备份恢复。

要使用的命令

这些命令只是Fedora安装上失败的btrfs磁盘的例子。用设备替换/dev/sda2,用挂载点替换/sysroot

首先在只读模式下尝试:

代码语言:javascript
运行
复制
mount -t btrfs -o ro,usebackuproot /dev/sda2 /sysroot

如果这有效,请在没有readonly命令的情况下再试一次:

代码语言:javascript
运行
复制
mount -t btrfs -o usebackuproot /dev/sda2 /sysroot

如果这样做有效,您应该能够引导您的Linux。

票数 7
EN

Stack Overflow用户

发布于 2018-01-22 13:47:09

我也遇到了类似的情况:

  1. 日志中满是parent transid verify failed on 109973766144 wanted 1823 found 1821
  2. dmesg充满了BTRFS info (device sda): no csum found for inode 16485445 start 73728BTRFS warning (device sda): csum failed ino 16485465 off 36864 csum 2268363541 expected csum 0

my system的配置

  1. 有3个nfs股份的NAS
  2. BTRFS文件系统
  3. Rockstor操作系统
  4. RAID 10设置

附加信息

  1. btrfs挂载变为只读。
  2. btrfs- ERROR: scrubbing /dev/md124p2 failed for device id 1: ret=-1, errno=5失败

我通过删除nfs导出来解决这个问题。从/etc/export/然后重新装订卷,瞧,一切都很好

更新2018年1月29日:工作了几天就回到了原来的状态

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

https://stackoverflow.com/questions/46472439

复制
相关文章

相似问题

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