为什么连接到同一个 HBA 端口的物理磁盘可能有不同的路径?
Why physical disk connected to the same HBA port may have different paths?
我是 Linux 的新手
你能帮帮我吗?
我在 /dev/sda 上连接了磁盘,在 /dev/sdb 上连接了另一个磁盘
当我在 /dev/sda 上弹出磁盘并加载和扫描(通过 echo "- - -" > /sys/class/scsi_host/host6/scan
)时,它的路径再次变为 /dev/sdc 但具有相同的磁盘序列号
为什么连接到同一个 HBA 端口的物理磁盘可能有不同的路径,例如 /dev/sda 或 Ubuntu 上的 /dev/sdc,即使 /dev/sda 未被使用?
您会发现有一小段时间设备路径未被重用。很可能,如果您再次弹出驱动器,加载它并重新扫描 scsi 总线,驱动器将变为 /dev/sda。但是,请相信我,即使此顺序似乎保持不变,它也可能会在您最意想不到的时候发生变化。
您会看到此站点和互联网论坛上一遍又一遍地重复:永远不要依赖 Linux 的设备路径分配。
相反,当您必须引用特定设备时,请使用 udev
在 /dev/disk/by-id
或有时 /dev/disk/by-path
中生成的路径。在 /dev/disk/by-id
中,您会发现来自驱动器识别信息(供应商、型号和 WWN)的符号链接从引导到引导都保持不变,并且不依赖于它们插入的 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
我是 Linux 的新手 你能帮帮我吗?
我在 /dev/sda 上连接了磁盘,在 /dev/sdb 上连接了另一个磁盘
当我在 /dev/sda 上弹出磁盘并加载和扫描(通过 echo "- - -" > /sys/class/scsi_host/host6/scan
)时,它的路径再次变为 /dev/sdc 但具有相同的磁盘序列号
为什么连接到同一个 HBA 端口的物理磁盘可能有不同的路径,例如 /dev/sda 或 Ubuntu 上的 /dev/sdc,即使 /dev/sda 未被使用?
您会发现有一小段时间设备路径未被重用。很可能,如果您再次弹出驱动器,加载它并重新扫描 scsi 总线,驱动器将变为 /dev/sda。但是,请相信我,即使此顺序似乎保持不变,它也可能会在您最意想不到的时候发生变化。
您会看到此站点和互联网论坛上一遍又一遍地重复:永远不要依赖 Linux 的设备路径分配。
相反,当您必须引用特定设备时,请使用 udev
在 /dev/disk/by-id
或有时 /dev/disk/by-path
中生成的路径。在 /dev/disk/by-id
中,您会发现来自驱动器识别信息(供应商、型号和 WWN)的符号链接从引导到引导都保持不变,并且不依赖于它们插入的 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