Linux:为什么更改inode大小?


12

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

这里写道,可以这样做是为了能够将ACL属性存储在inode内。索引节点中还可以存储什么?

是否有任何理由增加现代​​大容量驱动器(2TB及以上)的inode大小?


1
我知道将inode大小更改为128字节的原因-Ext2IFS将不再能够挂载您的分区。如果使用此驱动程序从Windows访问Linux分区,则应注意将inode大小保持在128字节。
DevSolar 2010年

@DevSolar如今[在2015年],Ext2IFS已过时,而ext3也已过时:-) 如何在Windows上读取ext4分区?。ext4默认为256,以存储一些新文件属性。
富兰克林·皮亚特

Answers:


8

我认为默认情况下,当前版本的mkfs.ext2 / 3/4默认为256字节的inode大小(请参见/etc/mke2fs.conf)。这个IIRC通过ext4启用了纳秒级的时间戳,正如您所说,更多的扩展属性适合inode。例如,此类扩展属性包括ACL,SELinux标签,一些Samba特定标签。

较大的inode当然会浪费一点空间,并且随着它们的增大,您很快就会陷入收益递减的领域。在大多数情况下,默认的256字节可能是一个很好的折衷方案。


在我使用CentOS 5.3的系统上,默认情况下inode的大小为128。
弗拉迪斯拉夫·拉斯特鲁尼(Fladislav Rastrusny),2010年

1
@FractalizeR。是的,RHEL / CentOS 5上的mke2fs可以追溯到2006年。我认为默认值在几年前发生了变化,有时是在ext4宣布稳定的时候。
janneb

1
在CentOS 5.5上,/ etc / mke4fs.conf确实将默认inode大小指定为256。–
sciurus

0

使用ext4选项inline_data(Linux 3.8中的新增功能),有一个较大的inode大小有新的好理由:使用此选项,文件内容可以存储在文件的inode中(如果文件足够小)。这避免了一次寻道操作。我还没有看到任何实际的基准测试。


0

Grub无法使用256的inode大小,因此我使用的是128。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.