![RAID-1 で障害が発生した Btrfs ドライブをライブで交換できますか?](https://rvso.com/image/1388783/RAID-1%20%E3%81%A7%E9%9A%9C%E5%AE%B3%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%9F%20Btrfs%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96%E3%82%92%E3%83%A9%E3%82%A4%E3%83%96%E3%81%A7%E4%BA%A4%E6%8F%9B%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
ファイルシステムを決定しようとしていますが、ダウンタイムなしで btrfs RAID 内の故障したドライブを交換できるかどうかを知りたいです。
次のコマンドを使用して新しいbtrfsファイルシステムを作成するとします。
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
さて、ある日
/dev/sdc
故障したとします。 2 つの可能性があります。徐々に故障し、SMART エラーが表示される可能性があります。この状況では、 を使用して新しいデバイスを追加し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 の現在の状態を考慮すると、これをオンライン、つまりアンマウントせずに実行できるかどうかです。
そうでない場合、このニーズを満たすことができるソフトウェアのみのソリューションはありますか?
答え1
Linux 3.8 では、btrfs replace mountpoint old_disk new_disk
が追加されました。最新のカーネルを実行している場合は、必要な機能が提供されます。