ファイルシステムを決定しようとしていますが、ダウンタイムなしでbtrfsRAIDの故障したドライブを交換できるかどうか知りたいです。
コマンドを使用して新しいbtrfsファイルシステムを作成するとします。
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
ここで、ある日/dev/sdc
が失敗したとします。 2つの可能性があります:徐々に失敗し、S.M.A.R.T.エラーが表示されます-この状況では、btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt
で新しいデバイスを追加してから、btrfs device delete /dev/sdc /mnt
で古いデバイスを削除できます。
しかし、突然失敗して読み取り不能になった場合...この状況では、最初にファイルシステムをアンマウントし、劣化モードでマウントし、新しいデバイスを追加してから、不足しているデバイスを削除する必要があると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の現在の状態を考慮して、これをオンラインで、つまりアンマウントせずに行うことは可能ですか?
そうでない場合、このニーズを満たすことができるソフトウェアのみのソリューションはありますか?
Linux 3.8では、btrfs replace mountpoint old_disk new_disk
が追加されました。最近のカーネルを実行している場合は、探している機能が提供されます。
小さな修正、現在の構文は次のとおりです。
btrfs replace start OLDDEV NEWDEV MOUNTPOINT
その後、背景。
ステータスはで確認できます
btrfsはステータスMOUNTPOINTを置き換えます
これにより、置換操作の継続的に更新されるステータスが表示されます。