Задать вопрос
Driver86
@Driver86
Немодератор toster.ru

Какая файловая система в Linux поддерживает более 4 млрд файлов?

Какая файловая система в Linux поддерживает более 4 млрд файлов?
Как поступают крупные "хостинги фоток", вроде Facebook?
  • Вопрос задан
  • 901 просмотр
Подписаться 3 Оценить 2 комментария
Решения вопроса 6
@pfg21
ex-турист
все зависит от от "длины в байтах" UID файла.
используют файловые системы с динамическим выделением inode (xfs zfs btrfs и т.д. ) или используют распределенные файловые системы.
первые удобны для односерверной конфигурации.
вторые удобны для многосерверных систем (ну это и ежу понятно)
Кста вторые не всегда выглядят как полноценная файловая система. как вариант, самописная система управления файлами в виде бд, которая по уникальному идентификатору файла выдает URL, по которому его можно найти. а уж на серверах локальное количество файлов влезает в какие-либо рамки.
Ответ написан
Комментировать
jamakasi666
@jamakasi666 Куратор тега Linux
Просто IT'шник.
Какая файловая система в Linux поддерживает более 4 млрд файлов?

К примеру zfs имеет космические возможности.
Как поступают крупные "хостинги фоток", вроде Facebook?

Ставят кучу серверов и распределяют между ними как то так(очень простой пример и чаще всего все намного сложнее):
1) имеется куча серверов с именами типа n1.example.com ,n2.example.com, n3.example.com
2) на балансировщике example.com решается на какой сервер загружать картинку.
3) кроме того имеется дедублицирующий алгоритм\фс . Т.е. к примеру перед загрузкой картинки считается ее sha хэш и если такой уже есть то просто возвращается ссылка иначе загружается и возвращается ссылка.
Ответ написан
Комментировать
@cssman
крупные хостинги имеют кучу сервер нод
Ответ написан
Комментировать
@protven
Посмотрите в сторону XFS. Но есть мнение что одним лишь выбором "правильной" файловой системой вы не обойдетесь.
Ответ написан
Комментировать
@awdemme
Ну например, ВКонтакте под хранение фото вообще не используются огранизация файлов в каталогах файловых систем.

Система там такая:

Очередное добавленное фото пишется на диск. Грубо говоря в один файл.
Отдельно сохранются в БД метаданные.
Следующее фото дописывается после предыдущего.
Фото никогда не удалаются, просто корректируются метаданные.

P.S.:
Сбор мелких файликов в один большой и работа с ним одним как с набором мелких файликов используются в ИТ уже много десятков лет.

UPD:
Так ведь проблема не только в количестве файлов.

Есть еще проблема фрагментации, когда куча места будет пропадать просто так.
Дело в том, что файловые системы хранят информацию блоками.
Например, блок 4 килобайта. Это или один файл или часть одного файла. Но не 2 разных файла.
Пишем 10 файлов по 1 килобайту. Занято 10 блоков. В них 10 килобайт полезных данных. Но все 10 блоков считаются занятыми и более не могут использоваться ни под что иное. То есть 40 килобайтов. 10 полезных. И 30 просто так.
Ответ написан
icCE
@icCE
youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
Какая файловая система в Linux поддерживает более 4 млрд файлов?
Как поступают крупные "хостинги фоток", вроде Facebook?


Крупные игроки обычно используют распределенные ФС. Например Facebook использует hdfs из Hadoop.
В yandex используют блобы (и не только они) - яркий пример - reverbrain.com/eblob
Можно смотреть в сторону ceph и других.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы