マルチデバイスの btrfs ファイルシステムをディスクパーティションまたは raw デバイスに配置する必要がありますか?

マルチデバイスの btrfs ファイルシステムをディスクパーティションまたは raw デバイスに配置する必要がありますか?

もし私が創作するならマルチデバイスbtrfsファイルシステムドキュメントの公式推奨事項は、raw デバイス (つまり/dev/sdb、、/dev/sdcなど) 上に作成することのようですが、これについては説明されていません。

最初にこれらのデバイス上に GPT または MBR のいずれかのパーティション テーブルを作成し、次に などにファイルシステムを作成することに利点はありますか/dev/sdb1?/dev/sdc1デバイス全体を btrfs に供給すると、特別な利点がありますか、それともこれらは基本的に同等ですか?

答え1

パーティション分割は、ディスクを複数のボリュームに分割して、独立して使用できるようにする方法です。ディスクごとに 1 つのボリュームだけが必要な場合は、パーティション分割しても何のメリットもありません。追加のディスク領域 (非常に小さいですが) が使用されるだけで、4K セクターのハードドライブやフラッシュ ドライブ上のデータの配置などの作業が複雑になります。パーティション テーブルが必要な唯一の理由は、そのドライブから起動するためです。パーティション テーブルが必要ない場合は、省略する方が簡単です。

答え2

パーティション分割には、いくつかの欠点があります。MBR は「トラック」全体を無駄にします。トラックはセクター数とセクター サイズの積ですが、実際のディスクにはセクターがあり、セクター サイズは 512o ではありません。実際のディスクには、回転ディスクの場合は 8 倍、フラッシュ デバイスの場合はさらに大きいブロックがあります。次のトラックにシフトすると、ストライドとストライプを使用して「論理」セクターを実際のブロックに揃えることができなくなる可能性があります。

昔は FAT でセクター サイズを定義できましたが、MBR によってそれができなくなりました。

ディスクから起動する場合、BIOS は最初の 512o の最後にブート署名を必要とします。これにより、ロード時にこれを実行できることが BIOS にわかります。EFI を実行している場合は、酔っ払ってください。システムの起動に使用する場合は、ファイル システムにこのための穴が必要です。

XFS (主に回転ディスクの /var で使用される) には、このような穴はありません。

答え3

私の理解が正しければ、ディスク全体を使用すると、BTRFS はいくつかの仮定を立てて動作を最適化できるようになります。

たとえば、作業に使用できるデバイスが完全に許可されている場合、デバイスへのアクセスを要求するものは何もないと想定でき、デバイス上の他の場所からデータを要求することによって定期的に遅延が発生することを予測したり、他の要求を処理した後でドライブが戻るのを待ったりする必要なく、アクセス方法を調整できます。

答え4

ディスクの読み取り/保存速度を向上させるには、個別のディスクを使用します。

基本的に、/dev/sdaは 1 つのハードディスクであり、は/dev/sda1/dev/sda2同じ物理ディスクの一部です。

/dev/sdaセットアップに、 + を使用すると/dev/sdb、同時に取得できる 2 つの別々のディスクが存在します。

を使用すると/dev/sda1 /dev/sda2、同じディスクが両方を読み取ろうとするため、一方を実行してから他方を実行する必要があります。

関連情報