dap: (Аватара+)
dap ([personal profile] dap) wrote2015-01-17 03:45 pm

SSD, Btrfs, openSUSE 13.2 и все-все-все

Поддавшись всебеларуской волне покупательского ажиотажа, я спас часть свободно неконвертируемой валюты в виде Crucial CT120M500SSD1. На самом деле, меня окончательно расстроила отрисовка фоток в полсекунды, на ста фотках теряем почти минуту. Данный диск шёл в комплектации, практически аналогичной OEM: о SATA-кабели и салазках предстоит позаботиться самостоятельно. Вдохновившись настольными книгами (1, 2) зюзоида о SSD, я поспешил установить принудительный AHCI-режим в BIOSe и обновить прошивку контроллера. Если первый вопрос решился монотонным перебиранием синеэкранных настроек, то iso производителя с freeDOS меня обижал, не загружаясь после раскатывания на флешку с помощью dd. Что ж, оказавшийся под рукой unetbootin справился с задачей успешно, и я узнал, что последняя прошивка уже установлена :)

Я уже начал раскидывать карты, когда мне будет не лень заняться переносом+обновлением/установкой системы, но трёхлетний /home в btrfs перемонтировался в режим только для чтения. Вот тут надо было делать экстренный бэкап, но я, вооружившись верой в никсы в общем и oracle в частности, сделал проверку файловой системы с исправлением ошибок. Не сложно почувствовать, что припарка полумёртвому не только не помогла, но даже и добила. Я серьёзно, никогда (слышите, никогда!) не пробуйте исправить ошибки в файловой системе btrfs без бэкапа оной. Разработчики всерьёз рекомендуют не париться и развернуть данные на отформатированный раздел.

Свежий образ зузи с кедами был успешно раскатан с помощью dd на ту же флешку. SSD разбился на корень и раздел под фоточки в ext4, разделы с первой выжившей бунтой и ex-btrfs стали /var и /home в xfs (да-да, жизнь меня ничему не учит), всем разделам был добавлен флаг монтирования noatime, который отключает сохранения времени последнего доступа (не изменения, а именно доступа) и уменьшает количество операций записи, а разделам — ещё и discard для задействования TRIM. Совершив небольшой флешбек, добавим /tmp в tmpfs c noatime, поскольку он перестал создаваться по умолчанию, и nodiratime к xfs. Также выберем deadline или noop как менеджер операция ввода/вывода по умолчанию.

Пропустим никому неинтересный этап установки и удаления пакетов, разворачивания бэкапа в хомяк и перенос рутовых настроек. Создадим правило udev для корректного распределения менеджеров ввода/вывода по устройствам, например, /etc/udev/rules.d/60-sched.rules :

#set deadline scheduler for non-rotating disks

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

# set cfq scheduler for rotating disks

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"

Выключим readahead: sudo systemctl disable systemd-readahead-collect.service ; sudo systemctl disable systemd-readahead-replay.service

Вот, пожалуй, и всё на сегодня, о привнесённых новым релизом проблемах и их решении напишу в следующей записи. И да, ssd — это круто!


Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting