Выравнивание разделов на ssd linux
Настройка диска ssd в ubuntu в связке с hdd
Хочу поделиться опытом настройки диска ssd в Ubuntu. А также развеять мифы оптимизации. К тому же расскажу о монтировании дополнительного диска hdd, чтобы хранить большие объемы информации.
На свой ноутбук купил ssd диск, к тому же вместо оптического привода вставил hdd диск на 500 гигабайт, чтобы хранить фильмы, музыку, фотки.
1. Выравнивание диска ssd.
Итак, хотелось бы сказать про то, что на многих сайтах советуют выравнивать диски ssd. Хочу вас уверить, что и fdisk и gparted и стандартный менеджер разбивки дисков при установке ubuntu автоматически выравнивают разделы.
Вот таким образом я разбил свой диск ssd:
Для корневого раздела «/» выделил стандартно 40 гигабайт.
Для «swap» 4 гигабайта. (swap это хорошее дело на ssd, дальше опишу почему)
Для «/home» домашнего каталога — все остальное.
( Первый раздел это 200 мегабайт — загрузочный раздел для uefi.
В следующей статье расскажу как легко и просто поставить ubuntu на uefi )
Так вот, проверяется диск на выравнивание выполнением следующей команды в консоле: sudo parted /dev/sda align-check opt 1
Если будет выдано следующее сообщение:
«aligned», то значит ваш диск выравнен.
И не надо читать кучу форумов об этом, сидеть с калькулятором и вымерять, все делается автоматически, при использовании популярных программ, таких как gparted, gdisk, fdisk или менеджер дисков установщика.
2. Swap раздел нужен на ssd.
40:1 чтение:запись.
Поэтому не нужно объяснять, что чтение с ssd диска будет идти быстрее, чем с hdd.
Единственное, что нужно сделать, это изменить параметр swappiness на значение 10 . О том, как это можно сделать, написано в этой моей статье:
3. Настройка Trim.
О том, что такое Trim , можно почитать на википедии.
Скажу лишь, что это команда, которая посылает контроллеру информацию о том, где уже были удалены файлы и освобождено место, чтобы очистить информацию на диске.
Если TRIM не работает, накопитель узнает об удалении файла только в тот момент, когда ОС прикажет ему перезаписать LBA, покрывающий ставший ненужным файл.
Вся суть сводится к тому, чтобы включить это.
Для начала нужно проверить, поддерживает ли ваш ssd Trim , делается это выполнение следующей команды в терминале: sudo hdparm -I /dev/sda | grep «TRIM supported»
Если в результате будет сообщение «Trim supported»:
То можно перейти к самой настройке включения.
Можно запускать в ручную командой: sudo fstrim / -v
Выполнение может занять какое-то время, в случае успешности операции, вы увидите следующее сообщение:
То значит Trim был успешно выполнить.
Автоматическое включение можно настроить добавление discard в опции монтирования fstab, об этом расскажу ниже. ( Но многие говорят, что это плохой способ )
Либо создав задачу в Cron (менеджере задач по расписанию):
Создаем ежедневную задачу с именем «trim» следующей командой: sudo gedit /etc/cron.daily/trim
И в открывшийся текстовый файл вставляем следущее:
После чего, сохраняем и закрываем.
Теперь сделаем данный файл исполняемым следующей командой: sudo chmod +x /etc/cron.daily/trim
Теперь ubuntu будет каждый день выполнять trim.
Не советую добавлять параметр discard в опции монтирования fstab.
Стоит упомянуть, что Trim в linux работает только со следующими файловыми системами: ext4 и btrfs.
4. Монтирование разделов в fstab.
При загрузке системы, у вас монтируются диски и разделы, которые указаны в файле:
В принципе, если у вас один жесткий диск ssd, то можете смело им пользоваться без тех настроек, что описаны в данном пункте.
Я в данном файле примонтировал второй жесткий диск, для того, чтобы примонтировать каталоги Музыка, Видео и Изображения, которые будут весить много места и на sdd они все не поместятся.
Ну и еще можно переместить на hdd с ssd каталог /var, так как в него пишется очень много всякого, например логи и деб пакеты перед установкой программ.
Отредактируем данный файл, выполнив следующую команду в терминале: sudo gedit /etc/fstab
Откроется текстовый файл, где перечислены монтируемые устройства:
У меня он вот такой (кликните по изображению для увеличения):
UUID=»5cfa4dbd-fca2-470a-a785-ebc56cd29387″ /diskette ext4 defaults 0 2
Разберем данную команду подробнее.
1 параметр. Это UUID устройства. Увидеть его можно либо в gparted щелкнув по разделу дважды мышкой. Либо выполнив в терминале команду: blkid
И появится весь список устройств с UUID:
Мне нужен выделенный раздел жесткого диска, в этой строчке выделяем наш UUID и прописываем в первом параметре .
2 параметр. Это точка монтирования.
Это папка, через которую будет производиться обращение к разделу. В принципе, может быть любой.
Прежде чем монтировать в какую-либо папку, не забудьте ее создать.
Например в моем случае это sudo mkdir /diskette
3 параметр. Это файловая система. Думаю объяснения не нужно, если не уверены как пишется или не знаете, то для ленивых есть параметр «auto».
4 параметр. Это параметры монтирования. В принципе достаточно defaults.
Вот какие параметры можно использовать:
exec — Разрешение на запуск исполняемых файлов. Опция включена по-умолчанию.
noexec — Запрет на запуск исполняемых файлов.
auto — Раздел будет автоматически монтироваться при загрузке системы. По-умолчанию.
noauto — Раздел не будет автоматически монтироваться при загрузке системы.
ro — Монтирование только для чтения.
rw — Монтирование для чтения и записи. По-умолчанию.
user — Разрешение простым пользователям монтировать/демонтировать этот раздел.
nouser — Запрещает простым пользователям монтировать/демонтировать этот раздел. По-умолчанию.
defaults — Использование всех параметров по-умолчанию.
discard — Включает Trim на раздела с ФС ext4 и btrfs (очень не рекомендуется)
5 параметр. Флаг бэкапа.
Если 1 — то программа dump включит этот раздел при резервном копировании.
Если 0 — то этот раздел не будет включен при резервном копировании.
6 параметр. Порядок проверки разделов.
Устанавливает порядок проверки раздела при монтировании на наличие ошибок. Если установить один и тот же порядок для двух разделов, они будут проверяться одновременно.
Если 0 — раздел не проверяется.
Таким вот образом можно примонтировать новый жесткий диск к определенному каталогу в систему.
Но если мы выставили параметр монтирования defaults, то на данном жестком диске мы не сможем выполнять операции создания и удаления.
Для этого нам нужно получить права на новый диск, делается это очень просто, выполняем в терминале команду: sudo chmod -R 777 /diskette/
естественно в команде вместо /diskette/ вы указываете свою точку монтирования.
И теперь, когда мы примонтировали жесткий диск, мы можем перегрузиться и проверить что он монтируется.
Теперь вот можно перейти к самому интересному. А именно к монтированию каталогов. Переносу Музыка, Видео, Загрузки на HDD, потому что на нем намного больше места.
Почему не перенести всю папку home?
Потому что в ней хранятся файлы конфигураций и многое другое, высокая скорость чтения которых обязательна. Иначе зачем вообще покупать ssd?
Монтируются каталоги следующим способом.
В каталоге точки монтирования, у меня это /diskette/ создаем каталоги с такими же названиями Музыка, Видео и тд
После чего прописываем следующую команду:
/diskette/Музыка /home/edward/Музыка none bind 0 0
Разберем данный случай для монтирования каталогов,
первым параметром мы указываем нашу новую папку на HDD, которая монтируется в каталог домашней папки Музыка.
Обязательные параметры none bind 0 0.
Таким образом вы можете прописать и другие каталоги по желанию.
Вот что получилось в моем случае:
В домашний каталог можно записать всего лишь 77 гигабайт, а в папку Видео можно записать почти 500 гигабайт информации.
Вот таким образом можно настроить свою систему.
Больше ничего делать не нужно с ssd. Не нужно настраивать commit, atime и прочую ересь, что несут в других блогах. Это все было актуально на старых моделях ssd, когда они только появились.
Вообще забудьте, что у вас SSD. Просто пользуйтесь им.
Установка 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.