大索引节点有什么好处吗?(分机4)

Anu*_*nul 6 linux performance filesystems ext4

从一些模糊的记忆中,我以为我会“改进”创建 Linux 分区时的默认设置,并将 inode 大小增加到 1024,并且还打开-O bigalloc(“此 ext4 功能启用集群块分配”)。

但现在,我找不到网上引用的这些设置的任何具体好处,而且我发现,在 20% 的磁盘使用率下,我已经使用了 15% 的索引节点。

那么我应该简单地重新格式化分区,还是有积极的看法(或用作理由)?例如,对于包含大量文件的目录?

Gil*_*il' 6

如果您有许多包含大量元数据的文件,则较大的索引节点会很有用。最小的索引节点大小可以容纳经典元数据:权限、时间戳等,以及常规文件的几个块的地址或短符号链接的目标。更大的 inode可以存储扩展属性,例如访问控制列表和SELinux 上下文。如果 inode 中没有足够的空间来容纳扩展属性,则必须将它们存储在单独的块中,这会使打开文件或读取其元数据的速度变慢。

因此,如果您计划拥有大量扩展属性(例如复杂的 ACL),或者您正在使用 SELinux,则应该使用更大的 inode 大小。SELinux 是更大 inode 的主要动机。

  • 我认为最近的内核版本是可能的。此外,您还可以将文件数据直接存储在索引节点中,这对于非常小的文件(完全适合索引节点)具有显着的好处。我不太清楚,最近没跟上。 (2认同)