最近,我们遇到了一个问题,其中ext4文件系统之一似乎无法处理大量文件,more than 6mln in this case
,尽管有足够的空间。是吗 6mln
最大数目,使用所有默认设置进行格式化时,ext4文件系统可以具有的最大数目?我尝试使用Google进行搜索,但未得到任何明确的答案。在座的任何人都可以在此遮住一些光线吗?干杯!!
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的数量,因此请谨慎确定此参数的正确值。
这取决于您格式化文件系统的方式。使用tune2fs -l <device>
,您可以找到设备具有的inode数量,根据您的情况,大概为600万个inode。每个文件或目录都使用一个索引节点。
据我所知,增加索引节点数量的唯一可能性是重新格式化文件系统。 mkfs
的-i
参数可用于指定字节/索引节点比率。默认值在/etc/mke2fs.conf
中定义(在我的系统上:16384)。
较大的字节/ inode比率定义较少的inode,较小的则定义更多inode。默认值在大多数情况下都能很好地工作,但是如果您有大量的小文件,则可能会遇到限制,并且可能需要使用较小的字节/索引节点比率来格式化文件系统。