How can I create an EXT4 partition with an extra large number of inodes?
Solution 1
Using mkfs -t ext4 -N iNumberOfINodes /dev/XdY
where iNumberOfINodes
is a 32-bit number so the maximum possible number of inodes on any ext2/3/4 file system is 2^32-1, or 4,294,967,295 (~4 billion).
Solution 2
See the man page for mkfs.ext4.
man mkfs.ext4
Option -N
allows you to set the number of inodes created in the filesystem, and option -I
allows you to increase their size (so they can handle more extended attributes of files). Adjust to fit your situation when you create the filesystem.
Solution 3
It's always a trade off between inodes and block size. 32-bit is the max, but the actual max depends on your disk/filesystem size divided by block size. Each file is at minimum one block. You can also specify the group size which determines how many blocks per inode. (i.e. bytes/inode)
All that will determine the number of inodes you can allocation for a particular disk size and block size.
It's also a trade off between performance versus file capacity. Smaller block size mean large files will be fragmented and require more I/O operations to load the file.
If you're gonna customize you need to read up or else you end up with a filesystem totally unsuitable for what you thought you wanted.
Related videos on Youtube
bzero
Updated on September 18, 2022Comments
-
bzero over 1 year
About inodes
In Ubuntu, each file and directory is a so-called
inode
. You can usedf -i
to check the number of inodes in use and available for all mounted filesystems.Question
If you create a new EXT4-partition, it uses the default number of inodes, which under normal conditions should be sufficient. However, if you run a system that produces millions of small files, how do you need to create a new EXT4 partition with an extra large number of inodes? What is the maximum?
Comments
- You can NOT change the number of available inodes AFTER the EXT4-partition has been created
-
Rinzwind about 9 years
-
bzero about 9 years@Rinzwind That is not the same question as it only asks how to find the large number of small files... it does not explain how to format a new EXT4 partition with extra large number of inodes. I will reopen my question.
-
bzero about 9 yearsHow can I disable that top banner saying that this question may already have been answered? This is a different question.
-
bzero about 9 yearsThanks, so -N is used at creation time whereas -l can be used to adjust the number of inodes AFTER the partition has been created? I will take a closer look at the man pages now...
-
bzero about 9 yearsAre there any known performance drawbacks when configuring 4,000,000,000 iNodes?
-
Tan Bui about 7 yearsThe
-I
changes the size of each inode in bytes at creation time. It will not allow you to increase the available number of them on existing filesystems. -
dalore almost 7 yearsactually it's not: mkfs.ext4: too many inodes (4294967296), specify < 2^32 inodes
-
Fabby almost 7 years@dalore off-by-one error: 2^32-1... Thanks for the feed-back, answer adapted... :-)
-
dalore almost 7 yearsNote I also tried that, but got another error which wasn't very informative as to what number is accepted.
-
Fabby almost 7 yearshave you tried 2^31???
-
ZN13 almost 5 years
"allows you to increase their size (so they can handle more files)"
Increasing the inode size doesn't mean you can handle more files, the larger the bytes-per-inode ratio, the fewer inodes will be created, meaning fewer files can be handled.