ファイルシステムのサイズはどのように定義されますか?

ファイルシステムのサイズはどのように定義されますか?

man resize2fs説明する

resize2fsプログラムは、ext2、ext3、またはext4ファイルシステムのサイズを変更します。デバイスにマウントされていないファイルシステムを拡大または縮小するために使用できます。 ...このsizeパラメーターは、要求されたファイルシステムの新しいサイズを指定します。

size指定するパラメータをどのように選択しますかresize2fs?だけでなく:

ファイルシステムのサイズはどのように定義されますか?

外部断片化および/または内部断片化も計算されますか?外部断片化を計算せずに内部断片化を計算する場合は、resize2fs既存のファイルが変更または削除されない限り、ファイルシステムのサイズは同じでなければなりません。

それは重要ですか?デフラグなどの inode を格納するために使用されるスペースとルートで使用されるスペース

df「使用済み」列にgparted各ファイルシステムのサイズが表示されますか?size選択したパラメータに「使用された」数字を使用できますかresize2fs?の「使用済み」列には、df同じgpartedパーティションに対して異なる使用番号が表示されますが、その理由は不明です。

ありがとうございます。

ベストアンサー1

resize2fs(および他の同様のツール)で使用されるファイルシステムのサイズmke2fsは、ファイルシステムの外部サイズです。つまり外部で占めるスペースの量を見てください。ファイルシステムの内部データ構造はここでは重要ではありません。ファイルシステムのすべて(メタデータ、データ、およびファイルシステムの未使用領域)は、ファイルシステムのサイズに適しています。これには、設定可能なファイルシステムと同じパーティションでホストされているすべてのブートローダも含まれます。Ext2/3/4付属、たとえば、XFSには適用されません。

ファイルシステムの現在のサイズを決定する最良の方法は、ファイルシステムから読み取ることです。たとえば、ext2/3/4 ファイルシステムでは、ブロック数にブロックサイズを掛けることができます。

dumpe2fs -h /path/to/file/system | grep -E 'Block (count|size):'

デフォルトでは、ファイルシステムのサイズは通常、そのコンテナのサイズです。例えばこれには、パーティションまたは論理ボリュームが含まれます。resize2fsサイズを明示的に指定しないと、この値が使用されます。size指定は、ファイルシステムとそのコンテナを縮小したい場合に便利です。まずresize2fs、ターゲットサイズで実行し、一致するようにコンテナ(パーティション、論理ボリュームなど)を縮小します。

ファイルシステムを縮小できる最小サイズを決定する最善の方法は、それresize2fs自体を使用することです。

resize2fs -M -P /path/to/file/system

使用されるブロックサイズを決定するために、最小のファイルシステムが占めるブロックの数を示します。

dumpe2fs -h /path/to/file/system | grep Block\ size

以下を追加して計算の詳細を取得できます-d 32

resize2fs -d 32 -M -P /path/to/file/system

ファイルシステムの最大サイズは通常、そのコンテナ(パーティションまたは論理ボリューム)のサイズです。パーティションまたは論理ボリュームのファイルシステムは、パーティションまたは論理ボリュームより大きくすることはできません。ファイルシステムが拡張できる範囲を制限する他の制約があるかもしれません。 (画像ファイルに保存されているファイルシステムは動作が異なり、resize2fsファイルサイズが大きくなったり縮小したり、ファイルシステムのサイズに合わせて変更されます。)

おすすめ記事