iノードについて
Ubuntuでは、各ファイルとディレクトリはinode
と呼ばれます。 df -i
を使用して、使用中のすべてのマウント済みファイルシステムで使用可能なiノードの数を確認できます。
質問
新しいEXT4パーティションを作成する場合、デフォルトのiノード数が使用されますが、通常の条件下ではこれで十分です。しかし、何百万もの小さなファイルを生成するシステムを実行している場合、余分な数のiノードを含む新しいEXT4パーティションを作成するにはどうすればよいですか?最大は何ですか?
コメント
mkfs -t ext4 -N iNumberOfINodes /dev/XdY
を使用する場合、iNumberOfINodes
は32ビットの数値であるため、ext2/3/4ファイルシステムで可能なiノードの最大数は2 ^ 32-1または4,294,967,295(約40億)です。
Mkfs.ext4のマニュアルページを参照してください。
man mkfs.ext4
オプション-N
を使用すると、ファイルシステムで作成されるiノードの数を設定でき、オプション-I
を使用するとサイズを増やすことができます(ファイルのより多くの拡張属性を処理できます)。ファイルシステムを作成するときに、状況に合わせて調整します。
それは常に、iノードとブロックサイズの間のトレードオフです。 32ビットが最大ですが、実際の最大はディスク/ファイルシステムのサイズをブロックサイズで除算した値に依存します。各ファイルは少なくとも1ブロックです。 iノードあたりのブロック数を決定するグループサイズを指定することもできます。 (つまり、バイト/ inode)
特定のディスクサイズとブロックサイズに割り当てることができるiノードの数を決定するすべてのこと。
パフォーマンスとファイル容量のトレードオフでもあります。ブロックサイズが小さいと、大きなファイルが断片化され、ファイルをロードするためにより多くのI/O操作が必要になります。
カスタマイズする場合は、読み上げる必要があります。さもないと、あなたが望んでいたものにまったくふさわしくないファイルシステムになってしまいます。