天天看點

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]

繼續閱讀