wake-up-neo.com

ext4文件系统最大inode限制-谁能解释一下?

最近,我们遇到了一个问题,其中ext4文件系统之一似乎无法处理大量文件,more than 6mln in this case,尽管有足够的空间。是吗 6mln最大数目,使用所有默认设置进行格式化时,ext4文件系统可以具有的最大数目?我尝试使用Google进行搜索,但未得到任何明确的答案。在座的任何人都可以在此遮住一些光线吗?干杯!!

17
MacUsers

Ext4没有默认的因此,它取决于设备的大小和创建时选择的选项。您可以使用以下方法检查现有限制

tune2fs -l /path/to/device

例如,

[email protected]:~# 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每个inode字节

指定字节/索引节点比率。 mke2fs为磁盘上每个字节的每个索引字节空间创建一个索引节点。每inode的字节数比率越大,将创建的inode越少。通常,此值不应小于文件系统的块大小,因为在这种情况下,将产生比可用的更多的inode。请注意,创建文件系统后无法扩展inode的数量,因此请谨慎确定此参数的正确值。

21
EightBitTony

这取决于您格式化文件系统的方式。使用tune2fs -l <device>,您可以找到设备具有的inode数量,根据您的情况,大概为600万个inode。每个文件或目录都使用一个索引节点。

据我所知,增加索引节点数量的唯一可能性是重新格式化文件系统。 mkfs-i参数可用于指定字节/索引节点比率。默认值在/etc/mke2fs.conf中定义(在我的系统上:16384)。

较大的字节/ inode比率定义较少的inode,较小的则定义更多inode。默认值在大多数情况下都能很好地工作,但是如果您有大量的小文件,则可能会遇到限制,并且可能需要使用较小的字节/索引节点比率来格式化文件系统。

6
Oliver