Inode number is the unique ID for each file in a Linux system. Every Linux system has a fixed number of inodes that determines the maximum number of files that it can support. When a file is created, it is assigned a file name and inode number. If your Linux system runs out of Inode numbers then you will not be able to create any new files on it, even if you have disk space available. In this article, we will look at how to increase inode limit in Linux.
How to Increase Inode Limit in Linux
Here are the steps to increase Inode Limit in Linux. Generally, when we create a new filesystem, the system administrators use -i option to keep aside some bytes-per-inode to store inode numbers. If you use many bytes per inode then you can store only limited number of inodes on disk.
Please note, once you have created a filesystem, its number of inodes remain fixed and cannot be changed unless you re-format it.
Here is an example to set a small bytes per inode number when you create a new filesystem. This will create large number of inodes in your system.
$ sudo mkfs.ext4 -i 16000 /dev/sdev
In the above example, we have set 16000 bytes per inode.
Here is another example with large byte space for inode, which will result in lesser number of inodes.
$ sudo mkfs.ext4 -i 196000 /dev/sdev
You can also configure your filesystem’s config file to set how to handle large files. Open mke2fs.conf file in a text editor and make changes as per your requirement.
$ sudo vi /etc/mke2fs.conf
You may also issue the following command from terminal using -T flag to configure how your filesystem handles large files.
$ sudo mkfs.ext4 -T largefile /dev/device OR $ sudo mkfs.ext4 -T largefile4 /dev/device
In the above code we use largefile and largefile4 settings that stores 1 inode per 1Mb and 4Mb respectively.
If you want to check the number of inodes available and used you can do so with the following command.
$ df -i
You will see the following kind of output
Filesystem Inodes IUsed IFree IUse% Mounted on udev 250472 308 250164 1% /dev tmpfs 254091 480 253611 1% /run /dev/xvda1 1024000 352097 671903 35% / tmpfs 254091 1 254090 1% /dev/shm tmpfs 254091 4 254087 1% /run/lock tmpfs 254091 18 254073 1% /sys/fs/cgroup /dev/loop0 10794 10794 0 100% /snap/core18/2066 /dev/loop1 12850 12850 0 100% /snap/core/11316 tmpfs 254091 11 254080 1% /run/user/1000
That’s it. In this article, we have looked at how to increase inode number of disk. It is important to set this at the time of file system creation, since you cannot change it without re-formatting the disk. Also it is a static number that does not change dynamically.
How to Enable HAProxy Stats
How to Convert DEB to RPM Files in Linux
How to Configure Access Control Lists (ACL) in Linux
How to Concatenate Multiple Lists in Python
How to Get MD5 Hash of String in Python