linux – 数百万个小文件的块大小

我在Debian Wheezy的硬件RAID1(可能是LSI MegaRaid)上有2x 4TB磁盘.物理块大小为4kB.我要存储1.5到2亿个小文件(3到10kB之间).我不是要求性能,而是要求最佳的文件系统和块大小以节省存储空间.
我已经将一个8200字节的文件复制到一个块大小为4kB的ext4上.这需要32kB的磁盘!?记录原因是什么?那么有哪些选项可以为这些小文件节省大部分存储空间?

解决方法

如果我遇到这种情况,我会查看一个数据库,该数据库可以将所有数据存储在一个文件中,并使用基于偏移量的紧凑索引,而不是单独的文件.也许一个有FUSE驱动程序的数据库可以在必要时与它作为文件进行交互,而实际上它们并不是所有BEING单独的文件.

或者,您可以查看文件大小的第60-70百分位,并尝试将该文件大小直接放入文件系统树节点,而不是作为磁盘上的单独块.在每个节点中存储10k可能是一个很大的问题,但如果你可以获得60%-70%的文件,这可能是一个巨大的胜利.

只有某些文件系统可以做到这一点(reiserfs是一个),我猜这一切都取决于百分位数的大小,它是否适合树.你可以调整它.我想尝试将其余部分放入一个区块.

不要担心期刊;无论如何,它们都有一个大小上限.

相关文章

查找全部容器的日志文件 $ sudo find /var/lib/docker/conta...
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型