最近我们遇到了这样一个问题,ext4文件系统似乎无法处理大量的文件, more than 6mln in this case ,尽pipe有足够的空间。 最大数量是6 6mln ,使用所有默认设置进行格式化时,ext4文件系统可以有吗? 我试图谷歌,但没有得到任何明确的答案。 任何一个人在这里可以遮光一下吗? 干杯!!
对于ext4,没有默认设置,它取决于设备的大小和创build时select的选项。 您可以使用检查现有的限制
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字节每个inode
指定字节/ inode比率。 mke2fs为磁盘上的每个空间字节数创build一个inode。 每inode字节比率越大,创build的i节点就越less。 这个值通常不应小于文件系统的块大小,因为在这种情况下,将会有比将来更多的inode被使用。 需要警告的是,在创build文件系统后,无法扩展inode的数量,因此请小心确定此参数的正确值。
这取决于你如何格式化文件系统。 使用tune2fs -l <device>你可以find你的设备的inode数量,在你的情况下大概有600万个inode。 每个文件或目录使用一个inode。
据我所知,增加inode数量的唯一可能是重新格式化文件系统。 mkfs的-i参数可用于指定字节/ inode比率。 缺省值是在/etc/mke2fs.conf定义的(在我的系统上:16384)。
更大的字节/ inode比率定义更less的inode,更less的inode。 默认值在大多数情况下工作正常,但是如果您有大量的小文件,则可能会遇到极限,可能需要使用较小的字节/ inode比例来格式化文件系统。