我有一个磁盘需要增加 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 主机控制器)和驱动器所连接的端口,除非您物理移动驱动器连接,否则这不会改变。