btrfs が一致しないドライブで raid1 を生成できるのはなぜですか?

btrfs が一致しないドライブで raid1 を生成できるのはなぜですか?

以下を使用してbtrfsを作成しています。

sudo mkfs.btrfs -m raid1 -d raid1 <small-disk> <large-disk> or
sudo mkfs.btrfs -m raid1 -d raid1 <large-disk> <small-disk>

作成されるファイルシステムは、2つのディスク/パーティションを合わせたサイズと同じですが、

 btrfs fi df <mountpoint>

データ、システム、メタデータのRAID1の提供

これはどのように正しいですか?

mdadmに似た方法はありますか?

cat /proc/mdstat

btrfsが何をしているのか、私のraid1が安全であることを確認してください。あまり重要なデータではないのでbtrfsを使うことができますが、失いたくありません。

ベストアンサー1

メーリングリストに質問して答えを見つけました。

btrfsは、ボリュームごとにRAIDを実行せず、ブロックごとにRAIDを実行します。ファイルシステムは、(pe)1GBブロック単位で「raw」スペースを予約します。 raid1を使用してfsを初期化することは、ブロックを割り当てようとするたびにそのブロックのコピーを別のデバイスに割り当てようとすることを意味します。

アーキテクチャはさまざまなサイズのデバイスを可能にし、将来の機能にはファイル固有のRAIDレベルを含めることができます。

ディスプレイデバイスで現在df利用可能な生空間の量で、すべてのデバイスサイズの合計です。ブロックサイズを1 GBと仮定すると、raid1-btrfsに5 MBのファイルのみを書き込むと、元のスペースが2 GB減少します。これが、btrfsに実用的btrfs fi dfな使用法を提供するコマンドが含まれている理由です。将来の進捗状況をより正確に表示するように調整することができます。

おすすめ記事