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