Linux:なぜiノードのサイズを変更するのですか?


12

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

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

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


1
iノードのサイズを128バイトから変更しない理由を知ってます-Ext2IFSはパーティションをマウントできなくなります。このドライバーを使用してWindowsからLinuxパーティションにアクセスする場合は、iノードのサイズを128バイトに維持するように注意する必要があります。
DevSolar

@DevSolar最近[2015年]、Ext2IFSは廃止され、ext3も廃止されました:-) Windowsでext4パーティションを読み取る方法 。ext4は、いくつかの新しいファイル属性を格納するためにデフォルトで256に設定されています。
フランクリンピアト

回答:


8

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

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


CentOS 5.3を使用するシステムでは、iノードサイズはデフォルトで128です。
ヴラディスラフラストラスニー

1
@FractalizeR。はい、RHEL / CentOS 5のmke2fsは2006年に遡ります。おそらく数年前、ext4が安定していると宣言されたときにデフォルトが変更されたと思います。
ジャンネブ

1
CentOS 5.5では、/ etc / mke4fs.confはデフォルトのinodeサイズ256を指定します。
sciurus

0

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


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.