100,000,000個のファイルを収容するためのext4ファイルシステムの設定iNodeの問題

100,000,000個のファイルを収容するためのext4ファイルシステムの設定iNodeの問題

ext4 fsを含むRHEL 9があります。

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1        2048 1258291199 1258289152  600G 83 Linux

すでに100,000,000個のファイルを保存できるInodeを備えたext4が必要でした。 +

mkfs.ext4 -N 2000000000 /dev/sdb1 を実行できると思いました。

しかし、パーティションをマウントすると十分なinodeが得られます。

/dev/sdb1 /fileshare マウント

/fileshare には 92 GB のみが表示されます。

mkfs.ext4 /dev/sdb1を実行してマウントすると、/fileshareに560GBが表示されます。これが私が望むものです。大容量ファイル(1億〜5億)を収容するために必要なinodeの数をどのように取得できますが、まだ560 GBのディスクがあります。サイズ?

答え1

なぜ-N 2000000000?あなたの質問によると、20億個ではなく約1億個を目指しています。必要以上に20倍以上のinodeを要求しています。この問題を解決すると、合理的な結果が得られます。

しかし、ここにはファイルサイズに関して大きな問題があります。たとえ最小1kB/ファイル多くのファイル(kBあたり約4xのinodeを含む)を保存するには約125GBのストレージのみが必要で、2x10^9 inodeの例を使用すると2.25TBになります。少なくとも。

答え2

それぞれ256バイトの20億個のinode、つまり476GBのinodeが必要です。要件が5億の場合、inodeスペースが120GBしかない方がはるかに優れています。 inodeのサイズを小さくすることもできますが、-I 128ここには制限があります。mkfs.ext4mke2fs詳細は/マンページ

私はそのオプションだけを使い、-i bytes-per-inodeあなたが良いバランスを得ると信じています。

関連情報