btrfs(サブ)コマンドドキュメントを読むと、「与えられたレプリケーションプロファイルを使用してブロックグループのみをバランスさせる」だけでなく、「選択したブロックを指定されたプロファイルに変換」することができ、明らかに別のブロックを許可します(ボリューム管理の基本割り当てられた単位)機能セット)には異なる特性があります。しかし、私はそれをどのように活用し、何をすべきか正確にはわかりません。
これが私の考えです:
HDDは3つのパーティションにフォーマットされ、btrfsはメタデータ用のraid5と純粋なデータ用の単一のパーティションを使用して3つのパーティションを使用するように作成されます。
数テラバイトのファイルをドライブにコピーします。
✪「データ」ブロック構成ファイルを変更して、複数のパーティションにわたってストライプします。
作るPAアーカイブこれらのコールドアーカイブファイルに20%の冗長性を提供するには、ファイルを復元します。これらのファイルが追加されると、レプリケーションポリシーが適用され、各ファイルは3つのパーティションに分散されます。通常、効率的なファイルシステム管理が望むように、緊密にグループ化するのではなく、パーティション全体に回復レコードセットを分散させます。
すべてをチェック
✪データ複製プロファイルをRAID5に変更します。
ドライブが「ドック」にある間に新しいファイルを追加でき、ファイルシステムは自動的に2/3冗長性を提供します。
ドライブが取り外され、オフサイトに保管されました。ドライブは毎月交換され、先月に追加されたデータは現在2段階の一部です。隔月のライブドライブを交換しながら、ポリシーをシングルとストライプに切り替えて、手順4を新しい資料に更新したいと思います。
簡単に言えば、異なるサブボリュームに異なるポリシーを割り当てるか、新しい書き込みに適用されるポリシーを変更したいのですが、いいえ既存のブロックに再適用します。
「✪」マークのある部分はどうすればいいですか?
答え1
簡単に答えると、別のサブボリュームに異なるポリシーを割り当てることができないということです。 BTRFSメーリングリストにそれを追加することについて議論がありましたが、進歩はありませんでした。カーネル側には実際に技術サポートがあります。読む複数の異なるデータまたはメタデータプロファイルを含むファイルシステムですが、実際には不可能です。実装するこれは構成です。
さらに、再構築ストライピングを処理するとき、BTRFS(raid5とraid6)のパリティRAIDプロファイルにはいくつかの深刻な問題があります。これは、本質的にデータでロシアンルーレットをプレイしていることを意味します。これらの問題は、パリティRAIDがBTRFSに統合されて以来発生し、少なくともLinux 4.14までは修正されません(現在の進行状況を考慮すると、4.16がより現実的な初期推定であると言いたい)。
これで、プロファイルを変換するためにbtrfs balance
コマンドを使用してこれを行うことができます。メタデータとデータを指定された構成ファイルに変換する基本形式は次のとおりです。
btrfs balance start -dconvert=<profile> -dsoft -mconvert=<profile> -msoft /path/to/filesystem
オプションはデータとメタデータプロファイルを別々に変換するように指示し、オプション-dconvert
は必須プロファイルではなくチャンクでのみ機能するように指示します。バランシング操作は、どのように機能するのに時間がかかる可能性があることに注意してください(デフォルトでは、フィルタで選択したすべての項目を最上位アロケータを介して再送信します)。-mconvert
-dsoft
-msoft