Как навсегда изменить настройку sysfs для определенного блочного устройства?
У меня есть диск, для корректной работы которого требуется увеличенное время ожидания 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, чтобы навсегда изменить настройку, такую как время ожидания выше?
1 ответ
Посмотрите на /sys/block/sda/device. Это символическая ссылка на реальный путь sysfs, который зависит от устройства pci (хост-контроллера sata) и порта, к которому подключен диск, и это не изменится, если вы физически не переместите соединение с диском.