デフォルトでは、ext2 とその後継は、root ユーザーが使用するためにファイルシステムの 5% を予約します。これにより、断片化が減少し、管理者またはルート所有のデーモンが作業するスペースがなくなる可能性が低くなります。
これらの予約済みブロックにより、root として実行されていないプログラムがディスクをいっぱいにすることを防ぎます。これらの考慮事項が容量の損失を正当化するかどうかは、ファイルシステムの用途によって異なります。
5% という金額は、ディスクがはるかに小さかった 1980 年代に設定されましたが、そのまま残されました。現在では、システムの安定性にはおそらく 1% で十分です。
予約は -m
で変更できます tune2fs
のオプション コマンド:
tune2fs -m 0 /dev/sda1
これにより、予約済みブロックの割合が 0% (0 ブロック) に設定されます。
(とりわけ) 現在の値を取得するには、次のコマンドを使用します:
tune2fs -l <device>
まだ話されていないもう 1 つのポイントは、ファイル システムで予約する inode の数です。
デフォルトでは、mkfs は多数の inode を作成します。これにより、ファイル システムに非常に小さなファイルを大量に配置できるようになります。ファイルが非常に大きくなり、FS に配置するファイルの数が少ないことがわかっている場合は、inode の数を減らすことができます。
気をつけて!この数 (スペースと inode 数の比率) は、ファイル システムの作成時にのみ設定できます。 FS を延長しても比率は変わりません。
保存するデータが圧縮可能な場合、compress=zstd
でマウントされた btrfs (または compress-force=zstd
) はおそらく ext* よりも大幅に少ないディスク容量を使用するでしょう*
- これにより、btrfs はデータをディスクに書き込む前に透過的に圧縮し、読み取るときに透過的に解凍します。また、ext4 はファイルシステムの作成時にすべての i ノードを事前に割り当てます。btrfs は必要に応じてそれらを作成します。これにより、スペースも節約できると思います。