我在Debian Wheezy上安装了2个4TB磁盘,硬件RAID1(可能是LSI MegaRaid)。 物理块大小是4kB。 我要存储1.5亿到2亿个小文件(3到10kB)。 我并不是要求性能,而是为了最好的文件系统和块大小来节省存储空间。 我已经复制了一个8200字节的文件到块大小为4kB的ext4上。 这花了32kB的磁盘!? 是日记的原因呢? 那么有什么select来保存这些小文件的大部分存储?
如果我在这种情况下,我会看一个数据库,可以存储在一个单一文件中的所有数据与一个紧凑的基于偏移量的索引,而不是单独的文件。 也许有一个FUSE驱动程序的数据库可用于在必要时作为文件进行交互,而没有实际上所有的BEING独立文件。
或者,您可以查看文件大小的第60至第70百分位,并尝试将该文件大小直接放入文件系统树节点,而不是作为磁盘上的独立块。 在每个节点上存储10K可能是一个很大的问题,但是如果能够获得60%-70%的文件,这可能是一个巨大的胜利。
只有某些文件系统可以做到这一点(reiserfs是一个),我想这一切都取决于这个百分点的大小,它是否适合树。 你可以调整它。 我想尝试把其余的部分合并到一个块中。
不要担心期刊; 他们无论如何都有一个大小上限。