Я собираюсь хранить файлы в одной папке на своем сервере. Количество файлов превысит 2 миллиона. Каждый размер файла будет иметь диапазон от 5–100 МБ.
Какая файловая система может хорошо обрабатывать такой объем данных?
Я знаю, что XFS может обрабатывать очень большие отдельные файлы, может ли он обрабатывать большое количество файлов?
XFS может это принять, но будет лучше, если вы спланируете свой вариант использования. Доступ к этим данным (операции STAT и OPEN) будет происходить быстрее, если в ОС будет меньше индексных дескрипторов для получения данных. Если у вас будет меньше, чем, скажем, 30 КБ файлов / каталогов в данном каталоге, вам не нужно беспокоиться об этой оптимизации.
Но если вы собираетесь больше, вы можете рассмотреть возможность использования -i size=512
вариант, чтобы дать вам больший размер inode. Это позволит разместить больше записей в каталоге на каждый индексный дескриптор, поэтому ОС придется пролистывать меньше, чтобы пройти по дереву. Учитывая нынешние твердотельные накопители, это улучшит ситуацию меньше, чем во времена вращающейся ржавчины; но это оптимизация, которую следует учитывать.
Однажды я управлял файловой системой на основе XFS, в которой было около 20 миллионов файлов при среднем размере файла около 100 КБ. Я спроектировал эту конкретную файловую систему для обработки более 100 миллионов файлов, и когда я покинул эту компанию, она была на пути к достижению этой цели. Это прод-версия системы, которую я описал здесь: Влияние высокого соотношения каталогов и файлов на XFS
XFS - лучший выбор для этого? Тяжело сказать. Но я доверяю этому больше, чем ext4 для больших файловых систем, как вы описываете. btrfs может быть в состоянии принять его, но более консервативная фракция системных операторов еще не считает его готовым к производству.