내 NVME가 어떤 PCI 장치인지 쉽게 확인할 수 있는 방법이 있나요?

내 NVME가 어떤 PCI 장치인지 쉽게 확인할 수 있는 방법이 있나요?

lsblk에 nvme1n1로 표시되는 U.2 SSD가 있습니다.

root@eris:~# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0  3.6T  0 disk 
├─nvme0n1p1 259:1    0  476M  0 part /boot/efi
├─nvme0n1p2 259:2    0 38.1G  0 part /
└─nvme0n1p3 259:3    0  3.6T  0 part /data
nvme1n1     259:4    0  3.5T  0 disk 

dmesg를 보면 다음과 같은 내용을 볼 수 있습니다.

root@eris:~# dmesg | grep -i nvme
[    0.997417] nvme nvme0: pci function 0000:01:00.0
[    0.997448] nvme nvme1: pci function 0000:04:00.0
...

이는 다음과 일치합니다:

root@eris:~# ll /sys/bus/pci/drivers/nvme | grep 04:00.0
lrwxrwxrwx 1 root root    0 Jul  4 14:41 0000:04:00.0 -> ../../../../devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:02.0/0000:04:00.0

이건 나중에 꼭 알아야 할 내용이에요.

/dev/nvme1n1제 질문은 에서 까지 가는 더 쉬운 방법이 있습니까 /sys/bus/pci/drivers/nvme/0000:04:00.0? 입니다.

답변1

예,

ls -la /dev/disk/by-path

# or
cd /sys/block
for i in nvme*; do
    echo "$i is `cat $i/device/address`"
done

관련 정보