Linuxでディスクiノード数を増やす方法


Linuxのディスク上のパーティションに新しいファイルシステムが作成され、カーネルがファイルシステムの初期構造化中にiノード用のスペースを確保する場合。ファイルシステム内のiノードの数はファイルの数に直接影響します(つまり、iノードの最大数、つまりファイルの最大数は、ファイルシステムの作成時に設定されます)。

推奨読書:ルートパーティションの合計iノードを取得する方法

ファイルシステム内のすべてのiノードが使い果たされると、ディスクに使用可能なスペースがあっても、カーネルは新しいファイルを作成できません。この短い記事では、Linuxのファイルシステムでiノードの数を増やす方法を紹介します。

パーティション上に新しいファイルシステムを作成する場合、 -i オプションを使用して、iノードあたりのバイト数(バイト/ iノード比)を設定できます。iノードあたりのバイト数の比率が大きいほど、作成されるiノードは少なくなります。

次の例は、4GBパーティションでiノードあたりのバイト数が少ないEXT4ファイルシステムタイプを作成する方法を示しています。

$ sudo mkfs.ext4 -i 16400 /dev/sdc1

注:ファイルシステムが作成されると、iノードあたりのバイト数の比率を変更することはできません(再フォーマットしない限り)。ファイルシステムのサイズを変更すると、この比率を維持するためにiノードの数が変更されます。

これは、iノードあたりのバイト数の比率が大きい別の例です。

$ sudo mkfs.ext4 -i  196800 /dev/sdc1

さらに、 -T フラグを使用して、ファイルシステムの使用方法を指定し、 mkfs.ext4 がバイトを含むその使用に最適なファイルシステムパラメーターを選択できるようにすることもできます。 -iノードあたりの比率。構成ファイル /etc/mke2fs.conf には、サポートされているさまざまな使用タイプと他の多くの構成パラメーターが含まれています。

次の例では、コマンドは、ファイルシステムを使用して、それぞれ1MiBおよび4MiBごとに1つのiノードのより適切な比率を提供するlargefileおよびlargefile4を作成および/または格納することを指示します。

$ sudo mkfs.ext4 -T largefile /dev/device
OR
$ sudo mkfs.ext4 -T largefile4 /dev/device

ファイルシステムのiノードの使用状況を確認するには、 -i オプションを指定してdfコマンドを実行します( -T オプションはファイルシステムのタイプを示します)。

$ df -i
OR
$ df -iT

この記事についてのあなたの考えを知りたいです。以下のフィードバックフォームを使用して、私たちに連絡してください。詳細については、 mkfs.ext4 のマンページを参照してください。