RAID+SSD TRIM мифы и реальность

В интернете много противоречивой информации по этому поводу, так что пришлось сесть и вникнуть в эту тему. Но для начала все по порядку. Очень много информации уже глубоко устарело и рождает кучу мифов и домыслов, на самом же деле все не так уж и плохо. TRIM позволяет вашему диску пожить более долгую жизнь, распределяя равномерно запись по всему диску. Тем самым диск выходит из строя намного медленней. (все это справедливо исключительно для SSD дисков поскольку у них есть проблема с количеством записей). Включить TRIM легко, однако если мы используем mdadm для создания RAID 1 и такой фокус естественно не прокатит поскольку мы монтируем уже виртуальный диск.

1. Выбор файловой системы — вариантов не так много Ext4 и Btrfs поскольку последняя официально не рекомендована для установки на рабочие станции и сервера, хоть и считается стабильной, так же сказывается отсутствие рабочих утилит для проверки и исправления файловой системы. Так что вариантов не так уж и много, вернее один. Ext4

2. Выравнивание разделов — очень много информации по этому поводу, много советов, все это сводится к одной единственной вещи, новый fdisk по умолчанию уже не поддерживает dos формат, а следовательно такой проблемы уже давно нет. В этом легко убедиться просто дайте вашей системе отформатировать диск, и вы увидите что начинается он не с нулевого сектора.

Однако когда начал делать скриншоты на одной из тестовых машин c centos на борту, он мне дал такой скрин

В debian 7 все прошло гладко. Суть решения проблемы отключение ДОС формата, в fdisk думаю если в centos поставить последний fdisk то проблема так же сама собой пропадет, или принудительно указать ненужность ДОС поддержки при форматирование диска.

Итог: новое ПО само решит эту проблему.

3. Включаем TRIM Если у вас диск подключен без программного рейда нам достаточно убедиться в том что само устройство поддерживает TRIM

  hdparm -I /dev/sda | grep "TRIM"

Изменяем fstab

  /dev/sda / ext4 noatime,discard,errors=remount-ro,commit=60 0 1

Discard — включит TRIM

noatime — действительно не нужен при ssd так что смело выключаем

commit=XX — а вот его я не рекомендую это уже перебор. Срок жизни диска увеличится меньше чем на 1%

4. Свободное место — да действительно нужно и чем больше, тем лучше, но это справедливо для любого накопителя, особенно это касается носителя при заполнение более 80%, так что это утверждение справедливо и для SSD.

5. Отключение планировщика записей на диск — нет

6. Поддержка TRIM в mdadm — TRIM is support for in all new versions of mdadm.

TRIM и OpenVZ — Ядра OpenVZ поддерживает смотрим тут

8. Отключение логов системы — Не хотелось бы даже комментировать такое стремление, но поскольку оно активно обсуждается в сообществе и вероятно кем то используется то прокомментирую. НЕТ!

Лог файл спасет вас в экстренной ситуации и уж если не скажет что чинить так как минимум даст не повторить ошибку. Логи по степени важности ни разу не меньше чем бэкап всей системы. Так что удалить логи даже за пару секунд это критически невозможно, не говоря уже о умниках вообще отключающих их. Если вам так тяжко смотреть как логи используют ваш диск, вставьте еще 1 HDD и перенесите все логи на него. 1000 рублей не такое уж и дорогое решение данной проблемы.

9. Также коллеги рекомендуют отложенную запись. (сам не проверял). Все процессы в системе пишутся в tmpfs, а когда придет заданное время — то обращаются уже к диску. Добавляем строчки в /etc/sysctl.conf

  vm.laptop_mode=5
  vm.dirty_writeback_centisecs = 15000

Оставить комментарий