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но подставь ты