Несколько советов для правильной и оптимизированной работы SSD-накопителей в Linux. Или готовимся к переходу на SSD...
Твердотельные SSD-накопители потихоньку уже начинают вытеснять жесткие диски HDD, оно и понятно, ведь преимуществ перед HDD достаточно много. Для начала отметим достоинства и недостатки данных дисков.
За прогресс нужно платить :(
И все-таки я думаю, что рискнуть стоит. Для системного диска это самый оптимальный вариант, ведь за частую HDD - это самое медленное устройство в ПК. 60 Гб будет вполне достаточно для нужд системы, а остальное можно хранить на старичке HDD :) В качестве файловой системы рекомендуется использовать EXT4, также вы должны убедиться, что в BIOS включен режим работы AHCI.
Если вы являетесь обладателем ноутбука и вам не хочется отказываться от HDD, но хочется иметь и SSD, то советую вам пробрести адаптер Caddy SATA, который заменяет родной DVD-Rom. На китайских площадках стоит в пределах 300 рублей.
Теперь поговорим об оптимизации SSD.
Где /dev/sda SSD-накопитель. Что бы узнать имя накопителя в системе выполните команду:Твердотельные SSD-накопители потихоньку уже начинают вытеснять жесткие диски HDD, оно и понятно, ведь преимуществ перед HDD достаточно много. Для начала отметим достоинства и недостатки данных дисков.
Достоинства
- Скорость работы
- Долговечность
- Энергопотребление
- Бесшумность
- Вес
Недостатки
- Цена
За прогресс нужно платить :(
- Проверка временем
И все-таки я думаю, что рискнуть стоит. Для системного диска это самый оптимальный вариант, ведь за частую HDD - это самое медленное устройство в ПК. 60 Гб будет вполне достаточно для нужд системы, а остальное можно хранить на старичке HDD :) В качестве файловой системы рекомендуется использовать EXT4, также вы должны убедиться, что в BIOS включен режим работы AHCI.
Если вы являетесь обладателем ноутбука и вам не хочется отказываться от HDD, но хочется иметь и SSD, то советую вам пробрести адаптер Caddy SATA, который заменяет родной DVD-Rom. На китайских площадках стоит в пределах 300 рублей.
Теперь поговорим об оптимизации SSD.
TRIM
Перед покупкой диска обязательно убедитесь, что в диске присутствует технология TRIM. Для достоверности можно проверить данный параметр из Терминала:sudo hdparm -I /dev/sda | grep "TRIM supported"
sudo fdisk -l
TRIM позволяет операционной системе уведомить твердотельный накопитель о том, какие блоки данных уже не содержатся в файловой системе и могут быть использованы накопителем для физического удаления.
Говоря простым языком накопители «не знают», какие секторы действительно используются, а какие могут считаться незанятыми и чем меньше записывается и стирается в один и тот же сектор, тем выше скорость работы и долговечность накопителя.
И потому периодически нужно запускать TRIM, для правильной работы SSD.
Начиная с версии Kubuntu 14.04 TRIM автоматически включается по расписанию, но только для накопителей Samsung и Intel. Для обладателей других SSD-накопителей можно запустить TRIM по расписанию. И в этом нам поможет планировщик cron и fstrim.Создаем правило для ежедневного запуска с выводом лога:
kdesudo kate /etc/cron.daily/trim
И добавляем команду для запуска:#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
/sbin/fstrim -v / >> $LOG
Делаем файл исполняемым:
sudo chmod +x /etc/cron.daily/trim
Для проверки работоспособности TRIM выполните команду в Терминале:sudo fstrim -v /
Бережем диск
C TRIM разобрались, теперь перейдем к нашим баранам. Чем меньше будет циклов перезаписей, тем дольше прослужит SSD-диск.Так как в системе достаточно активно создаются логи, кеши и временные файлы в /tmp и /var, то правильней будет смонтировать эти директории в Tmpfs.
Tmpfs - это файловое хранилище, предназначенное для монтирования файловой системы, но размещающееся в ОЗУ вместо физического диска.
Открываем fstab:
kdesudo kate /etc/fstab
И добавляем нужные директории (Важно заметить, что в некоторых точках монтирования указаны размеры - опция size. Естественно вы сами должны выставить значение с учетом размера вашего ОЗУ):- использование при компиляции, временные файлы akonadi, kde и прочего
- кеш APT
- логи системы
- кеш KDE
- сюда кидают кеш браузеры и другие программы
Посмотреть смонтированные директории можно через терминал:
df -h
Также для уменьшения количества циклов перезаписей нужно добавить опцию монтирования noatime для SSD-накопителя.noatime - Во время чтения файлов не будет обновляться поле atime файловой системы, указывающее время последнего доступа к файлу. Важность данного параметра в том, что он убирает необходимость системы производить "ненужные" операции записи когда файл всего-навсего необходимо прочитать. Т. к. эти операции записи могут быть достаточно интенсивными при чтении большого количества файлов, отключение может дать неплохой прирост производительности и срока жизни. Заметьте, что информация о времени последней записи файла будет по-прежнему обновляться каждый раз, когда файл будет изменён.
UUID=xxxxx / ext4 noatime,errors=remount-ro 0 1
Где,
- UUID=xxxxx - ID вашего SSD-накопителя (смотрите в Терминале: sudo blkid)
- ext4 - Файловая система раздела
- noatime - Отключает запись информации о последнем времени доступа при каждом чтении файла.
- errors=remount-ro - Перемонтирование раздела при ошибках
Некоторые рекомендуют использовать опцию discard при монтировании, которая является альтернативой fstrim (о которой мы говорили выше), но есть мнение о том, что данная опция еще нестабильна и не рекомендуется для повсеместного использования.
Дополнительно еще можно воспользоваться утилитой Profile Sync Daemon, которая перенесет профиль браузера в tmpfs.
Поддерживаемые браузеры:
USERS="имя_пользователя"
И указать используемые браузеры, к примеру:
BROWSERS= "firefox chromium"
Запуск сервиса:
Дополнительно еще можно воспользоваться утилитой Profile Sync Daemon, которая перенесет профиль браузера в tmpfs.
Поддерживаемые браузеры:
- Chromium
- Conkeror
- Epiphany
- Firefox
- Google Chrome
- Icecat
- Luakit
- Midori
- Opera
- QupZilla
- Palemoon
- Rekonq
- Seamonkey
Установка:
sudo add-apt-repository ppa:graysky/utils
sudo apt-get update
sudo apt-get install profile-sync-daemon
В файле настроек /etc/psd.conf нужно указать текущего пользователя в строчке:USERS="имя_пользователя"
И указать используемые браузеры, к примеру:
BROWSERS= "firefox chromium"
Запуск сервиса:
sudo service psd start
sudo fstrim -v / - Вешает консоль
ОтветитьУдалитьПри презагрузке системы на сплешскрине надпись "невозможно подключить "/var/spool/postfix"
И варианты: пропустить и подключить вручную.
Kubuntu 14.04 OCZ Vertex 3
ОтветитьУдалитьsudo hdparm -I /dev/sda | grep "TRIM supported"
* Data Set Management TRIM supported (limit 1 block
Про вешает консоль обманул - просто очень долго триммит -)
ОтветитьУдалитьА "невозможно подключить" решил удалением его из fstab.
Спасибо за статью.
В принципе, можно автозапуск fstrim сделать раз в неделю, если вам неудобен каждодневный запуск.
ОтветитьУдалитьСоответственно перенеся скрипт запуска:
sudo mv /etc/cron.daily/trim /etc/cron.weekly/trim
Статья обовлена:
ОтветитьУдалить- Добавлено логирование при выполнении fstrim.
- Убрано значение commit=60 из /etc/fstab (возможна потеря данных за последние 60 сек. работы при внезапном выключении питания)
- Переделаны точки монтирования для tmpfs