Pull to refresh
39
1

болтун

Send message

К вопросу о функционировании trim/discard на SSD накопителях, подключенных по интерфейсу USB, в Linux. У меня таких накопителей много, в том числе и загрузочных Linux и я очень удивился, увидев что это просто не работает (в разных дистрибутивах).

Небольшой поиск показал, что история известная: низкоуровневые команды на ssd идут через довольно длинную цепочку софта и аппаратуры, мост USB — SSD может (не) пропускать нужные команды (зависит от прошивки моста, в том числе), более того — накопитель USB может неправильно интерпретировать эти команды, в результате чего — прийти в негодность. Вероятно поэтому trim по умолчанию отключен на внешних накопителях: Windows пытается что то сделать «сама» для определения работоспособности trim, ну а в случае Linux — придется проверить вручную

Если накопитель «умеет» trim то Linux может автоматически активировать эту возможность при его подключении в USB используя магию UDEV. Нужно просто добавить файл вида /etc/udev/rules.d/50-usb‑ssd‑trim.rules с примерно таким содержимым:

ACTION=="add|change", ATTRS{idVendor}=="VID", ATTRS{idProduct}=="PID", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"

Где VID и PID — идентификаторы нужного USB накопителя (отображаются командой lsusb )

После чего надо перезагрузить UDEV: sudo service udev force-reload

Я собрал небольшую коллекцию идентификаторов своих накопителей и для удобства дополнения разместил все на github С учетом вышесказанного — применять на свой риск, ну и можно слать коммиты со своими ID

Tags:
Total votes 6: ↑6 and ↓0+6
Comments0

Решил обновить ОС для небольшого домашнего NAS (Intel N3050 (x86), 4GB, WD RED 1TB). На диске было много данных и перемещать для переразбивки диска не было никакого желания. Варианты были такие:

  1. DietPi (на основе Debian 12) Для установки требует чистый диск - все что было стирается и диск переразбивается, инсталлятор на .iso просто распаковывает образ. Рассчитано на начинающих, есть воспомогательные утилиты и установщик софта. Система выдает на терминал дикое количество логов, в интерфейсе есть всякие свистелки-рюшечки. Выглядит необычно. А кое что прибито гвоздями.

  2. Armbian minimal CLI (на основе Debian 12). Для установки требует чистый диск, записывается образ системы, который потом расширяется на весь объем . Даже в minimal версии есть конфигуратор который и сеть настроит и софт поставит, сразу настроен файл подкачки zswap (сжатый, в оперативной памяти) и ротация логов, и всякие скрипты. Всегда оно надо?

  3. Debian (12, netinstall) В полноценном инсталляторе сразу можно указать куда ставить, и (не)перезабивать диск. В минимальной инсталляции в системе будет вообще ничего (даже sudo), все из командной сроки ставится. Выбор тех кто знает что ему нужно.

  4. XigmaNAS (FreeBSD). Для установки требует чистый диск - все что было стирается и диск переразбивается, инcталлятор на .iso как бы работает в live, но неполноценно. Сразу прикручен web-интерфейс и сконфигурированный набор софта, а чего то своего не поставить. Выбор скорее для NAS с несколькими дисками в ZFS, и возможно без интернета.

Tags:
Total votes 9: ↑5 and ↓4+1
Comments1

Information

Rating
1,922-nd
Registered
Activity