fstrim не поддерживается USB-накопителем?

Не уверен, что это уже правильно отсортировано (но я нуб)

Новая установка сервера 14.04, установленного на совершенно новую USB-карту памяти SanDisk 16Gb, установленную на внутреннем USB-разъеме микросервера HP Proliant. Стик содержит загрузочные, root, минимальные пользовательские файлы и файл подкачки в соответствии с установкой по умолчанию, LVM не установлен. Система в основном работает как безголовый файловый / медиа-сервер.

Еженедельная работа CRON проваливается

fstrim: /: FITRIM ioctl failed: Operation not supported

hdparm и smartctl оба показывают

Data Set Management TRIM supported (limit 8 blocks)

но команда fstrim -v / выдает такое же сообщение об ошибке

fstrim: /: FITRIM ioctl failed: Operation not supported

Хотя записи на USB-накопитель не так много (я думаю, кроме системных журналов), было бы неплохо узнать, что здесь происходит.

2 ответа

Ошибка 1336541 "Нет TRIM через USB". Я думаю, что проблемы присутствуют с внутренними портами USB также. Кроме того, в вашем случае звучит так, будто вы используете флэш-накопитель USB, а не устройство SSD - TRIM не будет применяться к флэш-памяти. Если ваше устройство действительно SSD, добавьте себя в ошибку.

Некоторые корпуса USB проходятtrim ioctlкоторый отличается отinfoкоманда иоктл. Просто потому, что диск сообщает, что он поддерживает обрезку, не означает, чтоfstrimбудут корректно переведены, т.е. пройдут через мост в корпусе USB к самому накопителю.

Если у вас есть корпус USB с мостомchipкоторый передает команду обрезки, вы уже на полпути. Далее вам понадобитсяudevправило. Пытатьсяlinux # nano 50-usb-trim.rulesСкопируйте и вставьте это в файлACTION=="add|change", ATTRS{idVendor}=="152d", ATTRS{idProduct}=="0562", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"но для152dи0562бегlsusbи найдите свой USB-корпус, который обычно содержит словоbridge

В моем случае есть 2 4-значных шестнадцатеричных числа, разделенных двоеточием.152d:0562, но используйте номера из вашего USB-корпуса и поместите их в нужные места, как я сделал в своем.

Сохраните файл правил udev выше и поместите его в/etc/udev/rules.dПосле подключения USB-накопителя запуститеsudo systemctl daemon-reloadНайдите диск в /devlinux # ls /dev/sd*. Если вы все еще не можете понять, какой это, используйтеlinux # sudo fdisk -lи посмотрите на размеры. Вероятно, вы можете сказать, какой диск вы хотите обрезать.

linux # sudo mount /dev/sdc1 /mntно подставь ты

Другие вопросы по тегам