Linux:为什么要改变inode的大小?

Tune2fs允许将inode大小从默认值(ext3上的128个字节,ext4上的256个字节)更改为几乎任何值,但应该是2的幂。 更改默认inode大小的原因是什么?

这里写的是可以这样做,以便能够在inode中存储ACL属性。 还有什么可以存储在一个inode?

现代高容量硬盘(2TB以上)的inode尺寸有没有增加的理由?

我认为默认情况下当前版本的mkfs.ext2 / 3/4默认为256字节的inode大小(请参阅/etc/mke2fs.conf)。 这个IIRC使用ext4可以实现纳秒级的时间戳,正如你所说的那样,更多的扩展属性适合inode。 例如,这样的扩展属性是ACL,SELinux标签和一些Samba特定的标签。

更大的inode当然会浪费一点空间,而当你把它们变大的时候,你将迅速获得收益递减的区域。 在大多数情况下,默认的256字节可能是一个很好的折衷scheme。

使用ext4选项inline_data(Linux 3.8中的新增function),对于更大的inode大小有一个新的理由:给定此选项,文件内容可以存储在文件的inode中(如果文件足够小)。 这避免了一个查找操作。 我还没有看到任何现实世界的基准。

Grub不能以256的inode大小工作,所以我使用128。