ubuntu - 为什么连接到同一个 HBA 端口的物理磁盘可能有不同的路径?

标签 ubuntu disk scsi iscsi

我是 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/

相关文章:

linux - 如何区分内核scsi_device结构中的USB和(S)ATA设备?

storage - SCSI 和 PCI 的区别

linux - 更改学校服务器上的 vim colorscheme

linux - -O1 和内联汇编程序的 GCC 段错误

Docker - 磁盘配额

c++ - 在 Windows 上以编程方式获取每个进程的磁盘 io 统计信息?

regex - 替换文本文件中的换行符和变量

Linux 中的 Android Studio 模拟器错误

java - 如何在 Java 7 中可移植地获取文件存储的 block 大小?

linux - 哪个版本的 Linux 内核开始支持 SPC-4 for VMware 6.5 UNMAP