如何重新添加现有(丢失的)BTRF 设备而不先将其删除

如何重新添加现有(丢失的)BTRF 设备而不先将其删除

我向 BTRFS 池(第四个设备)添加了一个新 HDD,20 分钟内一切正常,然后 Arch Linux 将其报告为只读文件系统。我错误地重新启动并且系统拒绝启动(在维护菜单处停止),因此我注释掉了 BTRFs FSTAB 条目并重新启动正常。现在我们看到

sudo btrfs filesystem show Label: none  uuid: 8dac8c7b-e793-4b32-8085-05acb581c7ea
        Total devices 4 FS bytes used 21.28TiB
        devid    1 size 7.28TiB used 7.12TiB path /dev/sdd
        devid    2 size 7.28TiB used 7.11TiB path /dev/sdc
        devid    3 size 7.28TiB used 7.11TiB path /dev/sdb
        *** Some devices missing

设备 4 具有元数据,因此我不想删除它并重新添加。有没有一种方法可以重新添加而不先删除?请注意,这是同一个驱动器,如果我尝试将其添加到池中,它会要求 -f 强制覆盖驱动器。是否可以不进行覆盖,以便它读取驱动器并意识到它是池的一部分。

答案1

我遇到了类似的情况,有效的方法是使用丢失但不是真正的磁盘的开发路径卸载并重新安装:

mount /dev/sdb2 /media/source # (no good)
umount /media/source
mount /dev/sdc2 /media/source # (good)

希望能帮助到你。顺便说一句,btrfs device scan一直没有给我展示任何东西。

答案2

我这样做了:

$ sudo btrfs filesystem show /mnt/btrfs/
Label: none  uuid: 162e1cf7-d4f7-4421-80e4-1b88123ace02
    Total devices 2 FS bytes used 588.05GiB
    devid    1 size 1.24TiB used 590.01GiB path /dev/sdc3
    *** Some devices missing

$ sudo btrfs replace start -B 2 /dev/sdd3 /mnt/btrfs

相关内容