Btrfsは複数のデバイスにファイルを均等に配布します。

Btrfsは複数のデバイスにファイルを均等に配布します。

メタデータRAID1とデータRAID0を含む2つのデバイスにまたがるbtrfsボリュームがあります。ドライブに障害が発生すると、デフォルトのストライプサイズである64 KBを超えるほぼすべてのファイルが破損します。このパーティションはパフォーマンスが重要ではありませんが、スペースを節約する必要があるため、ファイルシステムを再調整してディスク間でファイルを均等に配布することを検討しましたが、同様のものは存在しないようです。究極の目標は、ドライブに障害が発生しても一部のファイルを読み続けることです。

AFAIK は、「シングル」/リニアデータ割り当てを使用してドライブを 1 つずつ充填します。

例:

2つの128KBファイル(file0、file1)を2つのデバイス(dev0、dev1)に書き込みます。

RAID0:

  • ファイル0/ブロック0(64KB):dev0
  • ファイル0/ブロック1(64KB):dev1
  • ファイル1/ブロック0(64KB):dev0
  • ファイル1/ブロック1(64KB):dev1

善意:

  • ファイル0(128KB):dev0
  • ファイル1(128KB):dev0

配布ファイル:

  • ファイル0(128KB):dev0
  • ファイル1(128KB):dev1

似たようなことを達成する方法を知っている人はいますか?それともbtrfs-devsが計画しているのかを知っている人はいますか?

編集:RAIDesqueの事故の範囲を絞り込むには、「ファイルごとの「RAID 0」ストライプ」より「複数のデバイスにファイルを均等に配布する」と呼ぶ方が良いでしょう。これは、「ファイル単位のデバイス切り替え」を意味するのではなく、同じであるためです。 「デバイスを埋める」(例:dev0に1G、dev1に2つの512MB)

答え1

ヒューゴミルズ提供回答btrfsメーリングリストから:

デフォルトでは、「シングル」モードは1GiBブロックを割り当てます。これは私のユースケースには十分です。

関連情報