ROSAForum
Forum about ROSA Linux Distros
Краткая инструкция по установке Rosa на ssd и btrfs
Краткая инструкция по установке Rosa на ssd и btrfs
Сообщение wolfeyes » 09 дек 2014, 00:00
Захотел я поэкспериментировать со стареньким Asus EeePC 1015, ssd диском на 128 гб, btrfs, субразделами (subvolume) и снапшотами. Русскоязычной документации я не нашел, поэтому ниже краткая инструкция:
0. Устанавливаем в EeePc ssd диск, лишаясь гарантии.
Мне не страшно, т. к. я уже разобрал и собрал его много раз.
1. Запускаемся с livecd или флешки и делаем разметку с помощью gparted.
Размечал не штатным установщиком, т. к. начитался ужастиков по выравниванию разделов. Все сводится к тому, что первый раздел должен начинаться с 2048, а второй и следующие c сектора, кратного 8. Так же с помощью gparted удобно оставить для swap ровно столько гигабайт, сколько нужно. Подкачку многие не советуют хранить в файле на btrfs, поэтому я решил пожертвовать 4 гб и выделить отдельный раздел.
Моя разметка:
Корень на brtfs. (Home позже сделаем с помощью subvolume)
/dev/sda1 сектора 2048 — 226052095, 108 гб
Swap
/dev/sda2 сектора 226052096 — 234440703, 4 гб
2. Устанавливаем систему с помощью штатного установщика.
Там всё как обычно и по умолчанию.
3. После установки проверяем, что система работает и снова запускаемся с livecd. Время создавать субразделы (subvolume)
Открываем консоль и переходим с помощью su в root. Создаем в mnt папку, например btrfs:
Для нас это обычные папки. Конечно, это не совсем обычные папки, это субразделы, но операции с файлами такие же. Только удалять subvolume нужно с помощью команды btrfs subvolume delete SUBVOL
Команда для посмотра subvolume:
Это позволяет хранить логи и прочие временные файлы в tmpfs, которая в свою очередь всё хранит в оперативной памяти. Таким образом нагрузка на ssd снизится. Также не забудьте перед перезагрузкой удалить содержимое этих папок в /mnt/btrfs/@.
4. Перезагружаемся в нашу систему. Если всё сделано правильно, то всё загрузится и заработает. Но это еще не всё. Надо переустановить grub и отказаться от default subvolume. Это не моя идея, так советуют умные люди ради того, чтобы при обновлениях и прочих действиях, когда выполнится команда grub2-update, ничего не поломалось. Grub2 умеет определять субразделы относительно корня, поэтому он найдет boot не в /boot, а в /@/boot. Это может показаться сложным для понимания, но на самом деле так надо для работы со снапшотами и воизбежание путаниц с путями к файлам.
Создаем папку для монтирования:
5. Перезагружаемся и радуемся.
6. Теперь можно делать снапшоты на живой системе.
Желательно это делать не насилуя в данный момент файловую систему, например не устанавливая обновления. Из под root пишем:
Готово! Мы моментально, в одну секунду, сделали снимок. Если объяснять на пальцах, то система не будет дублировать данные. Она создаст еще одну таблицу и будет следить за тем чтобы нигде ничего не потерялось. Если мы вдруг удалим файлы из @, то данные на диске останутся, т.к на них еще указывает таблица из @_backup. А если изменим /etc/hosts, то система сохранит два файла для @ и @_backup.
Теперь загрузим систему со снапшота @_backup. Для наглядности можно что-то удалить или установить. Подменим @ на @_backup:
На живой системе переименовываем subvolume @ в @_old:
Перезагружаем систему и ВУАЛЯ. Мы видим то, что было во время снапшота. Timemashine отдыхает.
Чтоб вернуться обратно делаем все наоборот и перезагружаем систему.
Надо учесть, что снапшоты съедают место на диске и нам иногда придется удалять некоторые снапшоты. Просто удалять их нельзя, для этого есть специальная команда:
О производительности.
Я не тестировал создание 100000000 файлов с одновременным копированием одного файла в 1000000 гб, но если судить по времени загрузки и отзывчивости интерфейса, то система работает намного быстрее чем на ext4 (и чем на hdd) и наверно чуть медленнее, чем на XFS. Система с LXDE загружается очень шустро. Если отключить запрос пароля в DM и 5 секунд загрузчика, то получается, что загрузка BIOS отнимает столько же, сколько и система. C KDE совсем другая ситуация. Очень много времени проходит со времени ввода пароля до загрузки рабочего стола. Пробовал множество настроек, но побороть не получилось. НО. Зато восстановление из гибернации происходит в считанные секунды. Я вынужден использовать KDE, т.к очень нужен Okular и быстрое подключение к внешним мониторам и проекторам
По сравнению с обычным диском работа от батареи несколько возросла, особенно, когда занимаешься чтением pdf или просмотром Интернета с большим содержанием текста.
Дополнительно для ssd:
Хорошая идея установить порог использования swap как можно меньше. Вставим строку vm.swappiness=5 в /etc/sysctl.conf (значения от 0 до 100) Это заставит систему использовать swap при крайней необходимости и меньше писать на диск.
Также я на рабочем столе сделал два sh скрипта с командами swapon и swapoff. Суть в том, что один включает раздел swap, другой выключает. Не уверен в особой нужде, это больше эксперименты с sudo.
Многие предлагают настраивать браузеры таким образом, чтобы они не хранили кеш и историю на диске, а только в оперативной памяти. Я без истории жить не могу, а вот отсутствие кеша я особо не заметил, хотя часто пользуюсь 2g/3g. Также я выключил flash и другие надстройки, чем уменьшил трафик и увеличил работу от АКБ, когда надо долго работать текстом на сайтах.
Установка Linux на SSD
Диски, использующие электронные ячейки памяти (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.