notby.NET Logo

Использование TMPFS в FreeBSD 14

Файловая система TMPFS создает временное хранилище в оперативной памяти сервера. Использовать TMPFS в FreeBSD полезно для продления жизни SSD накопителя, так как временные файлы будет хранится в оперативной памяти. Так же перенос операций записи на диск и чтение с диска в оперативную память бывает эффективно, если хостинг провайдер VDS ограничивает количество операций для диска.

1. Включение TMPFS в FreeBSD

В последних версиях FreeBSD файловая система TMPFS уже включена в стандартное ядро, и включать её не нужно.

При сборке своего ядра FreeBSD для работы TMPFS добавляем строку в конфигурационный файл ядра

options		TMPFS

Если ядро собрано без поддержки временной файловой системы, то включить TMPFS можно подгрузив модуль ядра.

Включаем модуль ядра tmpfs до перезагрузки сервера

kldload tmpfs

Чтобы модуль ядра tmpfs автоматически загружался при загрузке сервера открываем файл /boot/loader.conf

nano /boot/loader.conf

Добавляем строку

tmpfs_load="YES"

Сохраняем файл. Теперь модуль ядра будет автоматически загружатся. Включать модуль ядра tmpfs нет смысла, если ядро собрано с поддержкой TMPFS.

2. Монтирование TMPFS в FreeBSD

Временную файловую систему TMPFS логично использовать для каталогов и файлов который нужны на временной основе:

  • /tmp - каталог для временных файлов в системе;
  • /var/run - каталог для PID процессов и sock файлов;
  • любой произвольный каталог, только он обязательно должен существовать на диске.

Открываем файл монтирования /etc/fstab

nano /etc/fstab

Добавляем строки монтирования каталогов в оперативную память

tmpfs	/tmp		tmpfs	rw,mode=1777,size=1G	0	0
tmpfs	/var/run	tmpfs	rw,mode=1755,size=32M	0	0

Доступные опции монтирования для tmpfs:

  • rw - разрешено запись и чтение;
  • mode - права доступа к разделу. Если не указывать, будут использованы права каталога на диске;
  • size - размер раздела в оперативной памяти. Если не указывать, раздел будет во весь объем оперативной памяти.
FreeBSD, открыт файл /etc/fstab в текстовом редакторе nano, добавлены строка “tmpfs /tmp tmpfs rw,mode=1777,size=1G 0 0” и “tmpfs /var/run tmpfs rw,mode=1755,size=32M 0 0”

Внимательно вноси данные в файл /etc/fstab, потому что можно сломать загрузку FreeBSD.

Сохраняем файл и перезагружаем сервер

shutdown -r now

Проверяем что разделы смонтированы в оперантную память

mount -p
Вывод списка монтирования командой “mount -p” в FreeBSD, каталоги /tmp и /var/run смонтированы в файловую систему tmpfs

3. Временное монтирование TMPFS в FreeBSD

Можно смонтировать каталог временно в оперативной памяти, до перезагрузки компьютера.

Создаем каталог на диске для монтирования или используем существующий

mkdir -p /filecache

Монтируем каталог в оперативную память

mount -t tmpfs tmpfs /filecache

Раздел /filecache будет смонтирован размером во всю оперативную память.

После использования, можно размонтировать раздел

umount /filecache

Затем удалить каталог с диска, если это необходимо

rm -rf /filecache