私のアイデアは(ループバックデバイスを使用して)このように動作することでした
Sudo mkfs.btrfs -m raid1 -d raid1 /dev/loop1 /dev/loop2
を作成しますSudo mount /dev/loop1 /mnt
をマウントし、touch goodcondition
とマークしますloop2
)。-o degraded
をマウントし、再度マークtouch degraded
Sudo btrfs dev add /dev/loop2
Sudo 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
ファイルdegraded
は、loop1
が劣化モードでマウントされている場合、loop2
には存在しますが、loop2
には存在しません。何故ですか?
3番目のデバイスを追加したように見えるため、元の2番目のデバイスはまだありません。新しいデバイスを追加する前に、不足しているデバイスを削除する必要があると思います。 brtfsメーリングリストもこの質問をするのに適した場所です。
この状況では、2つのことを行う必要があります。まず、不足しているデバイスが永久になくなっていることをbtrfsに示す必要があります:btrfs dev delete missing /mnt
(missing
は不足しているデバイスを示すキーワードです)。次に、データが適切に複製されるように、バランスを再調整する必要があります:btrfs fi balance /mnt
。