Главная / Linux / Использование твердотельных накопителей в Linux.

Использование твердотельных накопителей в Linux.

Если на вашем компьютере ещё нет твёрдотельного накопителя (SSD), то скорее всего, он скоро появится. Менее чем за десять лет, по мере развития технологий, стоимость твёрдотельных накопителей снизилась, и в ближайшие два-три года они, скорее всего, заменят механические жесткие диски. Как следует из их названия, в отличие от механических приводов, SDD не имеют движущихся частей. Вместо этого они полагаются на интегральные схемы для хранения, что делает их во много раз быстрее и почти бесшумными во время работы.
На самом деле, если на корпусе нет световых индикаторов, пользователи, начинающие впервые использовать SSD, иногда беспокоятся о том, что они вообще не работают.

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

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

Выбор типа привода

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

Из-за этой разницы в цене некоторые производители предлагают гибридные накопители – механический накопитель с твёрдотельным накопителем для кеша. Гибриды, как правило, на 10-20% дороже, чем механические приводы, и обычно обеспечивают примерно такой же процент улучшения производительности. Очевидно, что это переходная технология, которая вряд ли выживет, когда твердотельные накопители станут дешевле.

Вместо гибридного диска те из нас, кто не может позволить себе полностью перейти на SSD, то есть большинство из нас, которые могут получить значительно лучшую производительность, купив SSD, достаточно большой для своей операционной системы, и механический диск для своей/домашней папки, и любой другой каталог, используемый для хранения. Стоимость будет только на 25-75% больше, чем тот же объем хранения с использованием механических приводов.

Разметка

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

Другой способ уменьшить количество записей – это разместить каталоги, которые могут часто меняться, такие как /var, /tmp и /swap, на механическом диске. Если раздел находится на SSD, вы можете уменьшить частоту его использования, добавив:

# Sharply reduce swap inclination
vm.swappiness=1

в конец /etc/sysctl.conf.

Обычно по умолчанию используется номер 60, поэтому вместо 1 можно добавить любой номер, который вам больше подходит.

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

Чтобы создать диски RAM при загрузке, отредактируйте /etc/fstab, отключив все ранее существующие записи /tmp и /var и добавив следующие строки:

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

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

Но некоторые приложения имеют свои собственные кэши и начинают получать доступ к свопу, как только они запускаются. Чтобы свести к минимуму записи, вы также можете поместить подкачку в оперативную память, даже если это кажется бессмысленным.

Конечно, чтобы разместить подкачку в ОЗУ, вы не можете использовать /etc/fstab для этой задачи, так как своп не смонтирован. Вместо этого вы можете настроить следующие команды для запуска в качестве скрипта при загрузке:

mkswap /dev/ram0
swapoff -a
swapon /dev/ram0

Используя fstrim

fstrim – или trim, как его часто называют – это команда, включенная в пакет util-Linux. Он используется для сброса блоков, которые не используются на SSD, и может быть безопасно удалён. Если fstrim не запускается регулярно, накопитель всё больше и больше тратит время на поиск блоков, в которые он может записать, поэтому в некотором смысле fstrim имеет эффект, примерно аналогичный дефрагментации накопителя.

Запуск fstrim необходим, поскольку до недавнего времени большинство дистрибутивов устанавливалось без оптимизации для SSD. Релизы Ubuntu и Linux Mint, сделанные за последние два года, устанавливают и настраивают запуск fstrim раз в неделю, но другие дистрибутивы, включая Debian и Fedora, этого не делают.

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

fstrim -va

Другой вариант – поместить команду в скрипт и настроить ее выполнение на еженедельной основе, создав запись в /etc/anacron со строкой, такой как:

7 10 trim.weekly /bin/sh /root/trim.sh

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

Если вы хотите создать журнал, чтобы проверить, выполняется ли команда на каждом разделе на SSD, добавьте файл в /var/log и затем напишите скрипт, ссылающийся на него. Сценарий должен выглядеть примерно так:

#!/bin/sh
#
#
#Run fstrim
LOG=/var/log/trim.log
fstrim -v / >> $/var/log/trim.log
fstrim -v /usr >> $/var/log/trim.log
echo “Time: $(date)”>>$LOG
exit 0

Опция -v даёт вам полную информацию о результатах выполнения команды, в то время как команда echo добавляет дату и время запуска fstrim в журнал.

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

Параметры загрузки раздела

Некоторое время разделы SSD были обрезаны путём добавления опции сброса к записи раздела в /etc/fstab. Тем не менее, включение сброса намного активнее, чем запуск fstrim, так как он обрезается на лету. Такое поведение означает, что сброс записывает на диск гораздо чаще, чем fstrim, что делает его контрпродуктивным. Хотя у Discard есть свои сторонники, мне неизвестно о каких-либо дистрибутивах, в которых рекомендуется использовать Discard, а не FSTRIM, хотя вы можете легко настроить его, если захотите.

Опция загрузки, которая на самом деле уменьшает количество записей – это noatime. Atime – это последний раз, когда был открыт файл или каталог, одна из основных частей информации, записанной в Linux. Но, как правило, atime гораздо менее полезен, чем когда последний раз изменялся файл или каталог, ещё один базовый атрибут. Большую часть времени вы можете отключить atime без каких-либо побочных эффектов, тем самым уменьшая значительное количество записей.

Чтобы включить noatime, откройте /etc/fstab и добавьте его в четвертый столбец для каждого раздела в списке. Четвертый столбец – это разделённый запятыми список способов монтирования раздела при загрузке, обычно начинающийся с значений по умолчанию. Если в четвёртый столбец включено относительное время, удалите его перед сохранением файла.

Сколько пишет до отказа SDD?

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

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

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

Например, линейка Samsung Evo 850, которая обычно входит в число лучших моделей твердотельных накопителей, имеет пять или десять лет гарантии. Поскольку гарантии могут быть консервативными, эти твердотельные накопители могут прослужить даже дольше десяти лет – в два или три раза дольше, чем многие механические жесткие диски.

На самом деле, линейка продуктов Evo 850 оценивается в 600-1000 терабайт записей. Так как один пользователь оценил наличие только 12,5 терабайт записей в течение трёх лет, забота о записи может устареть, по крайней мере, с такими продуктами высокого класса.

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



Оставьте комментарий

Ваш email не будет опубликован. Обязательные поля помечены *

*