HowTo

Включение TRIM на SSD с LVM/LUKS

Trim — это полезная ata-команда, которая препятствует деградации производительности SSD-дисков.

Но часто случается, что дистрибутивы не включают ее на разделах.

Первым делом надо ее включить на нативных разделах просто добавив опцию discard к записи в fstab.

UUID=397b890a-c661-47f4-bd2a-2260379f8c6f /boot                   ext4    defaults,discard        1 2

Как поступать с разделами, которые расположены на шифрованных томах или lvm?

Для lvm надо сначала разрешить проброс команды trim к дискам (он запрещен по дефолту).

Правим /etc/lvm/lvm.conf и меняем опцию issue_discards с 0 на 1.

issue_discards = 1

Проверяем

$ sudo fstrim -v /home
 /home: 54,4 GiB (58440941568 bytes) trimmed

Отлично. Но что если разделы расположены на шифрованном томе, который размещен в lvm?

Важно: включение trim для зашифрованных томов может ослабить безопасность шифрования! Так как по перемещенным блокам можно сделать вывод о том, какая файловая система используется.

В /etc/crypttab нужно добавить опцию allow-discard.

luks-xxx UUID=some-uuid none allow-discards

для debian-based дистрибутивов строчка немного меняется

luks-xxx UUID=some-uuid none luks,discard

Теперь надо пересобрать initramfs.

Для rpm-based

$ sudo dracut --force

У fedora 18 есть баг из-за которого нужно указывать пусть к crypttab

$ sudo dracut --force -I /etc/crypttab

Проверим, что ctypttab был успешно добавлен в initrd.

$ sudo lsinitrd |grep crypttab

Теперь нужно заставить систему отправлять trim для томов.

# echo -e "fstrim /\nfstrim /home\nfstrim /boot" > /etc/cron.hourly/fstrim

 

Включение TRIM на SSD с LVM/LUKS: 2 комментария

  1. Информация в этой статье по большей части устарела. Включение опции discard может замедлить работу с SSD и никак не повлиять на срок службы SSD.
    К тому же на некоторых моделей SSD есть баги, из-за которых возможно повреждение данных при использовании опции discard.

    Подробнее написано тут:
    https://wiki.debian.org/SSDOptimization

    Про LVM вообще написана неправда. Опция issue_discards не относится к пробросу операций TRIM с верхнего уровня (ФС/LV) к блочному устройству (PV). Эта опция влияет только на то, будет ли посылаться TRIM если выполняется lvremove, lvreduce.
    Да там в конфиге lvm.conf всё написано.

    1. Согласен, про issue_discards написано неверно.

      Однако, руководство все равно не запрещает включать online-trim при учете, что пользователь ознакомился с предупреждениями.

      Что касается производительности — все зависит от того, как вы используете диск. Для некоторых случаев действительно лучше включить трим по крону и отключить его автоматическое использование.

      Про срок службы в статье не сказано ни слова. Отказ от использования trim ведет лишь к потере производительности на вашем диске. Только и всего.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s