最初に削除せずに既存の(失われた)BTRFデバイスを再追加する方法

最初に削除せずに既存の(失われた)BTRFデバイスを再追加する方法

BTRFSプール(4番目のデバイス)に新しいHDDを追加し、すべてが20分間正しく機能した後、Arch Linuxは読み取り専用ファイルシステムとして報告しました。誤って再起動しましたが、システムは起動を拒否し(メンテナンスメニューで停止しました)、BTRFの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

関連情報