我在一个没有 raid 的 6 磁盘阵列上有一个 btrfs 分区(元数据在 raid10 中,但数据在单个中),其中一个磁盘刚刚坏了。
所以我丢失了一些数据,好吧,我知道。
但有两个问题:
是否有可能(我想使用元数据)知道我丢失了哪些数据?
是否可以在这种设置上执行某种“btrfs 删除丢失”操作,以便恢复对我的其他数据的读写访问,或者我必须将所有数据复制到新分区上
感谢您的任何帮助
(抱歉我的英语不好)
编辑:为了清楚起见,我可以使用 mount -o recovery,ro,degraded 以只读方式安装它
并且 btrfs fi df /Data
Data, single: total=6.65TiB, used=6.65TiB
System, RAID1: total=32.00MiB, used=768.00KiB
Metadata, RAID1: total=13.00GiB, used=10.99GiB
GlobalReserve, single: total=512.00MiB, used=0.00B
答案1
我是一个非常非常幸运的人,我认为我解决了我的问题(感谢 btrfs 邮件列表的帮助)。
在我的情况中,“btrfs-debug-tree -t 3 /dev/sda6”没有在任何地方提及丢失的磁盘(数据或元数据)。因此丢失的设备中什么都没有。
因此,使用此补丁允许我以降级模式在 rw 中安装阵列,这很简单,btrfs device remove missing
就搞定了。
因此我的阵列已修复并且我的数据似乎很好(正在进行清理)
然而,我学到的一件事是,单一模式永远不应该被使用。