FreeBSD Memory Disk. SSD быстрые, но с относительно низким ресурсом. И если мы говорим про сервер на котором активно используются операции не только чтения.. Возникает вопрос сохранности ресурса. Используем RAM? Рассмотрим на примере Freebsd..

Freebsd: Разделы в памяти с резервированием на диске (12.1+)

Что имеем: операционную систему Freebsd 13.2 (на момент написания статьи самая актуальная, надёжная и быстрая), много оперативной памяти на борту и хорошие диски SSD

Суть идеи: все что активно пишет на диск — перенести в память (RAM), тем самым не только повысить скорость работы, но и увеличить ресурс дискового массива (SSD тут будет очень показателен)

Важно: ваш сервер или рабочая станция должны быть прикрыты по питанию через линейный ИБП

Особенность реализации: изменения в размещённом разделе в памяти будут синхронизированы в автоматическом режиме (как минимум при перезагрузке)

А теперь последовательность ваших действий:

  • Добавить в /boot/loader.conf и перегрузить сервер/рабочую станцию:
    geom_md_load="YES"
    geom_md="YES"
    md_load="YES"
  • Добавить: mdconfig_md0="-t vnode -f /razdel.img" в /etc/rc.conf (имя img должно, но не обязано, «намекать» на конечную точку монтирования)
  • Создать образ будущего раздела в памяти:
    dd if=/dev/zero of=/razdel.img bs=1M count=10240 (count — размер образа в Mb)
  • Создать устройство и подключить к нему созданный выше раздел:
    mdconfig -a -t vnode -f /razdel.img -u0
  • Создать файловую систему на созданном разделе:
    newfs /dev/md0
  • Установка автоматического монтирования раздела при загрузке: добавить в fstab строчку:
    /dev/md0 /var/log ufs rw,late 1 0 (/var/log заменяем на вашу точку монтирования, late — монтирование с задержкой, важное для md)
  • Перезагрузить компьютер/сервер

Дополнительно: если вы заменяете существующую точку монтирования — сделайте ее копию)

Update: не делайте монтирование внутри другого монтирования (но вы же знали об этом?)

UNIX