首页 > 解决方案 > ext4 为目录条目启用哈希

问题描述

根据kernel.org的说法,可以在树中而不是列表中存储树状结构,但您需要在 inode 结构中启用此标志 (EXT4_INDEX_FL)。我默认启用了这个,还是我必须用一些标志格式化我的分区?

我需要存储许多大约 130k 的小文件(相同的旧问题),我知道这将有助于加快查找速度,并且建议将这些文件存储在 2 级目录层次结构中。如果要存储接近 60.000.000 个此类文件的内容,我是否还需要考虑其他一些事情,以免发生这种情况?(可能是块大小的其他值,组中的块数)

标签: linuxfilesystemsstorageext4

解决方案


e2fsprogs 套件将此选项称为dir_index. tune2fs -l DEVICE它默认启用,您可以通过以 root 身份运行来验证它是否在文件系统上启用。

确实建议您手动对文件进行分片,这样您就不会在同一目录中拥有大量文件。虽然使用 B-trees 使得操作 O(log n) 而不是 O(n),但对于大量文件,操作仍然可能很昂贵。

如果您知道要创建大量文件,可以使用-i选项将 inode 比率设置为 4096;这将创建更多的 inode,以便您可以保存更多文件。您还可以在 中查看大量情况的常用设置/etc/mke2fs.conf


推荐阅读