ext4ファイルシステムの最大inode制限-誰でも説明できますか?


16

最近、ext4ファイルシステムの1つが、more than 6mln in this case十分なスペースがあるにもかかわらず、非常に多くのファイルを処理できないように見えるという問題がありました。それ6mlnは最大数ですか、ext4ファイルシステムはすべてのデフォルト設定でフォーマットされたときに持つことができますか?Googleで試してみましたが、決定的な答えは得られませんでした。ここにいる人は誰でもこれに光を当てることができますか?乾杯!!

回答:


20

デフォルトはありませんのような ext4のためには、それは、デバイスのサイズと作成時に選択したオプションによって異なります。を使用して既存の制限を確認できます

tune2fs -l /path/to/device

例えば、

root@xwing:~# tune2fs -l /dev/sda1
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name:   <none>
Last mounted on:          /

[lots of stuff snipped]

Inode count:              1277952
Free inodes:              1069532
Inodes per group:         8192
Inode blocks per group:   512

[lots of stuff snipped]

ごとに man mkfs.ext4

-i iノードあたりのバイト数

バイト/ iノードの比率を指定します。mke2fsは、ディスク上のiノードあたりのバイトのスペースごとにiノードを作成します。iノードあたりのバイト数が大きいほど、作成されるiノードは少なくなります。通常、この値は、ファイルシステムのブロックサイズより小さくするべきではありません。その場合、使用できるよりも多くのiノードが作成されるからです。ファイルシステムの作成後にinodeの数を増やすことはできないため、このパラメーターの正しい値を慎重に決定するよう注意してください。


6

ファイルシステムのフォーマット方法によって異なります。使用tune2fs -l <device>すると、デバイスにあるiノードの数、場合によっては約600万iノードを見つけることができます。すべてのファイルまたはディレクトリはiノードを使用します。

私の知る限り、inodeの数を増やす唯一の可能性は、ファイルシステムを再フォーマットすることです。の-iパラメーターをmkfs使用して、バイト/ iノードの比率を指定できます。デフォルト値は/etc/mke2fs.conf(私のシステムでは:16384)で定義されています。

バイト/ iノードの比率が大きいほどiノードが少なくなり、iノードが小さいほど小さくなります。ほとんどの場合、デフォルト値で十分に機能しますが、多数の小さなファイルがある場合、制限に達する可能性があり、小さいバイト/ inode比率でファイルシステムをフォーマットする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.