Как навсегда отключить кэширование записи для внешних USB-накопителей в Linux (я использую Ubuntu)?
Я пробовал:
Метод командной строки: hdparm -W0 /dev/sdb <---- это работает, но только для текущего диска и сбрасывается после перезагрузки.
Флаг hdparm "-k1" должен заставить его сохранить настройку, но он говорит:
Ошибка HDIO_SET_KEEPSETTINGS: недопустимый аргумент
Ошибка HDIO_GET_KEEPSETTINGS: недопустимый аргумент
Метод файла конфигурации(кажется, это еще один способ сделать это навсегда): Следующее, что я нашел, это изменение файла "hdparm.conf", расположенного в /etc. Однако, похоже, для этого вам нужно заранее знать букву диска, "sdb, sdc..." и т. д.
Как можно просто полностью закрыть ВСЕ диски, независимо от того, какие, или конкретно все внешние USB-накопители?
Основная проблема в том, что я не уверен в порядке, в котором буду подключать эти внешние USB-накопители, поэтому буква диска изменится, поэтому я не могу просто назвать его «sdb», так как это может быть не «sdb»…
Это ситуация, когда hdparm.conf может иметь запись несколько раз даже для букв дисков, которые даже не подключены? Таким образом, независимо от того, какой диск подключен, он просто отключит write_cache заранее. Или это что-то испортит?
Возможный/etc/hdparm.confпример (будет ли это работать?):
/dev/sda {
write_cache = off
}
/dev/sdb {
write_cache = off
}
/dev/sdc {
write_cache = off
}
/dev/sdd {
write_cache = off
}
Опять же, эти диски, возможно, еще не существуют... Просто покрываем как можно больше букв алфавита заранее, чтобы, несмотря ни на что, write_cache был выключен. Я думаю, что должен быть способ получше, чем этот..
Есть еще идеи? Или лучшие подходы? Спасибо!
решение1
Вам нужно использовать опцию -K. Из man hdparm
-k Get/set the "keep_settings_over_reset" flag for the drive. When this flag is set, the drive will preserve the -dmu settings
over a soft reset, (as done during the error recovery sequence). This option defaults to off, to prevent drive reset loops
which could be caused by combinations of -dmu settings. The -k option should therefore only be set after one has achieved
confidence in correct system operation with a chosen set of configuration settings. In practice, all that is typically nec‐
essary to test a configuration (prior to using -k) is to verify that the drive can be read/written, and that no error logs
(kernel messages) are generated in the process (look in /var/adm/messages on most systems).
-K Set the drive´s "keep_features_over_reset" flag. Setting this enables the drive to retain the settings for -APSWXZ over a
soft reset (as done during the error recovery sequence). Not all drives support this feature.