ファイルシステムに事前定義された空き容量を提供するために必要なext4パーティションのサイズを計算する方法は?

ファイルシステムに事前定義された空き容量を提供するために必要なext4パーティションのサイズを計算する方法は?

質問:ファイルシステムに事前定義された空き容量を提供するために必要なext4パーティションのサイズを計算する方法は?

例:100 GBのスペースを持つファイルシステムが必要なので、dfGPartedの新しいext4パーティションに必要なMiBスペースがどれだけあるかを知りたいです。

df背景:表示されているファイルシステムサイズlsblk -b(1Kブロックは1024バイト)と(1サイズ単位は1バイト)異なることがわかりました。lsblk見せるから理解できますね分割そしてdf表示サイズはファイルシステム(実際にファイルに使用できるスペース)

例:

$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda10      90187896   57032  85506480   1% /home/user

$ lsblk -b
NAME  MAJ:MIN RM        SIZE RO TYPE MOUNTPOINT
sda10   8:10   0 94371840000  0 part /home/user

df-calculation: 90187896*1024 = 92352405500 bytes
lsblk:                          94371840000 bytes
overhead:                       1 - 92352405500/94371840000 ~ 2.14%

デフォルトのext4構成(GParted、LinuxMintなど)では、ブロック対inode比は4:1、ブロックサイズは4096、inodeサイズは256なので、データ対inode比は64:1です(ソース:)tune2fs -l。したがって、inodeテーブルはext4ファイルシステムのオーバーヘッドの1.5625%しか占めません。

残りのオーバーヘッドはどこで発生し、どのように計算されますか?さまざまなext4パーティションサイズ(10,000〜380,000MiB)でテストしましたが、オーバーヘッドは〜1.8〜2.3%の間で変動しましたが、パーティションサイズが増加するにつれて減少するように見えました(図を参照)。

ファイルシステムのオーバーヘッド[%]がパーティションサイズ[MiB]を超えています。

注記#1:私の質問は、KiB(21⁰バイト)対KB(103バイト)、MiB(22⁰バイト)対MB(10⁶バイト)、GiB(23⁰バイト)対GB(10⁹バイト)などとは関係ありません。

注#2:これは、に示すように予約されているブロック(デフォルトは5%)とは無関係ですdf

ベストアンサー1

まあ、利用可能最大容量と推定できます[Partition Size] * (1 - inode_size / inode_ratio - reserved-blocks-percentage)。したがって、特定の容量を取得するには..を計算します[Partition Size] = [Capacity] / (1 - inode_size / inode_ratio - reserved-blocks-percentage)。一般的な値については、/etc/mke2fs.confを参照してください。

おすすめ記事