基本上,我的问题是,我所在的服务器不断切换硬盘。我想要实现的是将设备绑定到硬件上的物理端口。
例如/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”作为子系统类型)