ext4 空きブロックまたはオーバーヘッドクラスタ

ext4 空きブロックまたはオーバーヘッドクラスタ

ルートスペースを予約せずにまれな16GBファイルにext4ファイルシステムを作成すると、実際に利用可能なサイズは15.58GBです。なぜこれが起こるのですか?私が使用したコマンドは次のとおりです。

fallocate -l 16G test.img
mkfs -t ext4 -m 0 test.img
mount test.img test

tune2fsには4096(ブロックサイズ)を掛けて1024^3で割ってGB単位の値を得ることができる値があり、Overhead clusters: 109857欠けている〜0.41GBを取得します。https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layoutオーバーヘッドクラスタリングについて非常に奇妙なことを言いました。

fsのオーバーヘッドブロック/クラスタ。 (はいこのフィールドは常にゼロです。これはカーネルが動的に計算することを意味します。)

どういう意味ですか?この問題に関連していますか?インストールされたイメージの合計サイズが16 GBになるには、Fallocateでどのサイズを設定する必要がありますか?

ベストアンサー1

「オーバーヘッドクラスタ」は、ファイルシステムがディスクを管理するために使用するすべてのメタデータです。通常、ext4の最大のコンポーネントはinodeテーブルとログですtune2fs

デフォルトの inode_ratio は 16KiB です。これはあなたの例で1M inode x 256バイトを提供し、これは不思議な0.41GiBの0.25です。

起動時にinode番号とログサイズを設定できます。ファイルシステムが作成されました。。以前のコメント作成者が指摘したように、これをゼロに設定することはできません。

おすすめ記事