Summary: | После установки на ssd не работает trim | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Anton Farygin <rider> |
Component: | util-linux | Assignee: | Alexey Gladkov <legion> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | major | ||
Priority: | P3 | CC: | aen, boyarsh, cas, glebfm, imz, ldv, legion, placeholder, rider, zerg |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
URL: | http://altlinux.org/ssd | ||
Bug Depends on: | |||
Bug Blocks: | 32650, 43582, 43581 |
Description
Anton Farygin
2016-10-31 10:11:51 MSK
Как воспроизвести? А рецепт с fstab : http://vasilisc.com/trim-ssd годится7 Найти в коде место, где вызывается fstrim -a по крону. Ну или поставить на ssd, через месяц дать команду fstrim -v -a и убедиться в том, что TRIM не выполнен. # fstrim -v -a /: 52,6 GiB (56417341440 bytes) trimmed Рецепт с fstab признан устаревшим. У меня он не работает. В других популярных дистрибутивах fstrim вызывается по крону. Эту функцию нужно иметь возможность отключить. И еще (ссылки от rider@) : http://askubuntu.com/questions/443761/how-is-trim-enabled Собери пакетик, который можно класть в дистрибутивы? Разумеется, стоит проверять, что работаем по SSD (по /sys/block/sd?/queue/rotational -- должен быть нолик). У меня на локалхосте воткнуто в скриптик синхронизации сизифа :( В исходниках util-linux лежит fstrim.service и fstrim.timer А проверять надо делать или нет оно умеет само (fstrim -a) Кстати, для сервера это тоже актуально Т.е. - для того, что бы делать TRIM на ssd достаточно время от времени запускать fstrim -a, все необходимые сервисы (systemd) для которого лежат в исходниках util-linux Устанавливать это нужно не только на сервера, но и на рабочие станции. fstrim -a сам умеет (я посмотрел в исходники) определять, для каких дисков нужно делать TRIM а для каких - нет. Эту функцию нужно включить во все собираемые дистрибутивы, включая стартеркиты. По твоей же ссылке: --- Only Intel and Samsung SSDs will have TRIM enabled by default in Ubuntu 14.04 because some cheap SSDs can even brick themselves when running TRIM. --- http://askubuntu.com/questions/443761/how-is-trim-enabled Повторюсь, просьба по возможности помочь с пакетом. Я давно хочу добавить такую функциональность, сдерживают именно редкие, но меткие косяки прошивок, о которых порой слышу. Миша, blacklist теперь в ядре, посмотри последний комментарий здесь: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1259829 А ещё патч тут: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/ata?id=3b8d2676d15d6b2326757adb66b70a9cd6650373 И баг тут: https://bugzilla.kernel.org/show_bug.cgi?id=71371 Можно смело запускать fstrim -a везде где хочешь. Если вылезет проблема - совет отключить trim и дать нам информацию о проблемном устройстве для добавления в blacklist ядра. (В ответ на комментарий №8) > В исходниках util-linux лежит fstrim.service и fstrim.timer > А проверять надо делать или нет оно умеет само (fstrim -a) (В ответ на комментарий №10) > Эту функцию нужно включить во все собираемые дистрибутивы, включая стартеркиты. Посмотрел в федорином спеке -- там %{_unitdir}/fstrim.* прямо в основной пакет util-linux и кладут. Может, так и сделать? (с legion@ обсудили подпакет, он не против -- я пошёл смотреть, заметил такое) (In reply to comment #13) > (В ответ на комментарий №8) > > В исходниках util-linux лежит fstrim.service и fstrim.timer > > А проверять надо делать или нет оно умеет само (fstrim -a) > > (В ответ на комментарий №10) > > Эту функцию нужно включить во все собираемые дистрибутивы, включая стартеркиты. > > Посмотрел в федорином спеке -- там %{_unitdir}/fstrim.* прямо в основной пакет > util-linux и кладут. Может, так и сделать? (с legion@ обсудили подпакет, он не > против -- я пошёл смотреть, заметил такое) +1 (In reply to comment #14) > (In reply to comment #13) > > (В ответ на комментарий №8) > > > В исходниках util-linux лежит fstrim.service и fstrim.timer > > > А проверять надо делать или нет оно умеет само (fstrim -a) > > > > (В ответ на комментарий №10) > > > Эту функцию нужно включить во все собираемые дистрибутивы, включая стартеркиты. > > > > Посмотрел в федорином спеке -- там %{_unitdir}/fstrim.* прямо в основной пакет > > util-linux и кладут. Может, так и сделать? (с legion@ обсудили подпакет, он не > > против -- я пошёл смотреть, заметил такое) > > +1 В смысле -- в основной пакет, как в Fedora (В ответ на комментарий №8) > В исходниках util-linux лежит fstrim.service и fstrim.timer Обсудили ещё с glebfm@ (в т.ч. по взаимодействию с ovz-el) и aen@; похоже, стоит положить эти файлики туда же, где и бинарник fstrim, т.е. в основной подпакет util-linux. Проверяю 2.27.1-alt2.M80P.1... Так я о чём и писал. Конечно так и сделать. util-linux-2.27.1-alt2.M80P.1 -> p8: * Wed Nov 02 2016 Michael Shigorin <mike@altlinux> 2.27.1-alt2.M80P.1 - added fstrim service/timer (closes: #32687) Факта добавления таймера и сервиса недостаточно - нужно активировать его в дистрибутиве. (В ответ на комментарий №19) > Факта добавления таймера и сервиса недостаточно - нужно активировать его в > дистрибутиве. Да, и мне такое положение вещей кажется разумным. Достаточно + @$(call add,DEFAULT_SERVICES_ENABLE,fstrim.timer) Хорошо бы и в сизифе не забыть сделать. А можно то-же самое повторить и в Sisyphus ? а то я с удивлением обнаружил что данное изменение было сделано только в p8 |