ファイルシステム作成時のlargefile機能

ファイルシステム作成時のlargefile機能

使用すると便利です-T ラージファイルビデオや flac 形式のオーディオなどの大きなファイルを含むパーティションのファイルシステムを作成するときにフラグを立てますか?

私は同じパーティションをそのフラグありとなしの状態でテストし、tune2fs -l [パーティション]「ファイルシステム機能」で「large_file」が有効になっていることを確認しました。したがって、使用する必要はありません。-T フラグ ラージファイル?

答え1

この-T largefileフラグは、ファイル システムの作成時に割り当てられる inode の数を調整します。一度割り当てられると、その数は調整できません (少なくとも ext2/3 の場合、ext4 については完全にはわかりません)。デフォルトでは、ディスク領域 16K ごとに 1 つの inode です。つまり、1-T largefileメガバイトごとに 1 つの inode になります。

各ファイルには1つのinodeが必要です。inodeが残っていない場合は、新しいファイルを作成することはできません。ただし、静的に割り当てられたinodeもスペースを消費します。ディスク100GBあたり約1.5GBを節約-T largefileデフォルトではなく を設定することによって-T largefile4(4 MB ごとに 1 つの inode)、それほど劇的な効果はありません。

デバイスに保存されるファイルの平均サイズが 1 メガバイトを超えることが確実な場合は、ぜひ を設定してください-T largefile。私はストレージ パーティションでこれを快適に使用しており、それほど極端な設定ではないと思います。

ただし、多数のファイル (数十万個程度) を含む非常に大きなソース tarball をそのパーティションに解凍すると、そのパーティションの inode が不足する可能性があります。その状況では、解凍先の別のパーティションを選択する以外にできることはほとんどありません。

次のコマンドを使用して、ライブ ファイルシステムで使用可能な inode の数を確認できますdumpe2fs

# dumpe2fs /dev/hda5
[...]
Inode count:              98784
Block count:              1574362
Reserved block count:     78718
Free blocks:              395001
Free inodes:              34750

ここでは、まだ 34,000 個のファイルを作成できます。

mkfs.ext3 -T largefile -m 0100 GB のパーティションで実行した結果は次のとおりです。

Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/loop1              102369       188    102181   1% /mnt/largefile
/dev/loop2              100794       188    100606   1% /mnt/normal

ラージファイル バージョンには 102,400 個の inode があり、通常のバージョンでは 6,553,600 個の inode が作成され、その過程で 1.5 GB が節約されました。

ファイルシステムに配置するファイルのサイズがわかっている場合は、-iスイッチを使用して inode の量を直接微調整できます。これは inode あたりのバイト数比率を設定します。 を使用すると、100 万を超えるファイルを作成しながらも、75% のスペース節約が得られます-i 65536。私は通常、少なくとも 100,000 の inode を空けておくように計算します。

答え2

まったく異なる独立した 2 つの概念を混同していると思います。

large_filedumpe2fs の出力で確認できる機能は、このファイルシステムが 2 GiB を超えるファイルを保持できることを意味しており、これは最新のカーネルによって自動的に設定されていると思います。これは のオプションとは関係ありませ-Tmke2fs

関連情報