这篇文章将为大家详细讲解有关linux如何扫描总线以识别scsi通道,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Linux 扫描总线以识别 SCSI 通道
步骤:
-
枚举系统中的 PCI 设备:
lspci | grep -i scsi
-
识别包含 SCSI 控制器或 HBA 的 PCI 设备:
for dev in $(lspci | grep -i scsi | cut -d " " -f 1); do echo $dev done
-
读取 PCI 设备的配置空间: 对于每个识别出的 PCI 设备,读取包含 SCSI 控制器的配置空间。这将提供有关通道数量、类型和连接的信息。
for dev in $(lspci | grep -i scsi | cut -d " " -f 1); do cat /sys/bus/pci/devices/$dev/config done
-
解析 SCSI 子系统信息: 读取
/proc/scsi/scsi
文件夹中的文件以获取有关 SCSI 子系统的详细信息,包括每个通道的配置。ls /proc/scsi/scsi
示例输出:
lspci | grep -i scsi
00:1d.0 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller
for dev in $(lspci | grep -i scsi | cut -d " " -f 1); do
echo $dev
done
00:1d.0
cat /sys/bus/pci/devices/00:1d.0/config
...
Class: PCI bridge 0604
...
Memory at fed00000 (32-bit, prefetchable) [size=1M]
Memory at fe800000 (32-bit, prefetchable) [size=32]
ls /proc/scsi/scsi
device_info
scsi_debug
scsi_devices
scsi_host0
scsi_host1
此输出显示系统中有两个 SCSI 控制器(host0 和 host1)。可以通过读取 scsi_hostN
目录中的文件来获取有关每个控制器的通道配置的更详细信息。
附加命令:
hdparm -I /dev/sdX
:获取特定 SCSI 设备的详细信息,包括通道号。lsscsi
:列出 SCSI 子系统中的所有设备及其连接。sg_scan
:扫描 SCSI 总线并识别设备。
以上就是linux如何扫描总线以识别scsi通道的详细内容,更多请关注编程学习网其它相关文章!