Обновить

К вопросу о функционировании 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

Теги:
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Microsoft представила WSL 3.0 с поддержкой запуска Linux-контейнеров в Windows

Microsoft представила подсистему Windows для Linux (Windows Subsystem for Linux - WSL) 3.0, позволяющую запускать Linux‑приложения в Windows. Новая ветка примечательна реализацией возможности для запуска Linux‑контейнеров в Windows и переходом на ядро Linux 6.18. Исходный код применяемых в WSL утилит командной строки, фоновых процессов для Linux‑окружений, графического стека wslg, сервисов для запуска контейнеров и виртуальной машины опубликован на GitHub под лицензией MIT. Версия WSL 2.0 вышла в сентябре 2023 года.

Microsoft представила WSL 3.0 с поддержкой запуска Linux-контейнеров в Windows

Публикации