Если бы я был в такой ситуации, я бы посмотрел базу данных, которая может хранить все данные в одном файле с компактным индексом на основе смещения, а не в виде отдельных файлов. Может быть, база данных с драйвером FUSE доступна для взаимодействия с ним в виде файлов, когда это необходимо, без того, чтобы все они фактически были отдельными файлами.
В качестве альтернативы вы можете взглянуть на, скажем, 60–70-й процентиль размеров файлов и попытаться приспособить этот размер файла непосредственно к узлам дерева файловой системы, а не как отдельные блоки на диске. Хранение 10 КБ в каждом узле, вероятно, является большой задачей, но если бы вы могли получить 60-70% файлов, это, вероятно, было бы огромным выигрышем.
Только определенные файловые системы могут сделать это вообще (reiserfs - один), и я предполагаю, что все зависит от того, какого размера этот процентиль, будет ли он вписываться в дерево. Вы можете быть в состоянии настроить это. Я думаю, попытаться уместить остальных в один блок.
И не беспокойтесь о журналах; в любом случае они имеют верхний предел размера.