如何永久更改某些块设备的 sysfs 设置?

如何永久更改某些块设备的 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 仅包含指向sdXdm-X设备的指针,而不是 UUID 或 LABEL 符号链接。

在我开始破解自己的解决方案之前:如何应该我是否可以在 /sys 中唯一地寻址一个块设备(磁盘)来永久更改类似上述超时的设置?

答案1

看一下 /sys/block/sda/device。它是指向实际 sysfs 路径的符号链接,该路径取决于 pci 设备( sata 主机控制器)和驱动器所连接的端口,除非您物理移动驱动器连接,否则这不会改变。

相关内容