web-dev-qa-db-ja.com

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

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

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

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. ここで、ある日/dev/sdcが失敗したとします。 2つの可能性があります:徐々に失敗し、S.M.A.R.T.エラーが表示されます-この状況では、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の現在の状態を考慮して、これをオンラインで、つまりアンマウントせずに行うことは可能ですか?

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

15

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

11
Brian

小さな修正、現在の構文は次のとおりです。

btrfs replace start OLDDEV NEWDEV MOUNTPOINT

その後、背景。

ステータスはで確認できます

btrfsはステータスMOUNTPOINTを置き換えます

これにより、置換操作の継続的に更新されるステータスが表示されます。

1
Volker