そのため、4つのドライブbtrfs RAID10アレイでファイルシステムエラーが発生し始め、btrfsck
これを正常に修正できませんでした(無限ループに陥り、数日間同じ出力が生成されます)。
ほとんどのデータはまだ読みやすいので、ファイルシステムを再構築するのが最も賢明なアプローチのようです。
保有しているスペアドライブがないことを考慮すると、これまでの計画は次のとおりです。
- 冗長性を排除し、RAID10をRAID0に「変換」して2つのドライブを解放します。
- 新しく解放されたドライブを再フォーマットします。
- 古いファイルシステムから読み取ったデータを新しいファイルシステム(
rsync
/btrfs send | btrfs receive
)にコピーします。 - Nukeレガシーファイルシステム。
- 既存のドライブを新しいファイルシステムに追加し、RAID10でバランスを再調整します。
問題は何を最初にすべきかである。私が理解しているように、btrfs device delete
これはRAID1プロファイルを常に満足させようとしているので、これには適していません。そして、実行する必要があるデータのランリング量を最小限に抑えるために削除できる2つのドライブをどのように見つけることができますか?
答え1
RAID10からRAID0に変換するには:
man btrfs-balance
ほとんどのタスクを実行するコマンドに慣れるには、実行してください。一部のカーネルバージョン固有のアラート、混合ブロックを使用するかどうかに関するアラートもあります。- ファイルシステムのメタデータとデータを変換するために使用されます
btrfs balance start -mconvert=raid0 -dconvert=raid0 /path
(システムブロックも変換されます)。マニュアルに示すように、ストリップ変換には各ドライブに多くの空き容量が必要なため、メタデータとデータを別々に変換する必要があります。 - 問題のあるデバイスを取り外すために使用されます
btrfs device delete /dev/somedevice
。
使用量に基づいて削除するドライブを決定するには、次のものを使用できます。btrfs fi usage /path