Установка ubuntu на ssd и hdd

Многие слышали, что на рынке появились твердотельные жёсткие диски без движущихся частей, 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. У этой продвинутой файловой системы, есть замечательный параметр -o ssd. Указав его, мы сообщаем, что жёсткий диск вида SSD и улучшаем работу с ним. Указать параметр можно позже, отредактировав /etc/fstab

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

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

Если у вас есть UPS, он же ИБП, то можно применить советы из Ускорение Ubuntu.

Параметр discard.
Включает полезную команду TRIM и настоятельно рекомендуется к применению к различным файловым системам. discard нужно указать в /etc/fstab. Разработчики многих дистрибутивов linux обсуждали иногда возникающую проблему с discard, которая приводит к падению производительности. Альтернативным путём является вызов fstrim из cron. Пробуйте и выбирайте своё!

Параметр ssd для btrfs.
Указывайте для файловых систем btrfs в /etc/fstab.

Параметр commit=600.
Замечательный параметр commit равный 600 можно применять ко многим файловым системам и commit указывает на сброс грязных файловых буферов каждые 10 минут (600). Настоятельно рекомендуется иметь ИБП. commit=600 нужно указать в /etc/fstab.

barrier=0
Код файловой системы обязан перед созданием записи фиксации [журнала] быть абсолютно уверенным, что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно; современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации; если сначала будет создана запись фиксации, журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря, «шлагбаум» запрещает запись любых блоков, посланных после него, до того момента, как всё, что было прислано перед «шлагбаумом», будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать, что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум barrier=0, мы ускоряем операции записи на разделы.
barrier=0 нужно указать в /etc/fstab.

Для btrfs указывайте nobarrier.

LVM.
Если вы используете технологию LVM, то нужно указать в /etc/lvm/lvm.conf параметр issue_discards = 1.

Preload.
Демон, кешируюший обращения к файлам и ускоряющий IO вывод. В SSD диске нет вращающихся блинов и считывающих головок, то желательно в /etc/preload.conf изменить параметр и привести его к виду sortstrategy = 0. Этим самым вы прикажете не производить сортировку очереди запросов, так как для SSD это не имеет смысла. Перезапустите preload – sudo /etc/init.d/preload restart

Увеличим сброс грязных буферов vm.dirty_writeback_centisecs = 15000 в /etc/sysctl.conf.

У демонов журналирования rsyslogd или syslogd перед всеми путями к журналам поставим знак минус и заставим не делать sync после добавления одной строки в журнал. Демон ведения журналов syslog (а также идущий ему на смену – rsyslog) пишет журналы в каталоге /var/log/ и добавив одну строку делает операцию sync, которая сводит на нет кэш диска и более долгий сброс буферов. Можно изменить поведение демона и указать не делать sync после каждого добавления. Найдите файл конфигураций демона, обычно это /etc/syslog.conf или /etc/rsyslog.d/ и все пути вида /var/log/что-то-там/ измените, дописав знак минус ("-") перед путями.

В файл /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

Читайте также:  Pci ven 10ec dev 8179 subsys 819710ec

Теперь перезагрузка вашего ПК и получите оптимизированную под плюсы и скрывающая минусы 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, остальные индексаторы хранят файлы-базы-данных в домашнем каталоге. Подумайте о необходимости этих индексаторов-поисковиков, если не нужны – отключайте/удаляйте.

Отличный видеоматериал, правда на английском языке, но всё понятно из самого видео и открытых окон как оптимизировать Linux для SSD.

Нужно очень внимательно выполнить инструкцию!

Для /boot мы выбираем 600 Мегабайт(МиБ),
а для / 60000 Мегабайт(МиБ), что соответствует

SSD должен быть размером не менее 80Gb, а лучше взять 128.

Подумайте дважды и перепроверьте, прежде чем жать окончательно на выполнение в конце.

1. Берем чистый SSD и подключаем.
2. Грузимся в Gparted и находим неразмеченный диск SSD, его размер будет меньше (на

10Gb, или другая цифра . ), чем написано на коробке от производителя.
3. Тыкаем в Устройство->Создать таблицу разделов
4. Выбираем GPT
5. Тыкаем в неразмеченное пространство правой клавишей мыши и выбираем "новый"

6. Тыкаем в неразмеченное пространство правой клавишей мыши и выбираем "новый"

7. Правка -> Выполнить все операции

Диск готов для начала установки (K)Ubuntu Убунту на SSD.

PS: fdisk не понимает GPT, поэтому если вы в дальнейшем попробуете проверить диск в нем, то он скажет, что "моя – твоя не понимай!"
Можно выбрать MBR. Про различия читайте на вики.

8. Пишем на флешку, через Unetbootin, iso образ нужной нам (k)ubuntu и перезагружаемся.

9. В BIOS выставляем режим AHCI, вместо IDE.

10. Выбираем boot загрузку c Flash . название вашей флешки

11. Старт(try) k(ubuntu), ни в коем случае не install(установка). Инстолятор часто глючит и может вывалится в любой момент, придется перезагружать систему. В данном случае можно просто запустить его снова. У меня упал трижды, но потом все встало без проблем.

12. Загрузились в убунту, а вот теперь кликаем по иконке install kubuntu (install ubuntu)

13. Открылся установщик, выбираем язык

14. далее Ручную разбивку диска(manual)

Везде ставим галку форматировать. Почему? Потому, что если вы уже загружались в старую убунту или другую ось, она могла примонтировать ваш диск и записать туда всякий мусор, вам не нужный. Поэтому форматим (минутное, даже возможно секундное дело)

Загрузчик ставим либо туда куда понимаем, либо по умолчанию.

Если система не встала, то следует более подробно прочитать инструкцию и возможно углубиться в изучение манов, терминов и подробно разобраться в ssd,gpt,uefi,ahci .

Если (к)убунта установилась, но грузиться старая, делаем "ход конем", ищем на новом диске текстовый файл /boot/grub/grub.cfg копируем его содержимое и заменяем текст в старом /boot/grub/grub.cfg

При этом старый нужно обязательно перед копированием куда-то сохранить еще, на флешку, на другой диск, на CD . куда угодно, но сохранить обязательно нужно, чтобы восстановить в случае если "ход конем" не сработает.

У меня есть SDK с 128 гигабайтами и 1 ТБ HDD. Я хочу использовать свой ssd для корневого и домашнего разделов и использовать жесткий диск для массового хранения, где я буду хранить фильмы и другие файлы. Как это сделать?

Читайте также:  Максимальный процессор для am3

4 ответа

Пошаговое руководство (просто пропустите то, что вы уже сделали):

1. Загрузка с установочного диска

Создайте загрузочный USB-диск с установочный образ , а затем загрузитесь с него, чтобы начать установку ОС.

2. Пройдите процесс установки

Выберите наиболее подходящие варианты. Когда будет предложено выбрать тип установки, выберите "Something Else", чтобы создать разделы для ОС. Чтобы создать раздел, просто нажмите знак "+" на "свободном пространстве". Вам нужно будет создать следующие разделы на вашем SSD :

  • корень
  • Размер: 30-50 ГБ
  • Тип: Первичный
  • Использовать как: ext4 Журнальная файловая система
  • Точка монтирования: /
  • swap (необязательно)
    • Размер: см. этот пост определить размер (и хотите ли вы вообще обменять)
    • Тип: Логический
    • Использовать как: область подкачки
    • home (необязательно, этот пост для дополнительной информации)
      • Размер: остальная часть вашего свободного пространства, обычно
      • Тип: Логический
      • Использовать как: ext4 Журнальная файловая система
      • Точка монтирования: / home
      • 3. Настройте жесткий диск для автоматической установки при загрузке

        Самый простой способ сделать это imo – использовать инструмент gnome-disks GUI (использовать его, просто открыть терминал – Ctrl + Alt + T , введите sudo gnome-disks и введите свой пароль). Выберите свой жесткий диск, нажмите на зубчатые колеса – > "Изменить параметры монтирования . ", включите "Mount at system startup" и выберите точку монтирования (например, /mnt/sda1 или любое другое устройство, идентифицированное как, или /media/user/DATA ).

        4. Link

        ( /home/user ) папки с носителями на жесткий диск для удобного доступа

        у вас будет несколько стандартных медиа-папок, которые вы, возможно, захотите использовать на жестком диске. Чтобы переместить их на жесткий диск, хотя они легко могут получить доступ к ним из /home/user , вам нужно будет переместить эти папки на жесткий диск (или просто удалить их и создать другие папки), а затем создать символические ссылки, используя команду терминала как:

        ln -s /mnt/sda1/Downloads

        Вот и все! Вы все настроены!

        Просто установите систему на SDD. Ваш жесткий диск и любые другие носители, которые вы добавите впоследствии, будут автоматически интегрированы.

        Для вашего жесткого диска вы не должны :

        • монтируйте его в любом месте
        • Разделить его
        • изменить / etc / fstab
        • настроить его

        Делая что-нибудь из этого – это то, что вам нужно было сделать 10-20 лет назад, но не с современной системой, такой как 18.04 Ubuntu. В настоящее время все это необязательно. Жесткие диски также часто продаются в формате NTFS, что достаточно хорошо для ваших медиафайлов.

        Если вам нужно отформатировать его, это имеет смысл сделать после установки системы. Это позволяет избежать ошибок или изменить конфигурацию. Таким образом вы также можете использовать gparted . Gparted – это самый простой и безопасный инструмент для разбиения на разделы, доступный в Linux.

        После входа в компьютер вы найдете свой жесткий диск в Files – > В других местах будут представлены все остальные носители.

        Если у вас есть RAM объемом не менее 16 ГБ, вам не понадобится раздел подкачки (если вы не делаете очень тяжелую многозадачность).

        Если вы зашифруете свой домашний каталог (который рекомендуется), наличие / home-раздела не спасет вас от каких-либо проблем. Перемещение зашифрованного дома в новую систему – непростая задача. Гораздо проще перемещать файлы, пока они незашифрованы, например. путем упаковки и копирования их в новый домашний каталог.

        И, конечно же, поскольку ваш SDD довольно мал, разбиение будет скорее всего пустым пространством. Когда вы / дом заполнится, вы начнете задаваться вопросом о 10-20 бесплатных GB на / root. Тонкая настройка также необходима, поскольку файловые системы extX обычно поставляются с зарезервированным пространством для пользователя root. Однако ваша учетная запись пользователя root не требует места на вашем / домашнем разделе.