如果 inode 使用率很高,这意味着什么?

如果 inode 使用率很高,这意味着什么?

经过一些谷歌研究,我发现 inode 的使用可能与目录/文件的数量有关。

  • 我猜想存在一个限制(因此决定了 inode 使用率的百分比)。这个限制由什么决定?
  • 如果 Inode 使用率达到 100%,会发生什么情况?

答案1

文件系统使用 inode 来跟踪磁盘上的文件位置。如果您没有更多的 inode,则无法将更多文件写入文件系统,直到有更多可用文件为止。最好在格式化文件系统之前规划好文件系统上要存储的内容,因为对于许多文件系统,您可以选择适合要存储在那里的文件大小的 inode 默认大小(即,较大的文件使用较大的 inode 大小,较小的文件使用较小的 inode 大小),从而最大限度地增加文件系统空间中的文件数量。

答案2

前面的一些答案让你大致了解了发生了什么,但让我们找出如何解决它。我知道你会认为这很迂腐,但让我们从你的文件系统类型开始,并讨论我们在 Linux 下看到的每一个。你的问题被标记为 Linux 很重要,因为其他 *nix 文件系统支持许多其他类型。我不是这些单个文件系统的专家,但我可以快速理解详细的文章,足以抓住重要部分。

ext2/ext3/ext4

Oliver Diedrich 写了一篇题为“调整 Linux 文件系统“这提出了几个非常重要的观点。首先,这些文件系统将 inode 放入磁盘的保留区域中,以便对其进行缓存和快速访问。这个空间的大小是固定的在创建文件系统时。这意味着为了增加它,您将必须 a) 将文件镜像到另一个适当大小的文件系统并进行切换期或 b) 备份文件系统,正确重新创建它,然后恢复文件。

要了解某个文件系统(例如 /dev/sda1)的运行情况,请使用该debuge2fs -h命令并查找有关 inode 的这些行。我的文件系统在 226GB 的文件系统上使用了约 2.4% 的 inode,其中使用了 100GB(Ubuntu 根磁盘)。

   Inode count:              15032320
   Block count:              60113214
   Reserved block count:     3005660
   Free blocks:              32794380
   Free inodes:              14658480

其他人说,当 inode 消失时,它们就消失了。他们不是在开玩笑。我发现一个名为 ext2resize 的工具最终会提供此功能,但作者似乎找到了一份有趣的日常工作,占用了他太多的时间。请参阅常问问题。不要指望 ext2/3/4 能够支持这种增长,因为内核和文件系统社区中的大多数人认为,真正有趣的工作是固态磁盘文件系统以及集群文件系统。ext2/3/4 已经过时了,即使 ext4 相当新。

另一个有趣的注意事项是,您可以尝试针对包含大量文件的目录进行优化。考虑到您认为 inode 会用完,您可能有一些非常长的目录列表。tune2fs -O dir_index /dev/sda1启用 b 树索引而不是标准链接列表模型。请参阅 tune2fs 的手册页或Steve 的帖子在 debian-administration.org 上。

如果您想要使用更多 inode 重新创建文件系统,则必须使用mke2fs -N ___mke2fs 选项(请参阅手册页并使用debuge2fs默认的计算数字)。或者,您可以在使用 mke2fs 选项创建文件系统时更改 inode 与块的比率mke2fs -i ___。我的 Ubuntu 10.04 发行版附带的默认比率为 16384,或者,如果我没有看错的话,每 16384 个数据块(每个 4KB)有一个 256 字节的 inode。新闻阅读器的文件系统的默认比率为 4096 比 1,这是 inode 数量的四倍。

其他文件系统

过去三年,文件系统的流行度呈爆炸式增长。许多文件系统都可以在 Linux 上使用,尽管流行的 ZFS 只能在 Sun 的 Solaris 和 FreeBSD 上使用。在 Linux 下,您可以考虑探索文件系统、ReiserFS 3、西弗斯或者捷豹路虎还有一些商业文件系统会重点考虑可用性和可扩展性,但数量太多,你必须看这里在维基百科。

结论

要么在第一天就让你的 inode 条带足够大来处理你的文件数量,要么移动到可以处理负载的文件系统。

答案3

高 inode 使用率通常表示存在大量小文件(或者可能是文件系统损坏)。

如果 inode 用完了,您将无法创建其他文件,因此无论磁盘实际可用容量是多少(以 MB/GB/TB 为单位),磁盘都将“已满”

答案4

有时,系统管理员可能会设置文件数量的限制,因此这种文件系统上不能有大量的小文件:)

相关内容