RAID-1 で障害が発生した Btrfs ドライブをライブで交換できますか?

RAID-1 で障害が発生した Btrfs ドライブをライブで交換できますか?

ファイルシステムを決定しようとしていますが、ダウンタイムなしで btrfs RAID 内の故障したドライブを交換できるかどうかを知りたいです。

  1. 次のコマンドを使用して新しいbtrfsファイルシステムを作成するとします。

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. さて、ある日/dev/sdc故障したとします。 2 つの可能性があります。徐々に故障し、SMART エラーが表示される可能性があります。この状況では、 を使用して新しいデバイスを追加しbtrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt、 を使用して古いデバイスを削除できますbtrfs device delete /dev/sdc /mnt

  3. しかし、突然障害が発生し、読み取り不能になった場合は... Web 検索によると、この状況では、まずファイルシステムをアンマウントし、劣化モードでマウントし、新しいデバイスを追加してから、不足しているデバイスを削除する必要があります。

    umount /mnt
    mount -o degraded /dev/sdb /mnt
    btrfs device add /dev/sdf /mnt 
    btrfs device delete missing /mnt
    

アンマウントは明らかに破壊的な操作なので、ダウンタイムが発生します。ファイルシステムを使用しているアプリケーションはすべて I/O エラーになります。しかし、btrfs が現在開発中であることを考えると、btrfs に関するこの種の「チュートリアル」は時代遅れに見えます。

質問は、btrfs の現在の状態を考慮すると、これをオンライン、つまりアンマウントせずに実行できるかどうかです。

そうでない場合、このニーズを満たすことができるソフトウェアのみのソリューションはありますか?

答え1

Linux 3.8 では、btrfs replace mountpoint old_disk new_diskが追加されました。最新のカーネルを実行している場合は、必要な機能が提供されます。

関連情報