Формат ssd для линукс

Оптимизация Ubuntu (и прочих Linux-ов) под SSD

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

Первое, с чего стоит начать — это выбор файловой системы. Если система на десктопе — то особо вопросов не возникает — брать журналируемую ext4 — у которой масса преимуществ перед остальными ФС. Да, будет больше циклов записи на носитель, но будет гарантия того, что в случае сбоя питания вы не потеряете данные. На ноутбуках, нетбуках — имеются батареи, и вероятность отключения из-за потери питания — практически нулевая (но, конечно, всякое бывает), в связи с чем журналирование, обычно рекомендуют отключать. Если это очень хочется сделать, то после установки системы грузимся с liveCD, и пишем в терминале

tune2fs -O ^has_journal /dev/sda1
e2fsck -f /dev/sda1

Другие способы не рекомендуются — потеряете поддержку TRIM. Также не стоит отключать журнал, добавляя параметр «writeback» в конфигурацию fstab — система не запустится из-за ошибки монтирования (если до этого был включен трим).

Следующее, что нужно учесть — файл подкачки. Под моим никсом (сейчас — убунту 11.04) обычно пишется код, смотрятся фильмы в HD и активно серфится интернет. За это время файл подкачки не понадобился ни разу, максимальное потребление ОЗУ было 1Гб, из 2х доступных в нетбуке.
Если Ваш сценарий использования системы подобен моему, или у Вас не десктоп — файл подкачки не нужен. Иначе стоит его перенести на HDD. Если журналирование еще можно оставить, ввиду его относительной безобидности, то своп-раздел — однозначно зло, сжирающее как ограниченные циклы перезаписи, так и недешевые гигабайты, количеством которых современные SSD пока не могут похвастаться.

Ну вот, система поставлена — можно заниматься оптимизацией! Самый первый шаг — включение TRIM — главная технология, которая должна продлить жизнь и распределить нагрузку SSD.
Делается очень просто — открываем fstab (например так)

gksudo gedit /etc/fstab

ищем строчки
«UUID=[NUMS-AND-LETTERS] / ext4 errors=remount-ro 0 1»
и заменяем на
«UUID=[NUMS-AND-LETTERS] / ext4 disсard,errors=remount-ro 0 1»

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

1. dd if=/dev/urandom of=tempfile count=10 bs=512k oflag=direct //запись 5Мб рандомных данных

2. hdparm —fibmap tempfile //Ищем любой стартовый LBA адрес у файла

3. hdparm —read-sector [ADDRESS] /dev/sdX //Читаем данные со стартового LBA адреса файла, замените [ADDRESS] на свой Starting LBA address из вывода предыдущей команды

4. rm tempfile //Теперь удалим временный файл и синхронизируем ФС:
5. sync

Повторяем пункт 3 — и смотрим на вывод консоли. Если выведутся нули — то трим работает. Если вы исправили fstab, перезагрузились, но трим не активировался — ищите ошибки в неверном отключении журналирования.

Далее стоит вспомнить о том, что наш никс очень любит вести разнообразные логи. И либо перенести их на HDD, либо держать в ОЗУ до перезагрузки системы. Я считаю, что если у Вас дома не сервер — то оптимален второй вариант, и реализуется он добавлением в fstab следующих строчек
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/spool/postfix tmpfs defaults 0 0

По умолчанию, после каждого открытия файла — система оставляет отметку времени последнего открытия — лишние операции записи. Отучить просто — добавить в fstab перед параметрами
disсard,errors=remount-ro 0
еще парочку опций —
relatime,nodiratime Первая разрешает записывать только время изменения (порой необходимо для стабильной работы некоторых программ), вторая — отменяет запись времени доступа к директориям. В принципе, вместо relatime можно поставить и noatime, который вообще ничего не будет обновлять.

После этого стоит настроить отложенную запись — ядро будет копить данные, ожидающие записи на диск, и записывать их либо при острой необходимости, либо по истечении таймаута. Я ставлю таймаут на 60 секунд, кто-то — на 150.
Для этого открываем /etc/sysctl.conf и добавляем параметры
vm.laptop_mode = 5 // Включение режима
vm.dirty_writeback_centisecs = 6000 время в сСк. Т.е. 100ед = 1секунда

Читайте также:  Explorer edge для windows 10 как удалить

И, напоследок, отключаем I/O планировщик, который был когда-то нужен для лучшего позиционирования головок HDD. Для этого заходит в конфиг граба /etc/default/grub
и в строчку
GRUB_CMDLINE_LINUX_DEFAULT=«quiet splash» вставляем параметр elevator=noop
По пути можно убрать ненужный и малоинформатиынй сплэш-скрин, сократив время старта системы еще на секунду, просто убрав quiet splash.

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

Источник

Активация discard (TRIM) на Linux для SSD

Современные накопители данных такие как SSD нуждаются в команде TRIM интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем:

  • discard — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправлять команду TRIM на устройство, как только об этом сообщит файловая система.
  • fstrim — утилита которая запускается вручную или по расписанию как сервис ОС, отправляет список удаленных блоков с ФС для зачистки их на устройстве.

Для включения fstrim достаточно активировать сервис fstrim.service в systemd, но лучше вместо сервиса, который будет висеть в памяти, использовать таймер fstrim.timer который будет запускать еженедельный TRIM.

Пример включения сервиса:

Но этих мер недостаточно, если у вас файловые системы располагаются на томах LVM, а LVM в LUKS игла в яйце, яйцо в утке, утка в зайце :

Первое что нужно сделать, это проверить, что контроллер SATA работает в режиме AHCI, а не IDE, иначе TRIM работать не будет:

Ключевое слово здесь это TRIM supported , значит контроллер SATA работает в режиме AHCI и вам не нужно ничего менять в BIOS или UEFI.

Итак, опция discard может устанавливаться:

  • в суперблоке ФС (как опция монтирования по умолчанию)
  • в конфигурации монтирования ФС — /etc/fstab
  • в конфигурации cryptsetup — /etc/crypttab
  • в конфигурации LVM — /etc/lvm/lvm.conf
  • в конфигурации загрузчика — /boot/grub/grub.cfg

Мы рассмотрим все эти варианты. Примеры будут даны для дистрибутива Arch Linux и его производных, но я думаю вас не затруднит адаптировать тему к любому другому дистрибутиву Linux.

discard в суперблоке EXT4

Если в /etc/fstab для файловой системы опция discard не указана или в опциях монтирования указана опция defaults , то система будет использовать опции монтирования прописанные в суперблоке файловой системы. Это актуально для файловой системы EXT4. Запись опций монтирования в суперблоке ФС может быть выгодна тем, что если у вас съёмное устройство которое подключается по SATA к разным машинам в которых вы не можете по каким-то причинам вносить изменения в /etc/fstab .

Добавляем опцию монтирования discard по умолчанию в суперблок файловой системы EXT4. У меня это три раздела:

Убедиться в установленной опции можно через tune2fs . Здесь /dev/mapper/vg1-lvroot это устройство, раздел с файловой системой EXT4 в томе LVM:

discard в fstab

Если это единственная система куда разделы SSD будут монтироваться, то мы можем прописать опцию discard явно в /etc/fstab для автомонтирования разделов, но устанавливать опцию необязательно для EXT4, если она уже была ранее задана в суперблоке.

Также, опцию discard следует добавить для swap раздела:

discard на LVM

В конфигурационном файле /etc/lvm/lvm.conf устанавливаем значение опции issue_discards в значение равное 1 :

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

discard для зашифрованного root-раздела

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

WARNING: This command can have a negative security impact because it can make filesystem-level operations visible on the physical device. For example, information leaking filesystem type, used space, etc. may be extractable from the physical device if the discarded blocks can be located later. If in doubt, do not use it.

Если вы Джеймс Бонд или секретный агент который занимается незаконными делами или работаете с гостайной и рискуете потерять жизнь, то эту опцию нежелательно использовать. В иных случаях, для простого пользователя, который шифрует разделы на устройстве с целью защиты информации от посторонних глаз, защиты себя и своих близких от шантажа неким домашним хакером в случае кражи ноута или устройства, то возможно ли расшифровать данные, если злой хакер получит метаданные файловой системы? Каким уровнем знаний должен обладать этот хакер, чтобы справится с расшифровкой данных? Какова цена? Предлагаю обсудить это в комментариях 🙂

Читайте также:  Как использовать службу windows удаленно

В приведенной выше схеме разметки таблицы разделов на накопителе, некоторые разделы являются зашифрованными и «заперты» в криптоконтейнере LUKS. Чтобы TRIM был разрешен для этих разделов, корневой раздел должен быть открыт cryptsetup ‘ом с аргументом —allow-discards или опция должна быть прописана в /etc/crypttab для нужного раздела, но проблема заключается в том, что мы не можем прописать опцию в /etc/crypttab , так как root-раздел в нашей схеме изначально зашифрован и система не может прочитать его до того как откроет криптоконтейнер.

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

Добавляем значение allow-discards в конфигурационный файл /etc/default/grub для параметра cryptdevice в параметре для ядра GRUB_CMDLINE_LINUX .

Меняем эту строчку:

Затем необходимо сгенерировать «правильный» конфиг grub’а:

Также проверьте, что у вас образ initramfs скомпилирован с хуком encrypt который позволяет открывать криптоконтейнеры с помощью cryptsetup и он расположен до хука lvm2 :

После внесения изменений в grub систему следует перезагрузить для применения изменений.

discard для других зашифрованных разделов устройства

В приведенной выше схеме разметки, раздел /home не является корневым и находится в контейнере LUKS. В этом случае, следует прописать опцию монтирования discard в конфигурационном файле /etc/crypttab который зачитывается системой до зачитывания и выполнения /etc/fstab .

Формат записи опции в конфигурационном файле вы найдете в мануале: man crypttab

Проверка TRIM

Выполните следующую команду:

Если вы видите нулевые значения в колонках DISC-GRAN (discard granularity) и DISC-MAX (discard max bytes), значит TRIM не работает.

Проверить еще можно командой ручного вызова TRIM:

Если вы видите положительный результат, значит TRIM работает. При полной поддержке TRIM значения должны быть на всех разделах:

Здесь DISC-GRAN равен 512B потому что размер сектора на моём SSD равен 512 bytes. Операционная система посылает команду TRIM контроллеру накопителя с указанием номеров секторов, которые могут быть очищены. Размер вашего сектора можно узнать из следующих команд:

UPDATE 14.04.2020 14:20: Добавил предупреждение использования опции на зашифрованных томах. Спасибо AAngstrom который отметил в комментариях это упущение.
UPDATE 23.04.2020 22:00: Подправил текст, убрал слово «диск» из текста, так как оно не соответствует описываемому в статье устройству. Спасибо vitaliy2

Источник

4 лучшие SSD-совместимые файловые системы в Linux

Главное меню » Операционная система Linux » 4 лучшие SSD-совместимые файловые системы в Linux

1. Ext4

Extended4 (он же Ext4) – это файловая система, которую предпочитают большинство дистрибутивов в Linux, и для этого есть веская причина. Это значительное улучшение Ext3 и включает в себя множество замечательных функций, в том числе для твердотельных накопителей (SSDS).

Несмотря на то, что Ext4 вездесущ в Linux, вы можете заметить на отдельных форумах, что пользователи унижают Ext4, жалуются на отсутствующие в нем функции и советуют новичкам избегать его в пользу других файловых систем.

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

Преимущества использования Ext4

  1. Сегодня Ext4 широко используется практически в каждом дистрибутиве Linux, и большинство пользователей Linux знакомы с Ext4, поэтому поиск помощи при использовании его на вашем SSD не очень сложен.
  2. Наряду с поддержкой TRIM, Ext4 также включает в себя множество других оптимизаций SSD (для повышения производительности).
  3. Пользователи могут отключить ведение журнала, чтобы защитить ограниченную природу чтения/записи своих SSD.

Недостатки использования Ext4

  1. Ext4 построен на более старой технологии, поэтому ему не хватает современных функций файловой системы, которые есть в таких системах, как E2FS и BtrFS.
  2. В Ext4 по умолчанию включено ведение журнала, и новые пользователи, вероятно, не будут знать, как отключить его, чтобы сохранить чтение/запись на свои твердотельные накопители.

Взять в свои руки Ext4

Самое приятное в Ext4 – то, что вам не нужно включать модуль ядра или устанавливать что-либо для его использования. Просто настройте дистрибутив Linux на свой SSD, как обычно, и все готово!

2. BtrFS

BtrFS от Oracle Corp – это новый тип файловой системы, которая была создана для уменьшения проблем, повышения производительности системы и упрощения восстановления.

Читайте также:  Нет строки создать папку windows 10

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

Как и следовало ожидать, BtrFS поддерживает обычные функции SSD, такие как TRIM, и другие оптимизации SSD (такие как дефрагментация и т. д.). Кроме того, BtrFS также имеет надежную функцию моментальных снимков, которая позволяет пользователям мгновенно создавать (и выполнять откат) изменения в системе.

Преимущества использования BtrFS

  1. По умолчанию BtrFS не ведет журналирование, поэтому в отличие от Ext4 вам не нужно его отключать, если вы не хотите, чтобы журналы файловой системы снижали скорость чтения/записи.
  2. Файловая система является новой и находится в стадии разработки, поэтому регулярно добавляются новые функции.
  3. BtrFS имеет функцию дефрагментации SSD, которая позволяет пользователям очищать данные на своем диске.

Недостатки использования BtrFS

  1. BtrFS крайне нестабилен и может привести к сбою и повреждению ваших данных, если что-то пойдет не так.
  2. BtrFS имеет функцию копирования при записи, которая, возможно, столь же плоха, как ведение журнала файловой системы, и может (потенциально) исчерпать лимит чтения / записи для SSD.

Взять в руки BtrFS

BtrFS поддерживает ядро ​​Linux, и многие дистрибутивы Linux (например, OpenSUSE) выбирают его в качестве файловой системы по умолчанию. Если вы не против OpenSUSE и хотите попробовать эту файловую систему, установите Leap! В качестве альтернативы, выберите «BtrFS» в разделе пользовательской установки при настройке ПК с Linux.

3. XFS

Файловая система XFS популярна в сообществе Linux за ее способность надежно обрабатывать и обрабатывать значительную часть данных. Она также известна своей высокой производительностью и скоростью. Так что, если у вас много данных, вам нужен быстрый доступ к ним и вы планируете хранить их на SSD, XFS – отличный выбор.

При установке ОС Linux в XFS на SSD вы получите функции, сравнимые с Ext4, такие как TRIM и другие оптимизации. Вы также получите функцию дефрагментации SSD.

Преимущества использования XFS

  1. XFS хорошо известна своей способностью легко обрабатывать большие объемы данных. Используя XFS на вашем SSD, вы можете гарантировать, что ваши файлы в безопасности.
  2. Преимущества производительности XFS на SSD означают, что вы сможете передавать и получать доступ к файлам и данным гораздо быстрее, чем другие файловые системы.
  3. В XFS есть функция дефрагментации SSD, которая очень полезна и поможет сохранить работоспособность вашего диска.

Недостатки использования XFS

  1. XFS – это файловая система журналирования, и эту функцию невозможно отключить. Невозможность отключить ведение журнала – это то, чего стоит опасаться, если вас беспокоит ограничение чтения/записи SSD.

Получить в свои руки XFS

Как и Ext4, XFS поставляется из коробки во многих дистрибутивах Linux. С учетом вышесказанного, это ни в коем случае не файловая система по умолчанию, поэтому, если вы заинтересованы в ее использовании, вам нужно будет выполнить «выборочную установку» и указать ее по своему выбору.

4. F2FS

Flash-Friendly File System (F2FS) – это файловая система, предназначенная для устройств хранения на базе NAND в Linux и других операционных системах, которые ее поддерживают.

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

Преимущества использования F2FS

  1. F2FS специально разработана для твердотельных накопителей и других устройств флэш-памяти, поэтому ваша ОС будет работать эффективно и быстро.
  2. F2FS является современным и относительно новым, поэтому, скорее всего, со временем он получит новые функции.

Недостатки использования F2FS

  1. F2FS – это очень новая файловая система. Хотя это правда, что многие дистрибутивы Linux начинают его поддерживать, нельзя сказать, что каждая отдельная ОС Linux облегчает установку.

Взять в свои руки F2FS

F2FS начал появляться во многих инструментах установки дистрибутива Linux. Чтобы использовать эту файловую систему на вашем SSD, сделайте выборочную установку вашей любимой ОС и выберите «F2FS» в качестве файловой системы.

Заключение

Хотя поддержка SSD в Linux начинается медленно, с годами мы наблюдаем некоторый реальный прогресс. Надеемся, что в ближайшие годы эти файловые системы продолжат улучшать свою поддержку твердотельных накопителей настолько, чтобы поставить ее в один ряд с коммерческими операционными системами, такими как Mac и Windows!

Используете ли вы файловую систему на вашем SSD, не включенную в этот список? Расскажите нам об этом в разделе комментариев внизу!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью