NVME BDF 与物理位置映射
NVME BDF 与物理位置映射
NVMe 设备 PCI BDF (Bus:Device.Function) 与物理插槽位置 之间的对应关系。
一、逻辑映射:NVMe 设备名 → PCI BDF
方法:
使用以下命令查看 NVMe 设备(如
/dev/nvme0n1)对应的 PCI 地址:1
readlink -f /sys/class/nvme/nvme*
该操作会显示类似如下路径:
.../0000:01:00.0/...,可直接获取 BDF 信息。也可以通过
/sys/block举例查询更细致:1
ls -l /sys/block/nvme0n1
它会指向包含 BDF 的路径:
../devices/pci0000:00/.../0000:00:1f.2/...。
二、硬件层面:BDF → 物理插槽位置 映射方式
方法一:使用 dmidecode 查看物理槽位信息
执行:
1
dmidecode -t slot
可以获取系统中所有 PCI 插槽的描述(如 Slot 名称、状态、Bus Address 等),其中的 Bus Address 即为 PCI BDF。
示例输出片段:
1
2
3Handle 0x001D, DMI type 9, ...
Designation: J6B1
Bus Address: 0000:00:1c.3
方法二:参考厂商文档
在服务器上,通过收集
sosreport报告,可查看 NVMe 设备的 BDF 与物理插槽号的对应关系:- 报告中的
dmesg日志记录了 NVMe 控制器与 Bus 的对应; - 将十六进制 Bus 编号转换为十进制后,可对应到具体槽位编号(如 Bus 0x3d = 61 → 槽位 22)。
- 报告中的
三、综合对照表模板(可根据实际情况填写)
| 步骤 | 操作说明 | 获取方式 |
|---|---|---|
| 逻辑映射 | 设备名 ↔ PCI BDF | readlink 或 /sys/block/... |
| 槽位信息 | PCI 槽位 ↔ BDF | dmidecode -t slot |
| 厂商映射 | BDF ↔ 物理槽位号 | sosreport 或厂商文档 |
| 灯光验证 | 人眼观察 ↔ 确认槽位 | 厂商文档工具等 |
四、总结
1. 系统设备与 PCI BDF 对应
- /dev/nvme0n1 —> PCI BDF: 0000:01:00.0 (通过 readlink 获取)
- /dev/nvme1n1 —> PCI BDF: 0000:02:00.0
2. PCI 槽位信息
- Slot J6B1 —> Bus Address: 0000:01:00.0
- Slot J6B2 —> Bus Address: 0000:02:00.0
3. 物理插槽位置对应表
| PCI BDF | 物理槽位编号 | 备注 |
|---|---|---|
| 0000:01:00.0 | 插槽 1 | 与 nvme0n1 对应 |
| 0000:02:00.0 | 插槽 2 | 与 nvme1n1 对应 |
4. 验证方式
- 使用
dmidecode确认槽位 → BDF 的对应关系; - 可通过
sosreport辅助确认; - 在某些系统中,可使用厂商文档工具触发 LED 并手工确认。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 FrankTest!
评论
