btrfs RAID10をRAID0に変換

btrfs RAID10をRAID0に変換

そのため、4つのドライブbtrfs RAID10アレイでファイルシステムエラーが発生し始め、btrfsckこれを正常に修正できませんでした(無限ループに陥り、数日間同じ出力が生成されます)。

ほとんどのデータはまだ読みやすいので、ファイルシステムを再構築するのが最も賢明なアプローチのようです。

保有しているスペアドライブがないことを考慮すると、これまでの計画は次のとおりです。

  1. 冗長性を排除し、RAID10をRAID0に「変換」して2つのドライブを解放します。
  2. 新しく解放されたドライブを再フォーマットします。
  3. 古いファイルシステムから読み取ったデータを新しいファイルシステム(rsync/ btrfs send | btrfs receive)にコピーします。
  4. Nukeレガシーファイルシステム。
  5. 既存のドライブを新しいファイルシステムに追加し、RAID10でバランスを再調整します。

問題は何を最初にすべきかである。私が理解しているように、btrfs device deleteこれはRAID1プロファイルを常に満足させようとしているので、これには適していません。そして、実行する必要があるデータのランリング量を最小限に抑えるために削除できる2つのドライブをどのように見つけることができますか?

答え1

RAID10からRAID0に変換するには:

  1. man btrfs-balanceほとんどのタスクを実行するコマンドに慣れるには、実行してください。一部のカーネルバージョン固有のアラート、混合ブロックを使用するかどうかに関するアラートもあります。
  2. ファイルシステムのメタデータとデータを変換するために使用されますbtrfs balance start -mconvert=raid0 -dconvert=raid0 /path(システムブロックも変換されます)。マニュアルに示すように、ストリップ変換には各ドライブに多くの空き容量が必要なため、メタデータとデータを別々に変換する必要があります。
  3. 問題のあるデバイスを取り外すために使用されますbtrfs device delete /dev/somedevice

使用量に基づいて削除するドライブを決定するには、次のものを使用できます。btrfs fi usage /path

関連情報