/dev/disk/by-path/ 在多接口混用环境中不可替代,因其基于 PCI 总线地址、SAS WWN、FC WWPN、iSCSI IQN 等底层物理路径生成稳定链接,与物理连接一一对应,避免 /dev/sdX 或 /dev/nvme0n1 因探测顺序变化导致的漂移问题。

/dev/disk/by-path/ 是 Linux 中用于按物理连接路径(而非设备名或序号)标识磁盘的关键机制,特别适合混用 SATA、SAS、NVMe、iSCSI、FC 等多种接口的数据中心环境。它通过符号链接指向实际设备节点(如 /dev/sda),但名称中嵌入了控制器、通道、端口、LUN 等硬件路径信息,能稳定反映物理拓扑,避免因设备扫描顺序变化导致的 /dev/sdX 漂移问题。
为什么 /dev/disk/by-path/ 在多接口混用环境中不可替代?
-
/dev/sda、/dev/nvme0n1等设备名由内核探测顺序决定,重启或增删盘后极易变动; - 多路径(multipath)、热插拔、虚拟化场景下,同一块物理盘可能被识别为多个设备;
-
by-path名称基于 PCI 总线地址、SAS address、FC WWN、iSCSI initiator/target session 等底层路径信息生成,与物理连接一一对应; - 它天然支持 SATA(AHCI)、SAS(HBA)、NVMe(PCIe slot)、FC/iSCSI(host bus adapter + target path)等所有主流接口。
如何查看和解读 /dev/disk/by-path/ 中的路径信息?
执行命令:
ls -lh /dev/disk/by-path/
常见路径命名模式及含义:
SATA/SAS(AHCI/HBA)
pci-0000:00:1f.2-ata-1
→ 主板南桥 PCI 地址0000:00:1f.2,ATA 通道 1(对应物理 SATA 口)pci-0000:03:00.0-sas-0x5000c500a1b2c3d4-lun-0
→ SAS HBA 卡在0000:03:00.0,目标设备 WWN(或 SAS address)为0x5000c500a1b2c3d4,LUN 0NVMe
pci-0000:01:00.0-nvme-1
→ NVMe SSD 插在 PCIe 插槽0000:01:00.0,命名空间 1(通常唯一)FC(光纤通道)
pci-0000:05:00.0-fc-0x20000000c9d12345-target0-lun-0
→ FC HBA 卡位置 + 远端存储端口 WWPN0x20000000c9d12345+ target ID + LUNiSCSI
ip-192.168.10.100:3260-iscsi-iqn.2020-01.com.example:storage01-lun-0
→ IP 地址、端口、iSCSI IQN 名称、LUN 编号,完整标识网络存储路径
✅ 提示:路径中含
pci-表示直连设备;含fc-/iscsi-/sas-表示对应协议;含ata-/nvme-/target/lun等关键词可快速判断层级关系。
实际运维建议:用 by-path 做可靠绑定
-
LVM 物理卷创建时推荐使用 by-path 路径(更稳妥):
pvcreate /dev/disk/by-path/pci-0000:03:00.0-sas-0x5000c500a1b2c3d4-lun-0
-
fstab 挂载避免依赖
/dev/sdX:/dev/disk/by-path/pci-0000:01:00.0-nvme-1-part1 /data nvme ext4 defaults 0 2
识别某块盘对应的物理插槽/背板位置:
结合lspci -vv(查 HBA/NVMe 卡位置)、sg_inq /dev/sdX(查 SCSI 设备描述符)、ls -l /dev/disk/by-path/ | grep sdb,即可反向定位该盘接在哪个 SAS 扩展器第几个口,或 NVMe 插在哪条 PCIe 通道上。区分多路径设备与本地盘:
multipath 设备通常出现在/dev/disk/by-path/中,但路径含mpath或重复路径(如两条fc-...-lun-0指向同一dm-0),而本地 SATA 盘不会出现多条路径。
注意事项
-
by-path链接只在设备被内核识别后才生成,未通电/未连线的盘不会出现在该目录; - 某些老旧 BIOS 或 UEFI 设置(如关闭 AHCI、启用 RAID 模式)可能导致 SATA 设备不以
ata-形式暴露,转而走pci-...或cciss-等旧路径; - iSCSI 和 FC 的
by-path名称依赖于 initiator 配置和 target 映射是否稳定,若 target 端更改 IQN 或 WWN,路径会变; - 不建议直接
cp或mvby-path下的链接——它们是只读符号链接,修改无意义。
不复杂但容易忽略:只要数据中心存在两种及以上存储接口,/dev/disk/by-path/ 就不该只被当作“备选方案”,而应成为磁盘识别、脚本固化、自动化部署的默认依据。

















