1

Amazon EBS を使用して、多数の小さなファイル (<10KB) を 3 レベルのディレクトリ構造に保存しています。

~/lists# df -h
使用されたファイルシステムのサイズ アベイルの使用% マウント
/dev/sda1 9.9G 3.9G 5.5G 42% /
tmpfs 854M 0 854M 0% /lib/init/rw
varrun 854M 64K 854M 1% /var/run
varlock 854M 0 854M 0% /var/ロック
udev 854M 80K 854M 1% /dev
tmpfs 854M 0 854M 0% /dev/shm
/dev/sda2 147G 80G 60G 58% /mnt
/dev/sdj 197G 60G 128G 32% /ボリューム

問題のパーティションは /vol (サイズ: 200GB) です。

~/lists# df -i
ファイルシステム i ノード IUsed IFree IUse% マウント
/dev/sda1 655360 26541 628819 5% /
tmpfs 186059 3 186056 1% /lib/init/rw
varrun 186059 31 186028 1% /var/run
varlock 186059 2 186057 1% /var/ロック
udev 186059 824 185235 1% /dev
tmpfs 186059 1 186058 1% /dev/shm
/dev/sda2 19546112 17573097 1973015 90% /mnt
/dev/sdj 13107200 13107200 0 100% /ボリューム
~/lists# sudo /sbin/dumpe2fs /dev/sdj | grep "ブロックサイズ"
dumpe2fs 1.41.4 (2009 年 1 月 27 日)
ブロックサイズ: 4096

パーティション /vol の inode 数は 13Million+ です。ブロック サイズは 4096 です。ブロック サイズを 4096 とすると、200GB パーティション (ext3) がサポートする必要がある inode の数は 5200 万 + (最大 inode の計算: バイト単位のボリューム サイズ/2^12) です。では、なぜパーティションは 1300 万の inode しかサポートしないのでしょうか?

4

1 に答える 1

2

ボリュームを作成すると(この場合はmfs.ext3を使用して)、iノードが静的に割り当てられると確信しています。なんらかの理由で、mkfs.ext3 は 1300 万の inode を予約することを決定し、これ以上ファイルを作成できなくなりました。

inode に関するこの 2001 年の議論を参照してください。

ウィキペディアの ext3 ページには、これをより簡潔に説明する脚注があります: wiki リンク

また、inode はファイル (ブロックではなく) ごとに割り当てられるため、inode は 13M しかありません。mkfs.ext3 は、表示されている問題を説明する平均ファイル サイズ 8 KB で構成されている必要があります。

于 2010-01-14T06:57:38.920 に答える