根据kernel.org,可以将牙科存储在树中而不是列表中,但是您需要在inode结构中启用此标志(EXT4_INDEX_FL)。我默认启用了此功能,还是必须使用一些标志来格式化分区?
我需要存储很多小文件(同样的旧问题),每个小文件约130k,我知道这将有助于加快查找速度,并且建议将这些文件存储在2级目录层次结构中。如果要存储接近60.000.000的此类文件,我是否还需要考虑其他事项,以免崩溃? (也许还有其他一些值,例如块大小,组中的块数)
e2fsprogs套件将此选项称为dir_index
。默认情况下已启用它,您可以通过以root用户身份运行tune2fs -l DEVICE
来验证文件系统上是否已启用它。
确实,建议您手动分片文件,以使同一目录中没有大量文件。尽管使用B树使操作O(log n)代替O(n),但对于大量文件,操作仍然可能很昂贵。
[如果您知道将要创建大量文件,则可以使用-i
选项将inode比率设置为4096;这将创建更多的inode,以便您可以容纳更多文件。您还可以在/etc/mke2fs.conf
中查看大量情况的通用设置。