Установка linux rosa на ssd

Обновлено: 07.07.2024

Меня самого занимает вопрос, как правильнее устанавливать Linux на твёрдотельный накопитель?

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

Конечно, например, алгоритм использования флэшки постоянно перемещает область, куда записывается таблица её файловой системы, чтобы её постоянная перезапись этот раздел быстро не запилила. Думаю, что подобные меры предусмотрены и в SSD.

Но swap-раздел, по моим наблюдениям, по диску так не ползает.

В Linux есть возможность использовать вместо swap-раздела swap-файл, размер которого хотя и постоянный, но изменить его, в случае таковой необходимости, не представляет никакой трудности.

Алгоритм в пошивке SSD, по уму, должен бы перезаписывать файлы каждый раз на новое место.

Свой ноутбук, с которого сейчас пишу, я сразу покупал под Linux и мудро, или не совсем мудро, сознательно выбрал модель с HDD и на нём у меня имеется swap-раздел.

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

Я, как инженер-механик по образованию, смотрю на электронику несколько со стороны и мне очень интересно узнать мнение по эксплуатации Linux на SSD тех специалистов, которые хорошо знают устройство SSD-накопителей и алгоритмы их прошивок.

Вводим в терминале:

После ввода команды следует нажать клавишу Enter . В результате будет выведено числовое значение, которое скорее всего будет равно 60 .

sudo gpt-get install gksu leafpad

Нажимаем Enter и вводим по запросу пароль.

gksudo leafpad /etc/sysctl.conf

После ввода команды нажмите клавишу Enter . Прокрутите содержимое файла конфигурации до конца и добавьте в него свое значение параметра swappiness, которое должно использоваться вместо значения по умолчанию. Скопируйте и вставьте в файл конфигурации следующие строки:

Сохраните файл конфигурации и закройте текстовый редактор. После этого вам следует перезагрузить компьютер.

После перезагрузки компьютера можно снова проверить значение параметра конфигурации swappiness.

В окно терминала вводим ту же команду:

После ввода команды следует нажать клавишу Enter . В результате должно быть показано значение 10 .

Раньше, после IDE, мы начали подключать свои HDD по интерфейсу SATA.

Недавно появилась новая технология, точнее железо, подключаемое через шину PCI Express и использующее NVMe протокол.

Отличие от SATA в производительности, форм-факторе, и подключении. Но это на уровне железа. На уровне операционных систем, это тоже блочное устройство, но оно теперь не /dev/sda , а /dev/nvme0n1 .

У Intel выпущены железки, которые могут работать как NVMe SSD (как простой SSD) по PCIe шине, и как кэш любого HDD. Особенно это полезно, когда у вас старый добрый HDD с 5400 rpm. На этом Intel и акцентирует свое внимание при выпуске своих Intel Optane Memory M10.

Некоторые ноутбуки, имеющие на борту HDD с 5400 rpm и Intel Optane Memory M10 работают в паре, для ускорения загрузки с HDD. Т.е. Intel Optane Memory переносит часть системы к себе и загружает. Так же Intel Optane Memory кэширует ресурсоемкие приложения для запуска. По этому, если снять образ HDD через Clonzilla - обратно его не распаковать, т.к. система работать не будет. Ведь часть системы расположена в Intel Optane Memory.

В UEFI/BIOS ноутбука, такой Intel Optane Memory работает в режиме RST (Intel Rapid Storage Technology). Если говорить по простому, то это RAID программный, в котором Intel Optane Memory + ваш HDD (SSD).

Intel RST и AHCI

Технология Intel Rapid Storage Technology - софтовый RAID. Все драйвера для его работы только для Windows 10. В GNU/Linux пока эта технология не поддерживается на уровне ядра. Хотя есть экспериментальный модуль ядра intel-rst.

По заявления Intel на официальном сайте, Intel Optane Memory не может работать в AHCI режиме, только в RST. Однако, там говорится, что возможна работа как простого NVMe SDD. Но для этого надо, чтобы в UEFI/BIOS был режим Storage Mode в AHCI.

Тут есть одна тонкость. В режиме RST - Intel Optane Memory в паре с HDD работает как RAID. Соответственно, Windows 10 установлена и работает тоже с драйверами RAID RST.

Если мы хотим использовать Intel Optane Memory как простой NVMe SSD, нам надо в UEFI/BIOS перевести Storage Mode в режим AHCI. Но после этого Windows 10 у нас не загрузится. Нужно будет Windows 10 "отвязать" и RST и перевести в AHCI.

Переводим Windows на AHCI

Чтобы перевести Windows 10 с RST в AHCI режим нужно сделать следующее:

  1. С включенным RST режимом, загружаемся в Windows 10
  2. Открываем (клавиши Win+R) строку запуска, вводим msconfig
  3. Выставляем в разделе Загрузка" : Безопасный режим - Минимальный , Нажимаем Применить
  4. Выключаем ноутбук
  5. Включаем ноутбук и входим сразу в UEFI/BIOS
  6. Меняем там режим Storage Mode c RST на AHCI, записываем настройки и выключаем компьютер
  7. Загружаемся в WIndows 10 в Безопасном Минимальном режиме.
  8. Открываем (клавиши Win+R) строку запуска, вводим msconfig
  9. В разделе Загрузка снимаем галочки с Безопасный режим - Минимальный , Нажимаем Применить
  10. Выключаем ноутбук.
  11. Включаем ноутбук и загружаемся в Windows 10

Теперь у нас Windows 10 "отвязана" от RST режима и работает в AHCI режиме.

И можно устанавливать нашу ROSA Desktop на NVMe.

Установка ROSA Desktop на NVMe

Подготавливаем USB Flash с образом ROSA Desktop. Вставляем в USB и загружаемся с флешки.

В Grub2 меню выбираем Install ROSA to hard drive.

Далее стандартная установка, до выбора разметки дисков.

В нашем случае, drakdisk покажет нам 2 вкладки. На одной /dev/sda - наш HDD с Windows 10, на второй /dev/nvme0n1 - наш NVMe Intel Optane Memory.

Тут есть одна тонкость. Открываем вкладку с /dev/sda , выбираем раздел EFI и указываем точку монтирования /boot/EFI . Далее переходим на вкладку /dev/nvme0n1 и указываем точку монтирования / (т.е. корень системы и home будут на NVMe).

Дальше всё как обычно, продолжаем стандартную установку.

После установки ROSA Desktop, в Grub2 будет доступна загрузка Windows 10 и ROSA.

Статья рассчитана на повышение уровня владения операционной системой Роса и линукс в целом, обязательна к прочтению начинающим и опытным пользователям, а также на более глубокое понимание файловой системы btrfs. Позволит повысить вам стабильность, отказоустойчивость системы. Система btrfs уникальна тем, что являясь по себе файловой системой, внутри может содержать подтома, которые имеют функции разделов. В данной инструкции нужно строго следить за номерами разделов. Своими действиями. Понимать принцип монтирования разделов, команд копирования/переноса и иметь минимальный опыт работы в терминале.
Статья подходит и для других дистрибутивов, умеющих работать с файловой системой btrfs.
Что такое подтома в системе btrfs?
При разметке диска опытные стараются ставить корень, home и другие каталоги в разные разделы, которые имеют структуру sdxX, а в системе uefi их может быть множество.
В случае же с btrfs раздел может быть один, а вот подтома заменяют дополнительные разделы. И в итоге у нас получается - к примеру: раздел с btrfs на sda1 - один, а подтома - @, @home, @var, @opt, @usr разные и независимые, с тем только условием, что они имеют точки монтирования в корневом подтоме @ и прописаны в /etc/fstab. Названия подтомов могут быть отличными от тех, что даны в статье, главное чтобы Вы для себя понимали структуру, их расположение и связь.

Содержание

Основные команды, которыми мы будем пользоваться

Структура операций

1. Установить систему на раздел с btrfs.
2. Запустить LiveCD и примонтировать установленую систему для работы в каталог /media/rosa.
3. Создать подтома корня и домашнего каталога (@ и @home).
4. Сделать chroot в систему с опцией subvol=@ в разделе btrfs (subvolid=5).

Разметим диск

Грузимся в LiveCD открываем gparted и делаем простую разметку. Раздел с корнем и раздел подкачки.
Или устанавливаем сразу, без режима LiveCD, и редактируем разделы в diskdrake (Управление дисковыми разделами росы).
Примечание: Стоит отметить, что раздел подкачки не нужен, если у вас более 4Gb оперативной памяти! Если система UEFI, то раздел /boot будет в fat32/vfat и иметь вид “/sdxX /boot fat32 350Mb-500Mb”.
Если у нас UEFI, то при разметке поменяется нумерация разделов от той, что в статье - "/boot/efi sda1, /корень sda2, /swap sda3". Читаем про утилиту efibootmg и флаги для разделов esp,boot.
Итак, ефи у нас не будет, поэтому создаем корень и свап:

Установим систему в btrfs

Устанавливаем систему как обычно в подготовленные разделы. В итоге у нас весь subvolid=5 заполниться системными каталогами и файлами, с которыми не удобно работать при создании снапшотов!
После установки, выключаем систему и загружаемся в LiveCD. Все дальнейшие действия по переносу в подтома можно осуществлять только в этом режиме, иной метод может привести к потере данных.

Создание подтомов в системе btrfs

Монтируем нашу систему в каталог media

Переходим в папку rosa

Продолжаем. Не забываем, что мы находимся в каталоге rosa.
Создадим подтома (@ и @home) в системе btrfs на разделе /dev/sda1, который мы смонтировали в /media/rosa:

Проверим, что подтома созданы верно @ и @home

Перенос в подтома

На этом этапе стоит дать пояснения. Можно не переносить каталог /home в подтом @home, а просто перенести всё содержимое в @. Тогда уменьшится количество команд при создании снапшотов и станет легче обслуживать систему. Сократиться количество подтомов.
Но есть и минусы этой простоты, если home не отделить, он тоже будет снапшотится. Естественно это скажется на размере снапшотов и занимаемом дисковом пространстве, при внушительном размере хомяка))). Установим утилиты nano и mc, если их нет!
Запустим Midnight Commander:

Легких путей Мы не ищем, поэтому поместим все по своим местам в подтома @ и @home.

Перенос /home в @home:
Находясь в MC, слева перейдем в каталог @home, справа перейдем в каталог /home. Выберем нашего юзера - /user и нажмем на клавиатуре клавишу insert (выделит все файлы и папки в каталоге).
Затем нажмем F6 для переноса из /home в подтом @home. Проверить это легко - справа в mc каталог /home будет пуст.

Перенесем остальные каталоги и файлы в подтом @
Теперь нужно перенести все каталоги и файлы в подтом @, кроме @home. Удалять папку /home не нужно, она будет точкой монтирования нашего подтома @home. Слева перейдем в @, а справа передвигаемся по каталогам, нажимая клавишу insert выделим все файлы, кроме @home. Нажмем F6 и перенесем все выделенное в @. Если вдруг удалили папку /home, во время переноса "оптом" всех папок, то кнопкой F5 скопируйте её назад. Таким образом, в правой части файлового менеджера mc должно остаться три папки: @, @home, /home.
Выйдем из редактора MC - введем exit.

Делаем chroot и Правим fstab

Мы перенесли систему в подтома и параметр монтирования нам нужен не /, а subvol=@. Нужно примонтировать наш btrfs раздел с опцией subvol=@ и сделать chroot в систему!

Смонтируем временные интерфейсные файловые системы в 0 (из хостовой системы в гостевую):

Пояснение: /$i - из хостовой системы, 0/$i - в гостевую. Программа, запущенная в окружении chroot не может получить доступ к файлам вне нового корневого каталога.
Делаем chroot в папку 0:

Правим fstab в /etc/fstab:

Обновляем загрузчик, но не торопимся перегружаться (читаем ниже)

Установка grub2 в /dev/sda (находимся в chroot 0):

В частности, для дистрибутива LinuxMint Debian Edition "Cindy", обязательно необходимо применить команду:

Перезагружаемся в нашу систему. Если всё сделано правильно, то всё загрузится и заработает! Дальше можно приступать к созданию снапшотов.

Проверить наши подтома можно примонтировав раздел btrfs в запущенной системе, в нашем случае это sda1:

Система не запустилась и выдает ошибку

Находясь в chroot мы обновили загрузчик grub2. Перезагружаем и видим такой вывод - “error file boot/grub/i386-pc/normal.mod not found” и "grub rescue>". Загрузчик не нашел путь до модуля normal.mod

Без модулей grub поддерживает только ту файловую систему, которая была в /boot. Вы можете попытаться просмотреть содержимое каждого раздела чтобы определить где находятся файлы модулей.
Наш boot там же, где и @.

В таких случаях нам нужно найти раздел /boot. Мы знаем, что /boot у нас в @, поэтому ищем где наши @ и @home.
Ищем @ и @home в разделе hd0,1:

Если вы увидели папку boot, значит это наш раздел. Дальше устанавливаем этот раздел значением переменной root с помощью команды set:

Загружаем и запускаем модуль normal, который должен загрузить все, что нам необходимо:

Происходит загрузка в систему.
Дальше в системе устанавливаем загрузчик grub2 в /dev/sda:

Создание снапшотов

Смонтируем наш раздел sda1 c btrfs в /mnt:

Посмотрим наши подтома:

Пояснение: В данном выводе мы видим, что на разделе /dev/sda1 присутствуют два подтома, корневой - @ и домашний - @home. level в нашем случае должен быть в пределах от 0 до 9. В ином случае (если значение трехзначное число) это будет вложенный подраздел (подраздел внутри подраздела).
Создадим снапшот корневого подтома @:

Для понимания создания снапшотов был создан текстовый файл "test snaphot" в корневом каталоге в папке /opt. После этого сделаем переход на снапшот в качестве корня.

Переходы по снапшотам

Переход по подтомам можно осуществлять в рабочей системе. Все изменения вступят в силу после перезагрузки. Переход на снапшот в данной схеме будет осуществляться через команду mv.
Cоздание снапшотов и переходов для всех подтомов делается аналогичным образом, следите только за пространством жесткого диска и именами подразделов!
Перейдем на снапшот в качестве корневого каталога. Продолжаем работать в смонтированном в /mnt разделе /dev/sda1, или же примонтируем вновь, как описано выше!
Переименуем наш кореневой подтом @ в @_old:

А снапшот @_snapshot переименуем в кореневой подтом @:

Все изменения вступят в силу после перезагрузки. До этого работа продолжиться в созданном @_old. После перезагрузки проверим каталог /opt и увидим, что файл "test snaphot", созданный нами ранее, отсутствует! Он остался в @_old, поэтому снапшоты и называют моментальными снимками!
Посмотрим каталог /opt:

И смотрим предыдущий корневой подтом:

Удалить лишние подтома (с раздела /dev/sda1, примонтированного в /mnt) можно командой:

В заключении

После всех манипуляций и настроек рекомендуем ознакомиться с инструментами fstrim, filefrag при использовании Btrfs на SSD, воспользовавшись руководствами man.
Провести балансировку и дефрагментацию системы, как описано в этой статье.
Раз в месяц или меньше рекомендуем пользоваться командой btrfs scrub start <путь>, она считывает все блоки данных и метаданных со всех устройств и проверяет контрольные суммы. Автоматически восстанавливает поврежденные блоки, если есть правильная копия. Дополнительную информацию вы можете посмотреть по внешней ссылке "Btrfs in Calculate Linux" в конце статьи.

Диски, использующие электронные ячейки памяти (SSD — Solid State Drive), мало весят, работают бесшумно и потребляют втрое меньше энергии, чем жёсткие диски (HDD). Однако главная причина их популярности – фантастическая скорость работы. Операционная система загружается быстро, операции с файлами большого размера выполняются значительно быстрее.

Недостаток твердотельных накопителей – износ ячеек. Память деградирует в процессе перезаписи данных. В среднем через 0,5-3 года диск может выйти из строя. Для того, чтобы продлить жизнь накопителя, использование Linux на SSD должно подчиняться определённым правилам. Каким – рассмотрим в этом материале.

Особенности работы SSD

Классические жёсткие диски (HDD) хранят данные в магнитном слое. Для чтения и записи используется позиционируемая магнитная головка. Перемещение считывателя требует какого-то времени, поэтому скорость работы HDD ограничена.

Принцип работы SSD основан на использовании электронных ячеек памяти. Единицу информации хранит заряд внутри транзистора, обращение к ячейкам выполняет контроллер. Задержки при чтении или записи минимальны.

Однако с каждой новой перезаписью ячейка разрушается и перестаёт удерживать заряд. Контроллер постоянно проверяет ячейки и переписывает информацию в исправные блоки. Когда свободное место заканчивается, накопитель приходится заменять.

Инженеры успешно работают над продлением срока службы SSD, но сами пользователи также могут продлив срок жизни накопителя, правильно настроив операционную систему.

В Интернете есть сотни советов, выдаваемых поисковиками по запросу "Установка Linux на SSD", однако мы советуем воспринимать написанное с осторожностью. Остановимся на моментах, способствующих улучшению состояния SSD-хранилища без риска потери данных.

Как установить Linux на SSD?

Внешне установка операционной системы Linux на твердотельный накопитель выглядит так же, как и на магнитный диск. Могут отличаться лишь настройки файловой системы, раздела подкачки и параметры монтирования разделов.

1. Выбор файловой системы

На данном этапе для Unix разработаны специальные файловые системы, учитывающие особенности работы SSD-дисков:

  • Extended4 (ext4) – самая популярная и стабильная файловая система в этой среде, поддерживающая отключаемое журналирование, а также функцию TRIM.
  • BtrFS – файловая система, разработанная инженерами Oracle, поддерживает зеркальные копии структур данных и контрольные суммы, что позволяет легко восстанавливать файлы при повреждении. Журналы не ведутся, поэтому дополнительной нагрузки на диск не возникает.
  • XFS – файловая система, разработанная Silicon Graphics для работы с большими файлами, журналы ведутся только для регистрации изменений структур данных.
  • Flash-Friendly File System (F2FS) – разработка Samsung специально для флешек и SSD. Учитывает особенности износа памяти, собирает данные в пакет, который затем записывает в свободные области за один цикл.

Как видим, выбор богат, поле для экспериментов широкое. Однако если вы спросите, какая файловая система на SSD для Linux будет наилучшей, мы посоветуем остановиться на проверенной годами ext4. Прочие системы продолжают дорабатываться, в них могут быть критические ошибки.

2. Настройка файла подкачки

Оперативной памяти много не бывает. Если у вас её меньше, чем 4 Гб, рекомендуем докупить и установить дополнительные планки. В этом случае файл подкачки будет меньше задействован операционной системой. Отсюда следует резонный вопрос: нужен ли swap для Linux на SSD?

При установке системы мы всё же рекомендуем создать файл подкачки. В тех случаях, когда памяти недостаточно, Linux начинает выгружаться на диск, но не падает. У вас будет шанс обнаружить и выгрузить слишком ресурсоёмкую программу.

Специфика выгрузки сегментов памяти в Linux в файл подкачки регулируется параметром swappiness. По умолчанию его значение равно 60. Чем меньше эта величина, тем сильнее должна быть перегружена система перед началом выгрузки памяти на диск.

Для того, чтобы проверить эти настройки, запустите Terminal и выполните команду:


В нашем случае установлено значение по умолчанию. Для того, чтобы его изменить, необходимо отредактировать файл /etc/sysctl.conf. Откройте файл в редакторе с помощью команды:

sudo nano /etc/sysctl.conf

Перейдите в конец файла, нажав на клавиатуре сочетание Alt-/, и добавьте строку:


Закройте редактор, сохранив изменения в отредактированном файле. Новые настройки вступят в силу после перезагрузки операционной системы.

3. Настройка монтирования в fstab

После того, как установка Linux на SSD завершена, рекомендуется изменить настройки монтирования. Особенностью Unix-систем является наличие специального атрибута у файлов — времени последнего доступа (access time stamp). Этот атрибут перезаписывается каждый раз при обращении какого-либо процесса к файлу. Необходимость атрибута сомнительна, а нагрузка на SSD существенна.

Обновление атрибута времени последнего доступа отключается, если добавить в строку монтирования дисков опцию noatime. Для изменения настроек необходимо отредактировать файл /etc/fstab. Это системный файл, поэтому для его редактирования нужны права суперпользователя:

sudo nano /etc/fstab

С помощью стрелок установите курсор в позицию после обозначения типа файловой системы (ext4) и после пробела впишите ключевое слово noatime. После него поставьте запятую. Обратите внимание, что пробела между запятой и следующим словом быть не должно.


Изменённые строки должны выглядеть так:

UUID=xxxxxxx / ext4 noatime,errors=remount-ro 0 1

UUID=xxxxxxx /storage ext4 noatime,defaults 0 1

4. Настройка TRIM

Настройка SSD в Linux близится к завершению. Остаётся рассмотреть метод TRIM. Так как ячейки памяти изнашиваются, встроенный контроллер каждый раз записывает данные в новые блоки. Когда свободное место подходит к концу, диск начинает притормаживать.

Файлы в операционной системе исправляются, затираются, удаляются. Задача команды TRIM (Data Set Management) – сообщить контроллеру SSD, что те или иные блоки данных уже пусты и в них можно опять записывать информацию.

В Linux команда TRIM по умолчанию выполняется раз в неделю. В случае повышенной интенсивности использования компьютера этого недостаточно, желательно запускать оптимизацию чаще.

Проверьте установки таймера, запускающего выполнение команды TRIM:

systemctl cat fstrim.timer


Убедитесь, что в секции [Timer] значение OnCalendar установлено как weekly (неделя). Для того, чтобы добавить новую настройку, выполните следующие команды:

sudo mkdir -v /etc/systemd/system/fstrim.timer.d

Теперь откройте созданный файл с помощью редактора Nano:

sudo nano /etc/systemd/system/fstrim.timer.d/override.conf

Добавьте в файл следующие строки:

[Timer]
OnCalendar=
OnCalendar=daily


Закройте редактор, сохранив изменения в отредактированном файле. Для применения настроек перегрузите компьютер или выполните команду:

sudo systemctl daemon-reload

Убедитесь в том, что изменения настроек применены, выполнив команду:

systemctl cat fstrim.timer


Всё в порядке, команда TRIM теперь будет выполняться ежедневно.

Выводы

Твердотельный накопитель работает в 100 раз быстрее, чем магнитный диск, однако также имеется и своя специфика использования. Последние версии Windows или Ubuntu учитывают особенности SSD, поэтому могут быть рекомендованы к использованию с этими устройствами. Для того, чтобы установить Linux на SSD, не нужны какие-то особые знания. Мастер установки подскажет, какие шаги надо выполнить.

Скорость SSD в Linux можно измерить с помощью команды:

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

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Читайте также: