/sys 中的 SCSI 设备条目与 /dev 中的磁盘之间的对应关系

yae*_*ael 4 linux scsi devices disk

/sys/class/scsi_device文件夹下我有以下内容:

 root@linux01:/sys/class/scsi_device # ls
 1:0:0:0  2:0:0:0  2:0:1:0  3:0:0:0
Run Code Online (Sandbox Code Playgroud)

我如何知道这些设备中的每一个如何与磁盘相关?

例如,如何确定设备2:0:1:0是否为磁盘/dev/sdb

root@linux01:/sys/class/scsi_device # sfdisk -s
/dev/sdb:  15728640
/dev/sdc: 524288000
/dev/sda:    153600
[...]
# more /etc/redhat-release  ( Linux VM machine ) 
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Run Code Online (Sandbox Code Playgroud)

Mat*_*Mat 5

获取对应关系的一种简单方法是查看层次结构中的device/block子目录/sys

# ls -1d /sys/class/scsi_device/*/device/block/*
/sys/class/scsi_device/1:0:0:0/device/block/sr0
/sys/class/scsi_device/2:0:0:0/device/block/sda
/sys/class/scsi_device/2:0:1:0/device/block/sdb
/sys/class/scsi_device/2:0:2:0/device/block/sdc
/sys/class/scsi_device/2:0:3:0/device/block/sdd
/sys/class/scsi_device/2:0:4:0/device/block/sde
/sys/class/scsi_device/2:0:5:0/device/block/sdf
Run Code Online (Sandbox Code Playgroud)

其中的目录名对应于 中的块设备名/dev