我是 Linux 新手
你能帮帮我吗?
我在/dev/sda 上连接了磁盘,在/dev/sdb 上连接了另一个磁盘
当我在/dev/sda 上弹出磁盘并加载和扫描(通过 echo "- - -" > /sys/class/scsi_host/host6/scan
)时,它的路径再次变为/dev/sdc 但具有相同的磁盘序列号
为什么连接到同一个 HBA 端口的物理磁盘在 Ubuntu 上可能具有不同的路径,例如/dev/sda 或/dev/sdc,即使/dev/sda 未使用?
最佳答案
您会发现有一段短暂的时间没有重复使用设备路径。很可能,如果您再次弹出驱动器、加载它并重新扫描 scsi 总线,驱动器将变为/dev/sda。但是,相信我,即使这个顺序似乎保持不变,它也会在你最意想不到的时候发生变化。
你会在这个网站和互联网上的论坛上一遍又一遍地看到这一点:永远不要依赖 Linux 的设备路径分配。
相反,当您必须引用特定设备时,请使用 udev
生成的路径。在 /dev/disk/by-id
或者,有时,/dev/disk/by-path
.在 /dev/disk/by-id
,您会从驱动器的识别信息(供应商、型号和 WWN)中找到符号链接(symbolic link),这些符号链接(symbolic link)从引导到引导保持不变,并且不依赖于它们插入的 HBA 端口:
lrwxrwxrwx. 1 root root 9 Sep 8 07:45 ata-Samsung_SSD_850_PRO_512GB_S250NXAGB14452L -> ../../sdb
lrwxrwxrwx. 1 root root 9 Sep 8 07:45 ata-Samsung_SSD_850_PRO_512GB_S250NXAGB14461T -> ../../sdd
lrwxrwxrwx. 1 root root 9 Sep 8 07:45 ata-Samsung_SSD_850_PRO_512GB_S250NXAGB14444R -> ../../sde
如果您需要 HBA 端口表示,您通常可以从 /dev/disk/by-path
中的条目中对其进行解码。 ,因为这里 SCSI host:bus:target:lun 寻址显示在路径中:lrwxrwxrwx. 1 root root 9 Sep 8 07:45 pci-0000:00:1f.2-ata-1.0 -> ../../sda
lrwxrwxrwx. 1 root root 9 Sep 8 07:45 pci-0000:05:00.0-scsi-0:0:8:0 -> ../../sdb
lrwxrwxrwx. 1 root root 9 Sep 8 07:45 pci-0000:05:00.0-scsi-0:0:12:0 -> ../../sdd
lrwxrwxrwx. 1 root root 9 Sep 8 07:45 pci-0000:05:00.0-scsi-0:0:15:0 -> ../../sde
lrwxrwxrwx. 1 root root 9 Sep 8 07:45 pci-0000:05:00.0-scsi-0:0:10:0 -> ../../sdc
关于ubuntu - 为什么连接到同一个 HBA 端口的物理磁盘可能有不同的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69123264/