Все вы, наверное, слышали про то, что для долгой службы SSD на нём следует держать 10%-20% свободного места; и почти все слышали, что самый эффективный метод — держать на SSD неразмеченное пространство. — Данный метод называется «Over Provisioning» (что-то вроде «Сверх Обеспечение»). Но Овер-Провиз. одним только оставлением свободного пространства — чаще всего не заведётся, так как для этого требуется Discard ячеек. Я очень подробно распишу всё ниже.
Сейчас лишь добавлю, что и про Trim напишу.
Критическое замечание про SSD
Если у вас примонтирован виндовый SSD через NTFS-3G, то fstrim.timer будет вешать в ОС всю дисковую подсистему на 10-15 минут в состояние паузы/ожидания. Ни за что не жмите кнопку «RESET» — смотрите на индикатор работы дисков на вашем системнике, и просто подождите, пока ОС «отлипнет».
Over Provisioning
Что очень интересно, что двумя кликами включить Овер-Провиз. можно только под виндой и для винды, с помощью фирменных приложений вендоров. Но этот софт не работает для линуксовых SSD.
Линуксовые-же мануалы, предлагают зачастую использовать blkdiscard с байтовыми диапазонами (позиция начала неразмеченного пространства и длина). — НИКОГДА НЕ ДЕЛАЙТЕ НИЧЕГО ПО ЭТИМ МАНАМ, т.к. вы можете запороть последнюю запись GUID Partition Table и/или хвост Swap (или другого последнего своего раздела).
Я придумал более простой, универсальный, надёжный и безопасный метод. Всё очень просто: создаём с помощью GParted раздел БЕЗ ФС во всей неразмеченной области (Нам не нужны там иноды, экстенты, журналы, FAT или MFT). СОХРАНЯЕМ. Теперь натравливаем на этот раздел sudo blkdiscard /dev/sdXY … таким образом, ячейки находящиеся в пределах раздела обнулились и об этом был оповещён контроллер, — МЫ ПОДАРИЛИ МНОГО СВОБОДНОГО МЕСТА КОНТРОЛЛЕРУ, ДЛЯ РОТАЦИИ.
Чем хорош этот метод??? — ОН ВЕНДОРО-НЕЗАВИСИМ, идеально работает в линукс, нет шанса напортачить.
Trim
Вы всё знаете про fstrim.timer, который выполняется раз в неделю. Но не факт, что вы знаете про Swap-Trim…
Swap-Trim
Свопу в /etc/fstab нужно вписать одну из этих опций:
- discard=once — Срабатывает однажды при загрузке. Нет оверхэда записи свопа. Не подходит для машин с большим ап-таймом.
- discard=pages — Обрабатывает на лету. Подходит для машин с большим аптаймом, но вызывает оверхэд на свопе.
- discard — (без опции) объединяет в себе эти 2 режима. Я выбрал это, потому что я шланг.
Зачем это нужно в Свопе??!! — Всё дело в том, что если нет дискарда для свопа, то мусолятся одни и те-же ячейки без ротации, пока в них не протрётся дыра. Согласитесь, если в свопе протереть дырку — стабильность системы упадёт.
ИТОГ
Вот вы и узнали достаточно про эксплуатацию SSD в Linux. Даже при самых пессимистичных прогнозах, — диск в теории прослужит не меньше 15 лет.
Надеюсь, мои мысли вам помогли. Have Fun!!!
ЗЫ: ДОМОРОЩЕННЫЙ КОМПЬЮТЕРНЫЙ КЛУБ!