web-dev-qa-db-ja.com

Linux:iノードのサイズを変更する理由

Tune2fsでは、iノードサイズをデフォルト(ext3では128バイト、ext4では256バイト)からほとんどすべてに変更できますが、2の累乗である必要があります。デフォルトのiノードサイズを変更する理由は何ですか?

ここ これは、inode内にACL属性を格納できるようにするために実行できると書かれています。 iノード内に他に何を格納できますか?

最近の大容量ドライブ(2TB以上)のiノードサイズを増やす理由はありますか?

12

デフォルトでは、mkfs.ext2/3/4の現在のバージョンはデフォルトで256バイトのiノードサイズになっていると思います(/etc/mke2fs.confを参照)。このIIRCは、ext4を使用してナノ秒のタイムスタンプを有効にします。そして言うまでもなく、より多くの拡張属性がiノード内に収まります。そのような拡張属性は、たとえば、ACL、SELinuxラベル、いくつかのSamba固有のラベルです。

もちろん、より大きなiノードは少しスペースを浪費し、それらを大きくすると、リターン領域がかなり速く減少します。ほとんどの場合、デフォルトの256バイトはおそらく完全に適切な妥協案です。

8
janneb

256のiノードサイズではGrubは機能しないため、128を使用しています。

0
mathew

Ext4オプションinline_data(Linux 3.8の新機能)を使用すると、iノードサイズが大きくなるという新しい正当な理由があります。このオプションを指定すると、ファイルの内容をファイルのiノードに格納できます(ファイルが十分に小さい場合)。これにより、1回のシーク操作が回避されます。このための実際のベンチマークはまだ見ていません。

0
Sven