SCSI 小结一

SCSI:简单计算机系统接口
SCSI定义了计算机和外设进行数据传输的方式,通常使用在硬盘,磁带设备中,但同时也能连接很多其他类型的设备,包括打印机,扫描仪,CD驱动器等等。
SCSI通信模式
SCSI是Client-Server的通信模式,由Client发送请求,Server完成请求并返回Client端状态及信息。在SCSI中将Client称之为Initiator,Server端称之为Target,每个Target可以有多个LUN,每个LUN处理Initiator发送过来的请求,实现LUN所属SCSI子协议定义的命令,每个LUN包含两部分:Device Server和Task Manager,分别完成Initiator指定的处理和管理功能。
SCSI为设备之间的通信定义了端口,例如有Initiator端口,Target端口,Initiator/Target端口以及多端口的Target设备,对应的也就有Initiator模式,Target模式,Combined模式,多端口target模式等等。处于Initiator模式下只能发送请求和处理请求结果,处于Target模式下只能处理请求,Combined模式则可以针对相应端口的模式设置完成发起请求和处理请求。

SCSI 小结一

SCSI协议寻址

SCSI寻址是按照:控制器,通道,SCSIID,LUNID的形式进行寻址的。

控制器:Initiator设备,通常指连接到主板南桥或者以PCIe插卡形式存在的。

通道:每个控制器有多个通道

SCSI ID:指连接在每个通道上的SCSI设备,窄总线(8bit)SCSIID取值范围0-7,宽总线(16bit),SCSI ID取值范围为0-15。

SCSIID优先级从高到底分别为:

7,6,5,4,3,2,1,0,9,10,11,12,13,14,15

LUN

由于SCSI ID能寻址的设备很少,最多15个。但是挂在SCSI上很多。所以引入LUN的概念。所以一个SCSI ID上可以挂很多LUN,每个LUN都有个LUNID。

Linux环境下查询SCSI命令

在LINUX操作系统下,Lsscsi命令会查询类似以下的结果:

[0:0:0:1]    disk    Linux    scsi_debug       0004  /dev/sda  /dev/sg0

[0:0:0:49409]wlun    Linux    scsi_debug       0004  -         /dev/sg1

开头四元组对应的就是[控制器:通道:SCSI ID,LUN ID]

 

 

你可能感兴趣的:(小结)