我可以依赖 scsi 主机号始终保持不变吗?

我可以依赖 scsi 主机号始终保持不变吗?

我想检测磁盘是否连接到正确的 SATA 端口。虽然 lsscsi 为我提供了一些有关所用主机的有用信息,但我想知道 SCSI 主机号是否始终保持不变:

[0:0:0:0]    disk    ATA      2.5" SATA SSD 3M P130  /dev/sda 
[1:0:0:0]    disk    ATA      2.5" SATA SSD 3M P130  /dev/sdb 
[4:0:0:0]    disk    ATA      SATADOM D150SV-L 1209  /dev/sdc 

一个小测试表明,重新启动系统或移除其中一个磁盘都不会影响其他主机号。此外,我在以下位置发现了以下内容:http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/scsiaddr.html

SCSI 适配器编号通常是计算机内部 IO 总线(例如 PCI、PCMCIA、ISA 等)上的适配卡的任意编号。[...] SCSI 适配器编号由内核以从 0 开始的升序发出。

两者结合起来让我假设 SCSI 主机号在系统上应该始终保持不变,因为总线始终以相同的方式枚举?这是正确的吗?

更新:似乎连接 ATA 直通(ATP)设备可以更改所有设备的主机号。

答案1

我永远不会依赖 HCTL 数字保持稳定。主机可能会因添加新主机或检测新设备而发生变化,这将暴露出在此之前未使用的新主机。内核的时间可能略有不同,这会导致以不同的顺序检测不同的主机,并且每次重新插入时,被移除和重新插入的设备可能会获得不同的目标数字。

这些值仅作为临时标识有意义,但不能用于持久引用。

相关内容