Устанавливаем и используем SSD во FreeBSD 9.1

Устанавливаем систему, во время установке создаем нужны нам разделы, отключая опцию soft update journaling и включаем trim для основного раздела /
Swap раздел я сделал 512 МБ, можно было без свапа. Но в него бывает иногда что то записывается, раз так в месяц. Поэтому могут быть проблемы если его не будет.
Смещение должно произойти автоматически если делали через установщик, а не через консольные приложения вида gpart
Когда установили, перезагружались, заходим под root
Проверяем атрибуты раздела:
tunefs -t enable /dev/ada0p2

За место ada0p2 свой основной раздел или все если создавались отдельные разделы для /var /usr /tmp (swap и boot разделы проверять не нужно)
root@localhost:/ # tunefs -p /dev/ada0p2
tunefs: POSIX.1e ACLs: (-a)                                disabled
tunefs: NFSv4 ACLs: (-N)                                   disabled
tunefs: MAC multilabel: (-l)                               disabled
tunefs: soft updates: (-n)                                 enabled
tunefs: soft update journaling: (-j)                       disabled
tunefs: gjournal: (-J)                                     disabled
tunefs: trim: (-t)                                         enabled
tunefs: maximum blocks per file in a cylinder group: (-e)  4096
tunefs: average file size: (-f)                            16384
tunefs: average number of files in a directory: (-s)       64
tunefs: minimum percentage of free space: (-m)             8%
tunefs: optimization preference: (-o)                      time
tunefs: volume label: (-L)

Вот что мы получаем, trim: enabled, soft update journaling: disabled.
Много где написано что отключаем soft updates, я бы не советовал. Так как это задержка записи, что бы не писать сразу, а накапливать достаточно и записывать.
Если этого нет то выполняем команды:
tunefs -t enable /dev/adaxxx
tunefs -J disable /dev/adaxxx
tunefs -j disable /dev/adaxxx

Возможно для команды trim (-t enable) понадобиться загрузиться с live-usb

Далее задействует временную файловую систему tmpfs для каталогов:
/tmp — временная папка
/var/run — папка где лежат pid файлы, должна очищаться при загрузки.
/var/spool — очередь сообщений, печати, почты. (Почта будет отключена, другого нет. Смысла переносить в tmpfs нет)
/var/log — Логи, спорный момент. На моменте настройки трогать не буду, потом возможно просто все логи сделаю только если ошибка.

Необходимо добавить в ядро опцию:
options TMPFS # Временное файловое хранилище.

Хотя оно работает и так, но все же добавим. Пересобираем ядро. (Конфигурация ядра и как его собраться читаем по ссылке: notanony.ru/post/8/)

Редактируем файл /etc/fstab
# Device        Mountpoint      FStype  Options                         Dump    Pass#
/dev/ada0p2     /               ufs     rw,noatime                      1       1
/dev/ada0p3     none            swap    sw                              0       0
tmpfs           /tmp            tmpfs   rw,mode=01777,size=134217728    0       0
tmpfs           /var/run        tmpfs   rw,mode=01755,size=16777216     0       0


mode — права доступа, указываю как было изначально.
size – размер в байтах, для /tmp128 должно хватить, /var/run хватило-бы и 1 мегабайта. Если не указать будет использовать всю доступную память и файл подкачки.
Добавляем еще параметр noatime для нашего основного раздела, не будут записываться последние доступы к файлу.

Пока что я остановился на двух папках, это /tmp и /var/run, позже возможно я буду дописывать статью. Так как будет MySQL которая тоже очень нагружает диск и некоторые другое ПО.

Перезагружаемая, все должно работать. Есть вопросы, замечания, предложения отвечу в комментариях.
0.10
27.07.2013 11:51