Как лучше всего разместить сотни тысяч мелких файлов для сайта на слабой vds?

Есть 372 тысячи мелких файлов (сжатые тексты).

Нужно получать доступ к ним из кода сайта и показывать пользователю и поисковым системам.

Но распаковать просто в корневой раздел не получается - заканчиваются иноды (inodes).
Может, как-то создать ещё одну фс в файле на основном разделе?
  • Вопрос задан
  • 2494 просмотра
Пригласить эксперта
Ответы на вопрос 2
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Можно, конечно, создать и fs в файле:
$ dd if=/dev/zero of=my_fs bs=1024 count=30720       # создать файло на 30Г
$ losetup /dev/loop0 my_fs                           # создать блочное устройство из файлы
$ mkfs -t ext3 -m 1 -v /dev/loop0                    # создать файловую систему
$ mount -t ext3 /dev/loop0 /mnt/fs_mount_location/   # примонтировать куда следует

А можно файлы положить в базу данных и оттуда вытаскивать.
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
На примере 1гб:
dd if=/dev/zero of=/fs-file.raw bs=4096 count=262144
mkfs.ext4 -i 4096 -F /fs-file.raw
mkdir /fs


Потом в /etc/fstab добавьте такую строку:
/fs-file.raw /fs ext4 rw,relatime,barrier=1,noatime 0 0

И скажите в консоль:
mount -a
В таком случае у вас будет 262133 иноды на гигабайт вместо стандартных ~60к (как в примере выше).

Само собой, можно просто отформатировать нужную файловую систему с опцией -i, если будете переезжать на выделенный сервер.

Ну и да - если такое делать не на ssd, то ощутимо просядет производительность.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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