Установка Ubuntu Linux на SSD

Многие слышали, что на рынке появились твердотельные жёсткие диски без движущихся частей, SSD диски. Они пока относительно дорогие и объем не велик, но операционная система на них просто летает, а тяжёлые приложения стартуют в разы быстрее, чем с обычных HDD. Чем достигается такое волшебство?

У SSD нет головок, которые необходимо позиционировать над затребованными данными и поэтому скорость чтения случайных секторов происходит намного быстрее. А как показывает практика, именно работа с мелкими файлами, расположенных в разных местах диска - это обычный портрет работы операционной системы.

Лучшее решение на сегодняшний день - это покупка SSD для операционной системы и хранение личных и медиа файлов на обычных HDD.
Вот и я решился купить себе SSD диск для Ubuntu. Много прочёл про этот новый вид дисков - твердотельные накопители. Хотел модель Intel X25-V, но денег как всегда мало, пришлось приобрести модель OCZ "Onyx" OCZSSD2-1ONX32G с контроллером Indilinx Amigos, про который много отрицательного не пишут.

Ниже описаны этапы, которые помогут правильно подготовить SSD для работы с Ubuntu Linux. Если вы проигнорируете этапы, то получите работающую систему, но не оптимальную, с меньшей скоростью чтения-записи и, возможно, подвергните свой SSD диск опасности раннего выхода из строя.

Прочтите все о вашем SSD на официальном сайте

Не пренебрегайте данным советом, например я вычитал на официальном сайте моего OCZ "Onyx" OCZSSD2-1ONX32G, что обновлять прошивку нужно, установив в BIOS, режим IDE для SATA дисков, а не родной AHCI режим. Мало ли чего важного вы вычитаете?

Обновите прошивку

Внутри жёстких дисков, SSD не исключение, есть микроконтроллер, который управляется микропрограммой. Её можно обновлять и это называется "прошивкой" (firmware). Прочтите что и как рекомендует производитель вашего SSD диска для обновления прошивки. Обычно обновление прошивки устраняет ошибки и добавляет новые функции. Очень важно чтобы SSD диск поддерживал TRIM и, если для этого нужно обновить прошивку, обновляйте!

Узнать текущую версию прошивки можно командой sudo hdparm -i /dev/ваш_диск | grep -i Fw

Выравнивание разделов на SSD

Суть проблемы в том, что если начало разделов в секторах не кратно размеру кластера файловой системы, то резко падает производительность при чтении/записи с диска, а в случае с SSD диском ещё и увеличивается износ диска. То есть когда разделы не выравнены, то кластер файловой системы занимает несколько секторов и тем самым увеличивается количество операций чтения/записи. Подробнее об этой проблеме выравнивания разделов лучше прочесть в Интернете. Главное запомнить простое правило: создаёте раздел - его стартовый сектор должен делиться на 8 без остатка.

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdh1 2048 514047 256000 83 Linux
/dev/sdh2 514048 55810047 27648000 83 Linux

Начальные сектора 2048 и 514048 кратны 8! Я использовал fdisk и в нём создал разделы /boot, / и swap. Из статьи на Хабре выяснил, что работа со swap в современных операционных системах идёт примерно ~40:1 чтение:запись. Поэтому размещение swap на SSD это отличная идея. Чуть позже мы заставим Ubuntu Linux меньше использовать swap, а больше быструю ОЗУ.

Некоторое место на вашем SSD зарезервировано и недоступно вам, это место будет использовано для замены износившихся во время записи-перезаписи ячеек. Во время разметки диска, я оставил не размеченой область ~3,5 Гб, чтобы контроллеру диска было чем заменять, в далёком будущем, вышедшие из строя ячейки. Вам так же рекомендую не жадничать и при разметке оставить чуток не размеченной области.

Установка на SSD Ubuntu

Во время установки я указал, что первый раздел на SSD это /boot и файловая система ext3. Просто я решил помочь grub'у и не огребать не нужных проблем. В /boot хранятся ядра системы и размера 250 мб должно хватить на много установленных параллельно ядер.

Второй раздел на SSD стал корнем / в BTRFS. У этой продвинутой файловой системы, которая станет по умолчанию в Ubuntu Linux с версии 11.04, есть замечательный параметр -o ssd. Указав его, мы сообщаем, что жёсткий диск вида SSD и улучшаем работу с ним. Указать параметр можно позже, отредактировав /etc/fstab

# мой корень
UUID=6f1fedb8-2dc7-4d19-a1f4-2eac082f879e / btrfs defaults,noatime,compress,nobarrier,nodatacow,ssd 0 0

Раздел /home был и его не форматируя через установщик, я задействовал как и раньше. Все файловые системы, кроме /boot, указаны в BTRFS.

Оптимизация Ubuntu для SSD

Если у вас есть UPS, он же ИБП, то можно применить советы из Ускорение Ubuntu.
Укажем для всех разделов BTRFS в /etc/fstab параметры noatime, compress, nobarrier, nodatacow.

Сброс грязных буферов увеличим vm.dirty_writeback_centisecs = 15000.

У демонов журналирования rsyslogd или syslogd перед всеми путями к журналам поставим знак минус и заставим не делать sync после добавления одной строки в журнал.

В файл /etc/sysctl.conf в конец файла вставьте строку vm.swappiness = 10 и тем самым заставьте Ubuntu Linux больше занимать ОЗУ, чем swap. Как это достигается подробно расписано в Ускорении Ubuntu.

По умолчанию в Ubuntu Linux в качестве файлового планировщика используется CFQ, он старается минимизировать перемещения головок, но у SSD нет движущихся частей и CFQ не нужен. Нужно в файле /etc/default/grub добавить elevator=noop и получить строку, типа GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop". Не забудьте sudo update-grub

Теперь перезагрузка вашего ПК и получите оптимизированную под плюсы и скрывающая минусы SSD систему Ubuntu Linux. Порадуйте себя скоростью SSD sudo hdparm -t /dev/ваш_диск_ssd

Советы SSD

1) Меньше пишешь на SSD, лучше.

2) Постоянная запись множества мелких файлов - самое большое зло для SSD. Запись на SSD производится блоками (вплоть до 128 Кб) и маленькие файлы вынуждают стирать блоки большего размера.

3) Располагать раздел подкачки на SSD можно и нужно. Работа с подкачкой характеризуются большим количеством чтения по сравнению с записью (40 к 1), и относительно большими объемами записи, так что пользы от гораздо более быстрого доступа к данным больше, чем вреда.

4) Если команда iotop часто показывает запись процесса в раздел, находящийся на SSD, сделай так, чтобы процесс туда писал реже или вообще не писал. Не бойся редкой записи - бойся постоянной, периодической записи. Смотри п.п 1.

5) Забудь про дефрагментацию, её больше для тебя не существует. Если увидел слово онлайн дефрагментация или дефрагментация на-лету, найди и выключи это.

6) В Ubuntu Linux кроме системного индексатора updatedb, остальные индексаторы хранят файлы-базы-данных в домашнем каталоге. Подумайте о необходимости этих индексаторов-поисковиков, если не нужны - отключайте/удаляйте.


док станция для ipad 2 . нтв онлайн