恢复到“btrfs check --repair”之前的还原点

恢复到“btrfs check --repair”之前的还原点

如何btrfs check --repair在没有完整dd备份的情况下使操作可逆?

使用以下内容是否足够:

btrfs-image -w <device> <image-file>

也可能使用-t <#-threads>and (最高压缩)?-c9

恢复此图像是否会逆转所有check --repair操作的效果,包括

  • --init-csum-tree
  • --init-extent-tree

有什么用

答案1

我不熟悉 btrfs 的详细信息,但我看到损坏文件系统的元数据转储可能不完整的风险。

我建议您dmsetup设置一个快照设备并btrfs check --repair在快照上运行,您可以将其丢弃,以便获得原始状态。

修复运行后,此快照将仅占用很少的空间。

答案2

dmsetup快照(官方文档)可用于存储更改,如果可以接受,则可以将其合并到原始设备中。

这篇 Reddit 帖子有详细的例子。

全部记下dm设置(8)表扇区为 512 字节:

设备是通过加载一个表来创建的,该表指定逻辑设备中每个扇区(512 字节)的目标。

归功于Hauke Laging 使用 dmsetup 的建议

相关内容