udev 规则使某些端口始终与某些设备相对应

udev 规则使某些端口始终与某些设备相对应

基本上,我的问题是,我所在的服务器不断切换硬盘。我想要实现的是将设备绑定到硬件上的物理端口。

例如/dev/sda,端口 0/dev/sdb就是端口 0 等等。

我一直在阅读有关 udev 规则的内容,它总是回到使用串行等。但是由于我的硬件不断变化,我无法使用它。我需要将端口分配给设备文件。

这种事可能吗?

答案1

我已经对外部硬盘执行了此操作。我使用 获取信息lsscsi,它将打印类似以下内容:

[0:0:0:0]    disk    <descriptor>    /dev/sda
[1:0:0:0]    disk    <descriptor>    /dev/sdb
[2:0:0:0]    cd/dvd  <descriptor>    /dev/sr0

其中 0、1、2 对应于端口 ID。然后,类似于以下规则的内容应该可以满足您的要求:

SUBSYSTEM=="block", KERNEL=="sd*1", KERNELS=="1:0:0:0", SYMLINK+="<label_1>"

(请注意,我还没有检查这是否适用于内部驱动器 - 我的外部驱动器需要“usb”而不是“block”作为子系统类型)

相关内容