Как навсегда изменить настройку 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) и порта, к которому подключен диск, и это не изменится, если вы физически не переместите соединение с диском.

Другие вопросы по тегам