如何创建具有额外大量inode的EXT4分区?

关于inodes

在Ubuntu中,每个文件和目录都是所谓的inode 。 您可以使用df -i检查所使用的inode数量,并且可用于所有已安装的文件系统。

如果您创建一个新的EXT4分区,它将使用默认的inode数,在正常情况下应该足够。 但是,如果运行生成数百万个小文件的系统,那么如何创建具有大量inode的新EXT4分区? 什么是最大值?

评论

  • 在创建EXT4分区后,您无法更改可用inode的数量

使用mkfs -t ext4 -N iNumberOfINodes /dev/XdY其中iNumberOfINodes是32位数,因此任何ext2 / 3/4文件系统上的最大可能inode数为2 ^ 32-1,或4,294,967,295(~40亿) 。

请参见mkfs.ext4的手册页。

 man mkfs.ext4 

选项-N允许您设置在文件系统中创建的inode数量,选项-I允许您增加它们的大小(以便它们可以处理更多文件)。 在创建文件系统时进行调整以适合您的情况。

它总是在inode和块大小之间进行权衡。 32位是最大值,但实际最大值取决于磁盘/文件系统大小除以块大小。 每个文件至少有一个块。 您还可以指定组大小,以确定每个inode的块数。 (即bytes / inode)

所有这些将决定您可以为特定磁盘大小和块大小分配的inode数量。

它也是性能与文件容量之间的权衡。 较小的块大小意味着大文件将被分段,并且需要更多的I / O操作来加载文件。

如果你要定制,你需要阅读,否则你最终会得到一个完全不适合你想要的文件系统。