Bug 26334

Summary: [FR] SSD support
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: guile-evmsAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: aen, boyarsh, dd1email, evg, glebfm, gns, lex, mcpain, ptrnine, rider, slazav
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://techgage.com/article/enabling_and_testing_ssd_trim_support_under_linux/
Bug Depends on:    
Bug Blocks: 15951, 30940    

Description Michael Shigorin 2011-09-19 23:35:11 MSK
preinstall.d/10-fstab.sh следует модифицировать для добавления флага discard поддерживаемым ФС (как минимум ext4) на SSD, поддерживающих TRIM; возможно, для любых SSD стоит заменять relatime на noatime (ориентируясь по /sys/block/sd*/queue/rotational).
Comment 1 Alexey Petrakov 2012-05-30 06:41:50 MSK
https://patrick-nagel.net/blog/archives/337

Стоит учесть опыт других товарищей. Возможно, fstrim по хрону было бы интереснее.
Comment 2 Michael Shigorin 2012-05-30 10:37:27 MSK
(In reply to comment #1)
> Стоит учесть опыт других товарищей.
На форониксе таким товарищам работать -- его ошибка в лишних sync; при этом в первом случае он на самом деле не получает закрытия "транзакции", а эти сорок секунд тормозов откладываются на запись в освобождённые блоки, которую он уже ждать с секундомером не будет.

> Возможно, fstrim по хрону было бы интереснее.
Не думаю (поди угадай, когда машина включена, нагрузка минимальна, востребованность нулевая); плюс припоминаю описание этой утилиты автором -- с огромным транспарантом предупреждений и настойчивыми рекомендациями всё сперва сбэкапить.  Я бы не взялся отвечать за чужие данные и блокирование доступа к ним на потенциально довольно длинные промежутки времени вот так с разбегу.
Comment 4 Michael Shigorin 2013-02-13 18:04:00 MSK
Хорошо, что напомнили -- IMHO это всё же p7 blocker:
http://www.opennet.ru/openforum/vsluhforumID3/88644.html#20

Пока приходится вручную прописывать нечто вроде (для ext4):

discard,commit=15,nosuid,noatime,nodiratime,data=writeback,nobarrier,stripe=1024,delalloc,min_batch_time=1000

BTW теперь это install2-remount-functions.

2 sbolshakov: подписываю ввиду bug #28514, если неправ -- прошу пардону.
Comment 5 Sergey Bolshakov 2013-02-13 18:10:07 MSK
следует также учитывать вариант с / на ssd -- простого добавления
опций монтирования в fstab недостаточно, нужно ещё и rootflags в cmdline
загрузчика.
Comment 6 Michael Shigorin 2013-02-13 19:05:21 MSK
Похоже, кто-то где-то это уже учитывает (make-initrd?) -- я ставил http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/sysvinit/ regular-e17_sysvinit-20130124-x86_64.iso и вписал руками discard, сейчас посмотрел в /proc/mounts --  в т.ч. корень смонтирован с ним.
Comment 7 AEN 2013-02-16 05:53:18 MSK
(В ответ на комментарий №6)
> Похоже, кто-то где-то это уже учитывает (make-initrd?) -- я ставил
> http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/sysvinit/
> regular-e17_sysvinit-20130124-x86_64.iso и вписал руками discard, сейчас
> посмотрел в /proc/mounts --  в т.ч. корень смонтирован с ним.

2mike: Так есть бага или нет? Пожалуйста, проверьте.
Comment 8 Michael Shigorin 2013-02-19 14:45:58 MSK
(In reply to comment #7)
> 2mike: Так есть бага или нет? Пожалуйста, проверьте.
Есть, иначе бы не перевешивал, а закрыл.

BTW совсем по-хорошему это бы надо делать в guile-evms.
Comment 9 Michael Shigorin 2013-02-26 01:26:54 MSK
Даже не так: сделать позже возможно, но с костылями и резолвингом UUID назад в блокдевайс, который в evms.scm у нас уже есть.

Подумал над mntpoint-mntoptions, но что-то сходу нужное не пишется (в нулевом приближении -- для ext4 на блокдевайсе, для которого в /sys/block/девайс/queue/rotational нолик, добавить по умолчанию опцию монтирования discard).
Comment 10 AEN 2013-03-15 21:46:40 MSK
2mike@:  запутали меня.
Не блокер. Если не согласны, то преоткройте и выражайтесь яснее, без "сделать позже возможно" и описания своей глубокой рефлексии,  :-)
Comment 11 Michael Shigorin 2013-03-15 22:04:46 MSK
(In reply to comment #10)
> 2mike@:  запутали меня.
Виноват :(

> Не блокер. Если не согласны, то переоткройте и выражайтесь яснее
Блокер: если не сделать, будем по умолчанию вызывать повышенный износ SSD.

> без "сделать позже возможно" и описания своей глубокой рефлексии,  :-)
Сделать это надо на шаге создания ФС (и назначения опций их монтирования).

Подозреваю, что грамотный патч получится опять в три строчки...
Comment 12 Michael Shigorin 2016-06-10 13:47:27 MSK
(In reply to comment #0)
> preinstall.d/10-fstab.sh следует модифицировать для добавления флага discard
> поддерживаемым ФС (как минимум ext4) на SSD, поддерживающих TRIM
Осталось всего ничего -- найти способ *надёжно* выяснять заранее эту поддержку:

--- Theodore Ts'o
These days, what I normally tell people is to not use the discard
mount option at all, and instead use the fstrim program, run out of
cron maybe once a week [...]
--- http://thread.gmane.org/gmane.comp.file-systems.ext4/41974

(In reply to comment #1)
> Возможно, fstrim по хрону было бы интереснее.
Алексей, примите мои извинения за скоропалительные выводы и благодарность
за рекомендацию.
Comment 13 Anton Farygin 2016-06-10 14:22:34 MSK
Я тоже перешёл на fstrim по крону, это оказалось правильнее со всех точек зрения, плюс discard в ряде случаев почему-то не работает.
Comment 14 Michael Shigorin 2016-06-10 18:34:38 MSK
Часом не пакетил?
Comment 15 Anton Farygin 2016-06-10 21:52:05 MSK
crontab ? нет, не пакетил.