У меня есть диск, для корректной работы которого требуется увеличенное время ожидания SATA (по крайней мере, это текущее решение, см. Комментарии на https://serverfault.com/questions/682061 ). Я понял, что могу установить этот таймаут, выполнив
sudo sh -c 'echo 120 > /sys/block/sda/device/timeout'
Я могу записать это в загрузочный скрипт или использовать интерфейс sysctl (верно?), Поместив это в /etc/sysctl.conf
:
sys.block.sda.device.timeout = 120
Однако из-за моей настройки этот диск может иметь размер sda
, sdb
или sdd
в зависимости от того, какие комбинации дисков доступны во время загрузки. Поэтому я должен идентифицировать его по UUID или метке. К сожалению, / sys содержит только указатели на устройства sdX
и dm-X
, но не символические ссылки UUID или LABEL.
Прежде чем приступить к взлому своего собственного решения: как следует однозначно обратиться к блочному устройству (диску) в / sys, чтобы навсегда изменить настройку, такую как время ожидания выше?
Смотрите на/sys/block/sda/device. Это - символьная ссылка на реальный путь sysfs, который зависит от устройства PCI (sata хост-контроллер) и порт, к которому присоединяется диск, и это не собирается изменяться, если Вы физически не перемещаете соединение диска.