首页 > 解决方案 > “usebackuproot”挂载选项在 BTRFS 上生效后我该怎么办?

问题描述

更改 BCache 缓存设备后,如果没有“usebackuproot”选项,我无法挂载我的 BTRFS 文件系统;我怀疑没有任何磁盘故障的损坏。我尝试重新创建以前的缓存设置,但似乎没有帮助。

那么问题来了,现在呢?两者都btrfs rescue chunk-recover失败btrfs check了,但是使用“usebackuproot”选项我可以以r/w方式挂载它,数据看起来很好,并且btrfs rescue super-recover没有报告任何问题。我目前正在执行清理操作,但还需要几个小时。

我可以信任存储在该文件系统上的数据吗?我在损坏发生前不久制作了一个只读快照,但仍在同一个文件系统中;我可以相信?是否会btrfs scrub或任何其他操作真正检查我的任何文件是否损坏?我是否应该将“usebackuproot”添加到我的 /etc/fstab(和 update-initramfs)中并收工?

标签: linuxfilesystemscorruptionrecoverybtrfs

解决方案


我不知道这是否适用于所有人,但我通过以下步骤保存了我的文件系统*:

  1. mount -o usebackuproot使用†</li> 挂载文件系统
  2. 擦洗挂载的文件系统btrfs scrub
  3. 卸载(或以 ro 身份重新安装)文件系统并运行btrfs check --mode=lowmem‡</li>

*这些步骤假设您无法正常挂载文件系统并且btrfs check失败。否则,请先尝试。

†如果此步骤失败,请尝试运行btrfs rescue super-recover,如果仅此一项并不能解决问题,btrfs rescue chunk-recover.

‡如果发现问题,此命令将不会修复您的文件系统,但否则它会占用大量内存,并且如果在实时映像中运行,则会被内核杀死。如果发现问题,请制作或使用单独的安装来运行btrfs check --repair.


推荐阅读