Реализация Linux fstrim на SSD с программным обеспечением md-raid

14

В настоящее время я создаю новый сервер Ubuntu 13.04 с 2 256 ГБ твердотельными накопителями в зеркале рейда для запуска экземпляра MariaDB. Обычно мы помещаем LVM поверх шифрования dm-crypt поверх массива md raid 1 , но ранее в этой настройке SSD не использовались.

Мой вопрос заключается в том, что, поскольку мы будем использовать более новое ядро ​​(3.8), оно должно позволять применять fstrim непосредственно к разделу raid, насколько я понимаю. Могу ли я теперь просто положиться на это, чтобы работать должным образом с fstrim -v /помощью задания cron, так же, как если бы рейда не было на месте? Верно ли это даже с LVM на вершине объема рейда? Мы планируем использовать аппаратное шифрование на дисках, поэтому здесь нам не понадобится dm-crypt.

ПРИМЕЧАНИЕ: я знаю, что есть несколько похожих вопросов, связанных с обратным портированием обновленных версий ядра и реализацией сброса с томом md - я спрашиваю конкретно, fstrimработает ли он с md-raid без дальнейшей модификации в более новых ядрах.

ОБНОВЛЕНИЕ: Просто хотел следить и сообщать, что это работало нормально. Там сейчас работа в cron.daily , который работает fstrim на /и /bootи это прекрасно работает. Кроме того, оказалось, что аппаратное шифрование на SSD (Samsung 840 Pros) требует поддержки TPM, которого у нас нет, поэтому мы настроили программное шифрование, как показано в ссылке. Добавляя discardопции в /etc/crypttab( не в /etc/fstab) и issue_discards = 1в раздел устройств /etc/lvm/lvm.conf, fstrim отлично работает даже через уровни LVM, шифрования и RAID. Более подробную информацию о настройке обрезки / сброса на твердотельных накопителях с LVM и шифровании можно найти здесь.

nedm
источник

Ответы:

11

Патчи для поддержки mdraid RAID 1 и 10 для TRIM появились примерно год назад.

Вы можете проверить поддержку вашего ядра, смонтировав файловую систему с discardопцией (которая включает автоматический TRIM). Если это поддерживается, вы увидите сообщение в системном журнале или dmesgкак:

EXT4-fs (md1): re-mounted. Opts: discard,data=ordered

В противном случае вы получите это:

EXT4-fs warning (device md1): ext4_issue_discard:2619: discard not supported, disabling

Вам не нужно перезагружаться, чтобы увидеть, работает ли он:

mount /dir -o remount
Майкл Хэмптон
источник
1
Так что, если я вас правильно понял, если монтирование с отбрасыванием работает, то и fstrim должен?
Недм
1
Верный. Если он полностью реализован, он будет работать в любом случае.
Майкл Хэмптон
3
Не забудьте изменить параметры монтирования позже, если вы не собираетесь делать автоматическую TRIM. :)
Майкл Хэмптон
2
Напомним , что поддержка TRIM для RAID1 была добавлена ​​11 октября 2012 года, см. Здесь lkml.indiana.edu/hypermail/linux/kernel/1203.1/01772.html Так что ядро ​​3.4 не поддерживает его, но 3.8 поддерживает (не знаю около 3,5 / 3,6 / 3,7)
Джорил
3
@MichaelHampton, к сожалению, это не так. Например, имея ядро ​​3.2, с ext4 на LVM на MD (программном) RAID1, (пере) монтирование ext4 с удалением не выдаст ошибку, но не будет работать (так как MD RAID1 в ядрах 3.2.x не поддерживает передача команд TRIM). Так что единственный способ узнать наверняка - это проверить это
Матия Налис