我的想法是(使用环回设备)它是这样工作的
sudo mkfs.btrfs -m raid1 -d raid1 /dev/loop1 /dev/loop2sudo mount /dev/loop1 /mnt并标记它们touch goodconditionloop2在我的情况下删除磁盘或删除环回设备)-o degraded并再次标记touch degradedsudo btrfs dev add /dev/loop2sudo btrfs fi ba /mnt并且 Raid 1 应该可以再次运行。但事实并非如此。sudo btrfs fi show:
Total devices 3 FS bytes used 28.00KB
devid 3 size 4.00GB used 264.00MB path /dev/loop1
devid 2 size 4.00GB used 272.00MB path /dev/loop2
*** Some devices missing
Run Code Online (Sandbox Code Playgroud)
当以降级模式挂载时,该文件degraded存在loop1但不存在。这是为什么?loop2loop2
小智 5
在这种情况下,您需要做两件事。首先,您需要向 btrfs 指示丢失的设备已永久消失:(btrfs dev delete missing /mnt是missing指示任何丢失设备的关键字)。其次,您需要重新平衡以确保数据正确复制:btrfs fi balance /mnt。