Как стать автором
Обновить

Комментарии 15

А у меня такой вопрос — если дёргать fstrim раз в сутки по крону, будут какие-то негативные последствия?
  1. Если контроллёр диска "тупой", то он может заблокировать или снизить приоритет чтения/записи, так как будет стремится очистить все блоки за сутки — их может быть очень много, всё зависит от интенсивности записи/удаления и самого контроллера.
  2. Контроллёр может нагреваться если нет хорошего охлаждения и внутренние алгоритмы, чтобы его остудить будут приостанавливать те или иные процессы, на выбор контроллёра.

discard в этом плане распределенный по времени механизм, без волнообразного эффекта в случае с fstrim

В целом, очень хорошая и детальная инструкция. Но есть пара НО.


По поводу discard на зашифрованных дисках стоит добавить, что это может снизить защищённость. Например, man crypttab содержит такое предупреждение по поводу опции discard:


WARNING: Assess the specific security risks carefully before enabling this option. For example, allowing discards on encrypted devices may lead to the leak of information about the ciphertext device (filesystem type, used space etc.) if the discarded blocks can be located easily on the device later.

И в целом, включать discard от балды не рекомендуется (не зная, как именно работает контроллер Вашего диска), потому что на некоторых типах дисков это может приводить к замедлению работы. По этой причине, например, в Debian (и в Ubuntu), начиная с какого-то времени, по умолчанию используется периодический TRIM вместо discard.

Спасибо за уточнение. В man crypttab я не обнаружил предупредждения для зашифрованных не корневых разделов, однако оно имеет место быть в man crypsetup. Вот оригинальный текст:


--allow-discards
        Allow the use of discard (TRIM) requests for the device.  This option is only relevant for open action.  This is also not supported for LUKS2 devices with data integrity protection.

        WARNING: This command can have a negative security impact because it can make filesystem-level operations visible on the physical device. For example, information leaking filesystem type, used space, etc. may be extractable from the physical device if the discarded blocks can be located later. If in doubt, do not use it.

Это предупреждение было в планах добавить в статью, но при публикации я это упустил. Сейчас статью обновил и добавил эту информацию.

Подскажите, как можно активировать TRIM на дисках (Samsung 850PRO, когда-то они попадали в blacklist ядра на выполнение TRIM), подключенных через контроллер SAS2008? В одно время заметили, что они значительно быстрее других моделей деградируют — и очень вероятно на это влияет отсутсвие TRIM и заполнение данными выше 85-90%. Переключить на SATA не вариант, большое количество дисков в jbod-массиве
Я не включил TRIM. Мне это упростит восстановление данных при сбое? Может лучше пожертвовать скоростью?

Бэкап… Надо делать бэкап, а не шаманить восстанавливая данные.

Если кратко, нет, вряд ли упростит.
Современные контроллеры SSD умеют справляться и без TRIM. Отсюда, я так подозреваю, что они перетасовывают данные в любом случае, а это снижает вероятность успешного восстановления удалённых данных (я так понимаю, вас интересует именно такое восстановление).

Это смотря на каком уровне рассматривать восстановление. Если на уровне ячеек памяти — да, без разницы. А вот на уровне ФС — есть подозрение, что TRIM все-таки усложнит.

Отличная практическая статья, спасибо.
В Ubuntu автоматически включено через fstrim.timer.
Спасибо за статью.

Немного дополню.
У меня Proxmox VE.
Для вкл. TRIM на ВМ:
— тип контроллера — Virtio-scsi\Virtio-scsi single;
— тип диска — scsi;
— в настройках диска ВМ стоит галка на Discard (+ галка на Эмуляция SSD, если диск ВМ располагается на SSD).

Эти настройки обязательны для любых ВМ и независимо от того на SSD или HDD «живут» ВМ-ы. Иначе блоки удаленных данных не будут очищаться и размер диска ВМ будет увеличиваться.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории