如果我增加 ext4 分区,是否会增加可用 inode 的数量?

如果我增加 ext4 分区,是否会增加可用 inode 的数量?

如果我创建一个小型文件系统,并在需要时扩展它,那么 inode 的数量会按比例增加吗?

我想将 Docker 与覆盖存储驱动程序一起使用。这可能会非常消耗 inode因为它使用硬链接来合并较低层。 (原始的aufs驱动程序有效地堆叠了联合挂载,这不需要额外的inode,但会在运行时引起额外的目录查找)。编辑:硬链接本身不使用额外的索引节点,我只能认为问题是额外的目录必须创建哪些。

(封闭式问题这里。我相信答案是不正确的。然而它说问题已经结束,我需要创建一个新问题)。

答案1

是的。看man mkfs.ext4

-i bytes-per-inode

指定字节/索引节点比率。 mke2fs 为磁盘上的每个 inode 字节空间创建一个 inode。每个 inode 的字节数比率越大,创建的 inode 就越少。该值通常不应小于文件系统的块大小,因为在这种情况下,将创建比可以使用的更多的 inode。请注意,文件系统创建后无法更改该比率,因此请谨慎确定该参数的正确值。请注意,调整文件系统大小会更改 inode 数量以维持此比率。

我通过实验验证了这一点,将大小从 1G 调整到 10G 并查看tune2fs /dev/X | grep Inode. inode 数量从 64K 增加到大约 640K。

我相信这是使用“块组”的 Unix 文件系统的自然结果。分区被分为块组,每个块组都有自己的索引节点表。当您扩展文件系统时,您将添加新的块组。

相关内容