Linuxのext4ファイルシステムで「extents」機能は何をしますか?

Linuxのext4ファイルシステムで「extents」機能は何をしますか?

圧縮、暗号化、および次の機能をサポートするext4ファイルシステムについて読んでいます。範囲ディスク容量を節約するために使用されます。エクステントとは何ですか?ディスクスペースの節約にどのくらい効果的ですか?

ベストアンサー1

範囲は、大容量ファイルのデータブロックを追跡するために必要なメタデータの量を減らします。アイデアは、ファイルを構成する個々のブロックのリストを保存するのではなく、連続する各ブロック範囲の最初のブロックと最後のブロックのアドレスのみを保存することです。これらの連続したデータブロック範囲(およびそれを表す数値ペア)を呼び出します。範囲

ファイルの最初の数ブロックのアドレスは inode に保存されますが、inode サイズは固定されているため、小さなファイルでのみ機能します。 ext2またはext3では、大容量ファイルを使用する必要があります。間接ブロックinode自体に合わないブロックアドレスリストの残りの部分を格納します。つまり、インデックスノードには、ブロックリストを含むブロックのアドレスが含まれます。これらは呼び出されます間接ブロック。これらの追加ブロックは通常、範囲を使用する場合には必要ありません。範囲を保存するには、説明するブロック範囲のサイズに関係なく、一定量のスペースが必要になるためです。

非常に断片化されたファイルには、まだ追加のメタデータブロック(ext4が呼び出すもの)が必要な場合があります。範囲ノード)長い範囲のリストを保存するために使用されますが、通常必要なものよりはるかに少ないです。

ただし、メタデータサイズの縮小は通常、ファイルサイズと比較してかなり小さいです。範囲の主な目的は、スペース自体を節約するのではなく、パフォーマンスを向上させることです(断片化を減らし、読み書きするメタデータブロックを減らすこと)。

おすすめ記事