XFS 空间满了,inode 也满了?怎么会发生这种事?

XFS 空间满了,inode 也满了?怎么会发生这种事?
# df . -i
Filesystem                Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vgFOO-lv_bar  53136 52857   279  100% /bar
# df . -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vgFOO-lv_bar   50G   50G   20K 100% /bar
# find . | wc -l
52855
# lsof /bar | grep -i deleted
# 
# findmnt /bar
TARGET SOURCE                    FSTYPE OPTIONS
/bar   /dev/mapper/vgFOO-lv_bar xfs    rw,relatime,attr2,inode64,noquota

所以空间已经满了,索引节点也满了。但从 inode POV 来看,这看起来是错误的,因为那里只有 52855 个文件……我们删除了一些更大的文件,空间再次可用。

问题: 这对 XFS 来说正常吗?如果空间满了,inode 也会达到 100% 吗?

答案1

“XFS 中的索引节点是动态分配的,这意味着与许多其他 Linux 文件系统不同,它们的位置和数量不是在 mkfs 时确定的。”

您的 53,000 个文件耗尽了所有可用空间,没有为新 inode 留下空间。

相关内容