Разное

Ssd на ubuntu: Настройка Ubuntu для работы с SSD

Содержание

Настройка Ubuntu для работы с SSD

Начиная с Ubuntu 14.04 разработчики позаботились о поддержке SSD. Система сама периодически запускает функцию TRIM на SSD, никаких discard в fstab больше не требуется. И многие другие советы, которые можно найти в интернете уже не актуальны, не создавайте себе проблем, просто пользуйтесь. Данная статья уже сильно урезана, оставлены только актуальные советы, да и те совсем не обязательны.

Как всем известно SSD очень быстры, но имеют один маленький (или не маленький) недостаток — ограниченное число циклов записи. Т.е. их надо стараться больше использовать на чтение, а запись свести к минимуму, дабы свести риск выхода из строя диска раньше времени к минимуму. Статья написана для Ubuntu 14.04 и более новых версий.

/etc/fstab – один из важных файлов ОС, который исполняется во время загрузки системы. В нем описаны какие разделы накопителей и как именно монтируется в файловую систему ОС.
Открываем:

gksu gedit /etc/fstab

Отключаем swap

Если уж SSD приобретен, то вполне можно добавить памяти в машину и отключить swap. Для этого будет достаточно уже 4GiB (используйте утилиты free и top, чтобы узнать сколько памяти потребляет ОС)
Если памяти достаточно, ставим систему без свопа или отключаем его, если система уже установлена.
Комментируем (#) строку со словом swap

#UUID=xxxx-xxxx-xxxx-xxxx      none    swap    sw      0       0

Для систем, у которых systemd надо еще отключить службу

systemctl --type swap
sudo systemctl mask <имя юнита> # или sudo ln -s /dev/null /etc/systemd/system/<имя юнита>

Если же памяти для задач ОС маловато, то пробуем настроить приоритет использования swap

Опции монтирования

Для BTRFS:

UUID=aeade6fd-2b24-4e59-bc8c-6f1791338b0c / btrfs compress=lzo,defaults,subvol=@ 0 1
  • compress — сжатие файлов (lzo — рекомендумое значение, быстрое сжатие; zlib — выше уровень сжатия, но значительно медленнее, больше нагрузка ЦПУ, больше потребление батареи на ноутбуках.

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

Часто рекомендуют опцию discard — активирует TRIM для SSD. Опция discard не использована в силу того, что в Ubuntu начиная с версии 14.04 разработчики позаботились о пользователях. Система сама периодически делает fstrim-all, эта команда тримит SSD в момент запуска (команды), а не на лету как discard. Но результат один, деградации скорости не будет.

Как видим BTRFS хорошо приспособлена для SSD. Ранее BTRFS имела проблемы с производительностью, особенно при установке пакетов. Сейчас, на свежих ядрах 4.* я не вижу этой проблемы, работает быстро.

Кэш apt в ОЗУ

tmpfs   /var/cache/apt/archives tmpfs   defaults        0       0

Кэш apt не будет сохраняться на диске и при переустановке пакетов, потребуется их выкачивать заново. Кроме того это не сильно поможет нашему SSD, т.к. пакеты сжатые, а при установке занимают в 5-10 раз больше места, чем в архиве. Также это увеличит использование ОЗУ. После включения убедитесь, что в системе хватает памяти для выполнения ваших задач

Для SSD не требуется дефрагментация. В данном случае она применена для того, чтобы сжать файлы уже установленной системы

Для выполнения нужно загрузиться в живую сессию, примонтировать раздел с BTRFS и применить команду дефрагментации со сжатием:

sudo btrfs fi def -clzo -r /media/<путь до раздела btrfs>/{@,@home}

У себя я получил коэффициент сжатия 0.63, было 5.21 ГБ, стало 3.7 ГБ, т.е. в 1.5 раза меньше запись на SSD в процессе дальнейшей работы. Замечу, что я не храню на SSD плохо сжимаемые файлы — аудио, видео, фото и т.п., они размещены на другом разделе.

1) Mozilla Firefox

Правка → Настройки → Дополнительные → Сеть → Поставить галочку «Отключить автоматическое управление кэшем» → Установить значение в 0.

2) Opera

Ctrl+F12 → Расширенные → История → Дисковый кэш → Отключено

3) Chromium/Google Chrome

К сожалению этот браузер не умеет отключать дисковый кэш полностью из GUI.

Настройки → Дополнительные инструменты → Инструменты разработчика (Ctrl+Shift+I) → Настройки (значек шестеренки) → поставить галочку Disable cache (while DevTools is open)

Не уверен в актуальности этих настроек. Сам не использую в силу снижения надежности ФС, если их применить. Кто обладает достоверной информацией скорректируйте или поделитесь на форуме в теме обсуждения данной статьи.

Открываем /etc/sysctl.conf:

sudo gedit /etc/sysctl.conf

Приоритет использования swap

Если памяти маловато, то можно просто попробовать уменьшить агрессивность свопинга процессов (за счет уменьшения буферов и кешей). В /etc/sysctl.conf добавляем строчку

vm.swappiness=10

В некоторых случаях это может помочь. Более подробно про vm.swappiness можно почитать тут.

Хотя, если у вас мало ОЗУ и вы купили себе SSD… то вы поступили не верно.

Все параметры описаны здесь

sudo hdparm -I /dev/sdX | grep -i trim

sdX — ваш SSD.

Установка Linux на SSD | Losst

Диски, использующие электронные ячейки памяти (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 и выполните команду:

cat /proc/sys/vm/swappiness

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

sudo nano /etc/sysctl.conf

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

vm.swappiness=5

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

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 можно измерить с помощью команды:

systemd-analyze

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

» Настройка Ubuntu для работы на SSD диске

Настройка Ubuntu для работы на SSD диске

// 28 декабря, 2010 // Ubuntu, Аппаратное обеспечение, Веб-разработка

В этой заметке я хочу поделиться практическим опытом настройки Ubunntu 10.10 для работы с SSD диском. В интернете есть довольно много информации на эту тему, но иногда она противоречивая, иногда уже неактуальная, так что думаю эта статья пойдёт на пользу людям, админящим сервера под Ubuntu Server.

Swap?

Очень интересно было узнать, а нужно ли использовать swap при имеющемся ssd диске? После обсуждения на хабре, мне показалось, что лучше всего выделить небольшой относительно объема RAM (порядка 4 Гб) swap раздел. А потом помониторить, как часто система сваппится на диск.

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

Для SSD необходимо использовать нежурналируемую файловую систему, для предотврещание нескольких операций записи на одни и теже данные. Можно использовать ext2 или ext4 (но с откюченным журналом). Будем использовать ext4.

Опции монтирования

Для ext4 в fstab пропишем следующие опции:

noatime,nodiratime

Если в fstab есть что-то вида errors=remount-ro 0, то опции пишем перед этим параметром.

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

Отключение журналирования

Журналируемые фс, делают лишние циклы записи, поэтому журнал нужно отключить. Загружаемся с LiveCD, отключаем журналирование:

sudo tune2fs -o journal_data_writeback /dev/mapper/isw_diggaehgjc_Volume03

Проверяем,

sudo tune2fs -l /dev/sda1

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

Монтирование временного каталога в память

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

tmpfs /tmp tmpfs defaults 0 0

Планировщик ввода-вывода

Для обычных жестких дисков по умолчанию используется логика, которая упорядочивает движение головки под диску, изменяя последовательность записываемых данных. Для SSD это не нужно, поэтому будет весьма разумно выбрать noop в качестве i/o scheduler’а. Это можно сделать выбрать непосредственно в конфиге ядра или передать опцию elevator=noop через груб на этапе загрузки ядра. Или даже через /sys. В Ubuntu 10.10 в файле /etc/default/grub добавляем параметр elevator=noop в параметры ядра.

GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash i8042.nopnp=1 elevator=noop»

Затем делаем sudo update-grub.

Отложенная запись

SSD может пребывать только в 2-х режимах — active и suspend. Когда он active — он кушает много энергии, когда в suspend — мало. Поэтому сейчас увеличиваем время нахождения SSD в suspend режиме:
Добавляем параметр в /etc/sysctl.conf.

vm.laptop_mode=5<.blockquote>

Работая в таком режиме, ядро будет по возможности откладывать запись на диск, пока в этом не появится неотложная необходимость. Все буферы, требующие сброса себя на диск, будут терпеливо ожидать своей очереди. Увеличить перерыв между записями на диск можно также с помощью поднятия таймаута между сбросом «грязных» буферов (части файлов, измененные программой или пользователем, но еще не записанные на диск). По умолчанию, таймаут равняется 5 секундам, увеличим его до 150. ВНИМАНИЕ: Внезапное выключение ноутбука в этот таймаут приведет к потере незаписанных данных!
Добавляем в /etc/sysctl.conf строку:

vm.dirty_writeback_centisecs = 15000

Ссылки

http://openkazan.info/Linux-SSD

http://habrahabr.ru/qa/3303/

Спасибо!

Если вам помогла статья, или вы хотите поддержать мои исследования и блог — вот лучший способ сделать это:

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

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

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

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

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

# Включение, старт и вывод статуса сервиса:
systemctl enable fstrim.service && \
systemctl start fstrim.service && \
systemctl status fstrim.service

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

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

sudo hdparm -I /dev/sda | grep TRIM
    *    Data Set Management TRIM supported (limit 8 blocks)
    *    Deterministic read ZEROs after 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.

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

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

sudo tune2fs -o discard /dev/mapper/vg1-lvroot
sudo tune2fs -o discard /dev/mapper/vg1-lvhome
sudo tune2fs -o discard /dev/mapper/vg1-lvvar

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

sudo tune2fs -l /dev/mapper/vg1-lvroot | grep options

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

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

# /dev/mapper/vg1-lvroot
UUID=e86ab458-341d-4f59-8344-0271d2c363e8    /            ext4    rw,noatime,discard   0 0
# /dev/mapper/vg1-lvvar
UUID=44b31816-1193-4dc1-9f58-f70df2250e1a    /var         ext4    rw,noatime,discard   0 0
# /dev/mapper/vg1-lvhome
UUID=372bc9ae-b581-49a4-abed-ca9f3b67edb6    /home        ext4    rw,noatime,discard   0 0
# /dev/sda1
UUID=0BE5-60FB                               /boot/efi    vfat    rw,relatime,discard,...,errors=remount-ro   0 0
# /dev/mapper/vg1-lvswap
UUID=cf67ae1e-3a17-4e5e-ac58-ef23725d2359    none         swap    defaults,discard,pri=-2   0 0

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

devices {
  issue_discards = 1
}

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

Прежде, чем вы решите включить 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.

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

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

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

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

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

GRUB_CMDLINE_LINUX="cryptdevice=UUID=3c121aac-ead9-4d57-88be-c1199acf72f0:cryptlvm"

на эту:

GRUB_CMDLINE_LINUX="cryptdevice=UUID=3c121aac-ead9-4d57-88be-c1199acf72f0:cryptlvm:allow-discards"

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

sudo grub-mkconfig -o /boot/grub/grub.cfg

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

cat /etc/mkinitcpio.conf | grep ^HOOKS

HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 resume filesystems)

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

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

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

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

lsblk --discard

NAME             DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                     0      512B       2G         0
├─sda1                  0      512B       2G         0
└─sda2                  0      512B       2G         0
  └─cryptlvm            0        0B       0B         0
      ├─vg1-lvroot      0        0B       0B         0
      ├─vg1-lvvar       0        0B       0B         0
      ├─vg1-lvswap      0        0B       0B         0
      └─vg1-lvhome      0        0B       0B         0

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

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

sudo fstrim -v /

/: 7,4 GiB (7906193408 bytes) trimmed

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

lsblk --discard

NAME             DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                     0      512B       2G         0
├─sda1                  0      512B       2G         0
└─sda2                  0      512B       2G         0
  └─cryptlvm            0      512B       2G         0
    ├─vg1-lvroot        0      512B       2G         0
    ├─vg1-lvvar         0      512B       2G         0
    ├─vg1-lvswap        0      512B       2G         0
    └─vg1-lvhome        0      512B       2G         0

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

sudo cryptsetup status cryptlvm

/dev/mapper/cryptlvm is active and is in use.
type:    LUKS1
cipher:  aes-xts-plain64
keysize: 512 bits
key location: dm-crypt
device:  /dev/sda2
sector size:  512
offset:  4096 sectors
size:    487806976 sectors
mode:    read/write
sudo hdparm -I /dev/sda | grep -i "sector size"

      Logical  Sector size:                   512 bytes
      Physical Sector size:                   512 bytes
sudo smartctl -a /dev/sda | grep -i "sector size"

Sector Size:      512 bytes logical/physical

На этом всё!


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

UPDATE 23.04.2020 22:00: Подправил текст, убрал слово «диск» из текста, так как оно не соответствует описываемому в статье устройству. Спасибо vitaliy2

Настройка поддержки SSD в Ubuntu: athunder — LiveJournal

/etc/fstab – один из важных файлов ОС, который исполняется во время загрузки системы. В нем описаны какие разделы накопителей и как именно монтируется в файловую систему ОС. Открываем:

gksu gedit /etc/fstab

Отключаем swap

Если уж SSD приобретен, то вполне можно добавить памяти в машину и отключить swap. Для этого будет достаточно уже 4GiB (используйте утилиты free и top, чтобы узнать сколько памяти потребляет ОС) Если памяти достаточно, ставим систему без свопа или отключаем его, если система уже установлена.
Комментируем (#) строку со словом swap

#UUID=xxxx-xxxx-xxxx-xxxx      none    swap    sw      0       0

Если же памяти для задач ОС маловато, то пробуем настроить приоритет использования swap (см ниже)

Опции монтирования

UUID=aeade6fd-2b24-4e59-bc8c-6f1791338b0c / ext4 noatime,discard,errors=remount-ro,commit=60 0 1

  • discard — Включает технологию TRIM, которая распределяет нагрузку на SSD
  • noatime и nodiratime — Благодаря этим опциям ОС не будет записывать время последнего обращения к файлам и папкам
  • commit=60 — частота обращения к диску

При установке commit=60, возможна потеря данных за последние 60 сек. работы при внезапном выключении питания.

Помещаем в ОЗУ кэш apt

tmpfs   /var/cache/apt/archives tmpfs   defaults        0       0

Кэш apt не будет сохраняться на диске и при переустановке пакетов, потребуется их выкачивать заново.

  • Mozilla Firefox
    Правка → Настройки → Дополнительные → Сеть → Поставить галочку «Отключить автоматическое управление кэшем» → Установить значение в 0.
  • Opera
    Ctrl+F12 → Расширенные → История → Дисковый кэш → Отключено
  • Chromium/Chrome
    К сожалению этот браузер не умеет отключать дисковый кэш из GUI. Есть различные способы всё-таки отключить дисковый кэш, разной степени корявости, не стану их тут описывать.

Открываем /etc/sysctl.conf:

sudo gedit /etc/sysctl.conf

Приоритет использования swap

Если памяти маловато, то можно просто уменьшить агрессивность свопинга. В /etc/sysctl.conf добавляем строчку

vm.swappiness=10

Параметр управляет процентным соотношением свободной памяти при котором начнётся свопинг.
Хотя, если у вас мало ОЗУ и вы купили себе SSD, то вы поступили не верно.

Отложенная запись

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

Добавляем в конец файла:

vm.laptop_mode = 5
vm.dirty_writeback_centisecs = 6000

Для применения изменений

sudo sysctl -p

или перезагрузите ОС.

sudo hdparm -I /dev/sdX | grep "TRIM supported"

sdX — ваш SSD.

Вполне возможна ситуация когда по какой-то причине опции автоматического TRIM могут быть не включены, тогда понадобиться выполнить TRIM вручную. Обычно есть смысл провести эту операцию после активации TRIM с помощью опции монтирования discard в /etc/fsbab. Для этого существует небольшая утилита fstrim.

sudo fstrim / -v

Опция -v покажет в выводе команды сколько байт на разделе было «оттримлено»:

/: 28166164480 bytes were trimmed

Операция занимает некоторое время и может длиться от нескольких секунд до нескольких минут.
Проверена корректная работа утилиты на разделах ext4, btrfs. На ntfs и reiserfs не работает.

Если у вас ноутбук или ИБП можно безбоязненно отключить журналирование, что не только уменьшит запись на SSD, но также повысит производительность.
Если вы работаете от сети, следует несколько раз подумать прежде чем отключать журнал, не так много он пишет, чтобы так рисковать.Возможно отключение журнала ломает TRIM. Кто знает точно, напишите в топике на форуме.
Загружаемся в live и:

sudo tune2fs -O ^has_journal /dev/sdXY
sudo e2fsck -f /dev/sdXY

где:

  • Х — буква диска
  • Y — номер раздела

via

Настройка диска 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.

Работа со swap в Ubuntu идёт примерно ~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 
И в открывшийся текстовый файл вставляем следущее:

#!/bin/sh
LOG=/var/log/trim.log
echo «*** $(date -R) ***» >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG

После чего, сохраняем и закрываем.
Теперь сделаем данный файл исполняемым следующей командой:sudo chmod +x /etc/cron.daily/trim
Теперь ubuntu будет каждый день выполнять trim.
Не советую добавлять параметр discard в опции монтирования fstab.

Стоит упомянуть, что Trim в linux работает только со следующими файловыми системами: ext4 и btrfs.

4. Монтирование разделов в fstab.
При загрузке системы, у вас монтируются диски и разделы, которые указаны в файле:

/etc/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. Просто пользуйтесь им. 

ssd в Ubuntu

Хочу поделиться опытом настройки диска 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.

Работа со swap в Ubuntu идёт примерно ~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 
И в открывшийся текстовый файл вставляем следущее:

#!/bin/sh
LOG=/var/log/trim.log
echo «*** $(date -R) ***» >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG

После чего, сохраняем и закрываем.
Теперь сделаем данный файл исполняемым следующей командой:sudo chmod +x /etc/cron.daily/trim
Теперь ubuntu будет каждый день выполнять trim.
Не советую добавлять параметр discard в опции монтирования fstab.

Стоит упомянуть, что Trim в linux работает только со следующими файловыми системами: ext4 и btrfs.

4. Монтирование разделов в fstab.
При загрузке системы, у вас монтируются диски и разделы, которые указаны в файле:

/etc/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. Просто пользуйтесь им. 

Настройка Ubuntu на SSD

Недавно я купил новый твердотельный накопитель (SSD) для замены нынешнего жесткого диска.
диск (HDD). Поскольку твердотельные накопители работают по-другому, чем жесткие диски, стоит
сделайте для них некоторые оптимизации в Ubuntu. SSD-накопители намного быстрее жестких дисков, но
иметь ограниченное количество записей, прежде чем они изнашиваются. Это делает балансировку
производительность в течение всего срока службы вашего SSD также является большой проблемой для того, как вы настраиваете свой
система.

Я написал сообщение по этой теме
перед
для старого SSD в моем нетбуке.

Разбиение и привязка креплений

Я разделил свой твердотельный накопитель на 60 ГБ на раздел / объемом 10 ГБ и / домашний объемом 50 ГБ.
раздел, оба используют файловую систему ext4 по умолчанию. Я сохранил свой старый жесткий диск дома
раздел установлен на / media / oldhome .

Я хотел поместить некоторые из моих больших и редко используемых файлов, например виртуальные
машин и видео, на более просторном HDD. Еще я хотел сделать доступ
эти файлы из моего домашнего каталога без проблем.Один из способов сделать это —
папки символической ссылки с SSD на HDD. Однако я обнаружил, что это не будет
полностью бесшовно для некоторых приложений, которые не следуют символическим ссылкам.

Крепления для крепления — лучшее решение. Они позволяют каталогу в файловой системе быть
монтируются в дополнительных местах, аналогично символическим ссылкам, но полностью прозрачны для
Приложения. Чтобы проверить привязку, монтирующую мой каталог видео, я запустил mount с
bind, указав исходный каталог (на жестком диске) и место монтирования
точка (которая должна уже существовать):

  крепление --bind / media / oldhome / tom / Videos / home / tom / Videos
  

Чтобы сделать мои привязки постоянными, я добавил их в свой файл / etc / fstab в этом
формат:

  / media / oldhome / tom / Videos / home / tom / Videos none bind 0 0
  

Если вам нужно добавить путь с пробелом, замените пробел на \ 040 на
избежать этого.Если вы сделаете ошибку и одно из подключений не удастся, Ubuntu
позволяют пропустить его и продолжить загрузку. Пока подход привязки кажется
работать отлично.

Варианты крепления для твердотельных накопителей

Любой недавний SSD должен иметь команду TRIM
доступно, что предотвращает снижение производительности, позволяя ОС уведомлять
SSD, блоки которого не используются. Файловая система ext4 использует TRIM, когда
Отменить опция установлена.

Опция noatime сокращает запись на SSD, не записывая время доступа
обновляется при чтении файла.Это улучшает производительность и увеличивает
жизнь SSD.

Я установил эти два варианта монтирования, хотя / etc / fstab для обоих разделов SSD с помощью
добавление discard и noatime в список опций для / и / home like
это:

  UUID = 193af662-d7a0-47fb-b3f7-141ae3d19227 / ext4 errors = remount-ro, noatime, отбросить 0 1
  

Планировщик заголовка диска для SSD

Планировщик диска оптимизирует порядок запросов к диску, учитывая
положение головки чтения / записи жесткого диска.SSD не нуждается в такой оптимизации,
поэтому лучше всего использовать планировщик noop (без операции).

Я переключился на планировщик noop для своего SSD, добавив следующую строку в
/etc/rc.local (замените sdb именем узла вашего собственного твердотельного накопителя):

  эхо-запрос> / системный блок / SDB / очередь / планировщик
  

Обмен и обмен

Я сохранил раздел подкачки на старом жестком диске. Своп на SSD будет быстрее, но
также сократит срок службы SSD.

В моей системе много памяти, поэтому я также уменьшил подкачку
ценность
на 0, чтобы Ubuntu менял местами только в случае крайней необходимости. Я сделал это, добавив
строка vm.swappiness = 0 с по /etc/sysctl.conf .

Еще больше

Есть еще много способов настроить Ubuntu для SSD. Несколько вещей, которые я не сделал
are: выравнивание разделов (теперь, похоже, разделитель Ubuntu позаботится об этом
автоматически), отключив ведение журнала (я бы предпочел надежность, а не
сокращение срока службы SSD), а также установка / tmp или кеша браузера в память (я бы предпочел
сохранить память).В Arch Linux Wiki есть подробная страница
SSD, а вот
еще один
статья
это более подробно касается некоторых вещей, которые я здесь упомянул.

.

Включите TRIM на SSD (твердотельные диски) в Ubuntu для повышения производительности ~ Web Upd8: блог Ubuntu / Linux

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

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

В некоторых статьях упоминается использование онлайн-сброса — включение TRIM путем добавления параметра «discard» в / etc / fstab -, , но многие говорят, что это не очень хорошая идея для большинства твердотельных накопителей и вас. значительно снизит производительность при попытке удалить большое количество небольших файлов. Итак, ниже, я дам вам знать, как использовать оба этих метода: онлайн-сброс (не рекомендуется) и рекомендуемый способ: использование fstrim и задания cron (anacron).

Примечание: приведенные ниже инструкции были протестированы в Ubuntu, но они могут (наиболее вероятно) работать и с другими дистрибутивами Linux.

Перед включением TRIM убедитесь:

  • вы используете ядро ​​Linux 2.6.33 или новее
  • ваш SSD поддерживает TRIM
  • разделы EXT4 или BTRFS *

* Поскольку не так много людей используют BTRFS, этот пост будет охватывать только включение TRIM на разделах EXT4.

Если вы не уверены, поддерживает ли ваш SSD TRIM, вы можете запустить следующую команду:

  sudo hdparm -I / dev / sda | grep "TRIM supported"  

Где « / dev / sda » — твердотельный накопитель (для вас это может быть / dev / sdb , / dev / sdc и т. д.), а команда должен вернуть что-то вроде этого: « Data Set Management TRIM supported (limit 8 block) » (если нет вывода, ваш SSD не поддерживает TRIM). Если вы не знаете, что здесь использовать, вы можете получить список жестких дисков и их разделов с помощью следующей команды:

  sudo fdisk -l  

Включить TRIM для твердотельных накопителей (SSD) в Linux

Использование онлайн-сброса (fstab) — не рекомендуется

Если указанные выше условия соблюдены, вы можете перейти к включению TRIM для вашего SSD. Если вы хотите использовать опцию онлайн-сброса (не рекомендуется!) , откройте / etc / fstab как root в текстовом редакторе:

  gksu gedit / etc / fstab  

И добавьте опцию «discard» (через запятую и без пробела!) в разделы SSD, для которых вы хотите включить TRIM. Вот пример:

  <файловая система> <точка монтирования> <тип> <параметры> <дамп> <пароль>
# / был на / dev / sdb1 во время установки
UUID = 1cd2fc4f-7d99-4c7a-8ea7-6f9a2d5e5960 / ext4  discard , errors = remount-ro 0 1  

Использование ежедневного задания cron — рекомендуется

При использовании ежедневного задания cron обрезка SSD будет происходить один раз в день .

Чтобы использовать ежедневное задание cron (так что обрезка будет выполняться один раз в день) для TRIM (fstrim) , откройте /etc/cron.daily/trim как root с текстовым редактором ( /etc/cron.daily/trim не существует, поэтому будет создан файл):

  gksu gedit /etc/cron.daily/trim  

и вставьте это:

  #! / bin / sh
LOG = / var / log / trim.log
echo "*** $ (date -R) ***" >> $ LOG
fstrim -v / >> $ ЖУРНАЛ
fstrim -v / home >> $ LOG  

Последние две команды в приведенном выше коде выполняют фактическую обрезку для корневого (/) и домашнего (/ home) раздела, а вам нужно отредактировать их : здесь, добавьте разделы SSD, для которых вы хотите включить ежедневное задание TRIM (обычно вы должны добавить «/», если корневой раздел находится на SSD, и «/ home», если вы настроили отдельный домашний раздел).

Перед сохранением файла вы можете проверить, работает ли команда fstrim:

  sudo fstrim -v /  

Результат должен выглядеть примерно так:

  andrei @ ubuntu-desktop: ~ $ sudo fstrim -v /
/: 8158715904 байта были обрезаны  

После добавления разделов SSD сохраните файл и сделайте его исполняемым с помощью следующей команды:

  sudo chmod + x /etc/cron.daily/trim  

Ubuntu выполняет ежедневный cron ( мы используем anacron, поэтому даже если ваш компьютер выключен в это время, задание все равно будет выполнено позже на ) заданий примерно в 06:25 , поэтому каждый день после этого время, вы можете проверить файл / var / log / trim.log , чтобы увидеть вывод fstrim .

Для зашифрованных разделов

Если вы используете зашифрованный раздел, вам придется выполнить некоторые дополнительные действия, чтобы это работало ( не тестировалось, потому что у меня нет зашифрованных разделов !): Отредактируйте / и т. Д. / default / grub как root:

  gksu gedit / etc / default / grub  

И добавьте следующие параметры в GRUB_CMDLINE_LINUX = «» (это должно быть около строки 12 в этом файле):

  " allow-discards root_trim = yes " 

После редактирования файл должен выглядеть так:

  GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск"
  GRUB_CMDLINE_LINUX = "allow-discards root_trim = yes"   

Затем сохраните файл и обновите GRUB:

  sudo update-grub  

Теперь отредактируйте / etc / crypttab как root:

  gksu gedit / etc / crypttab  

И добавьте опцию «сбросить» для разделов SSD, как это (пример):

  # <целевое имя> <исходное устройство> <ключевой файл> <опции>
var UUID = 01234567-89ab-cdef-0123-456789abcdef none luks,  отбросить   

И, наконец, выполните следующую команду:

  sudo update-initramfs -u -k all  

Приведенные выше инструкции (за исключением части зашифрованного раздела, которую я не могу протестировать) были протестированы на Ubuntu 12.10 и 13.04 (SSD: KINGSTON SVP200S 120 ГБ).

Ссылки / дополнительная литература:

.

Добавить комментарий

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