ext4:inode 耗尽

gue*_*tli 9 linux filesystems ext4 inode

我的 inode 快用完了。只有11%可用:

the-foo:~ # df -i 
Filesystem               Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/system-home 9830400 8702297 1128103   89% /home
Run Code Online (Sandbox Code Playgroud)

有没有办法在不创建和复制到新分区的情况下解决这个问题?

细节:

the-foo:~ # tune2fs -l /dev/mapper/system-home
tune2fs 1.42.6 (21-Sep-2012)
Filesystem volume name:   <none>
Last mounted on:          /home
Filesystem UUID:          55899b65-15af-437d-ac56-d323c702f305
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              9830400
Block count:              39321600
Reserved block count:     1966080
Free blocks:              22958937
Free inodes:              2706313
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1014
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Tue Jul  8 08:02:22 2014
Last mount time:          Sun Apr 24 22:33:00 2016
Last write time:          Thu Sep  8 09:18:01 2016
Mount count:              11
Maximum mount count:      10
Last checked:             Tue Jul  8 08:02:22 2014
Check interval:           0 (<none>)
Lifetime writes:          349 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       2759586
Default directory hash:   half_md4
Directory Hash Seed:      e4402d28-9b15-46e2-9521-f0e25dfb58d0
Journal backup:           inode blocks
Run Code Online (Sandbox Code Playgroud)

如果需要更多详细信息,请告诉我。

use*_*517 14

有没有办法在不创建和复制到新分区的情况下解决这个问题

不,inode的数量是在创建文件系统时,作为固定手册页说:

请注意,在创建文件系统后无法扩展文件系统上的 inode 数量,因此请谨慎确定此参数的正确值。


Cri*_*gie 5

大多数情况下没有,但在您的情况下,您使用了 LVM,并且有一个 LV(逻辑卷)用于家庭。

如果您运行 pvdisplay并寻找“空闲范围”,则可以运行lvexpand以增加主 LV 的大小,然后运行resize2fs

缺点是您只能以与当前文件系统已有的速度相同的速度添加 inode。

你需要做的是找到哪个目录有很多文件,然后决定是否需要它们

一个 0 字节的文件将使用一个 inode。

$ ls -la /home drwxr-xr-x 194 criggie criggie 28672 Sep 8 18:13 criggie drwxr-xr-x 2 statler statler 4096 Dec 13 2015 statler drwxr-xr-x 2 wakdorf waldorf 4096 Dec 21 2014 waldorf

注意到第二列中的194了吗?这表明该目录中有很多正在使用的 inode。 cd进入该目录并重复。

我怀疑您有一个临时目录或包含数千个小文件的目录,这些文件可能会被清除。

  • 不,'ls -l' 的第二列是该文件的(硬)链接数。对于一个目录,它是子目录的数量 + 2。(D 的每个子目录都有一个引用 D 的 `..` 条目,也加 1 表示目录自己的 `.` 条目,加上 1 表示它的实际名称。) (5认同)