SCSI(Small Computer System Interface)小型计算机系统接口,一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通用接口标准。缓存
SCSI是一种计算机系统接口的标准服务器
SCSI是一种I/O技术网络
SCSI规范了一种并行的I/O总线和相关的协议架构
SCSI的数据传输方式是以块的方式进行的并发
能够看到主机带有一个SCSI控制器与SCSI设备相连,咱们把控制SCSI进行数据存储的一端叫Initiator,而把SCSI设备(存储数据的)叫作Targettcp
主机经过控制器与Target相连,而Target也能够经过SCSI总线与其余的SCSI设备相连,但最后通常都会链接一个终结器ide
SCSI的总线分为宽带和窄带两种,宽带有16个接口,除了一个链接initiator外,最多能够链接15个Target,而窄带有8个接口,最多连接7个Target。布局
系统中的每一个SCSI设备都必须有本身惟一的SCSI ID(即target ID),SCSI ID实际上就是这些设备的地址,而每一个target上能够链接多个逻辑单元(一个逻辑单元对应一个SCSI设备),用LUN(Logical Unit number)逻辑单元号区别不一样的逻辑单元,每一个SCSI ID上最多有32 个LUN(宽带的),一个LUN对应一个逻辑设备(SCSI设备)性能
CSI具备:设备无关性,多设备能够并行使用,高带宽,低系统资源开销的等特色编码
这是一个电脑的主板布局图:
能够看到北桥通常接有CPU,DRAM(内存),AGP(显示芯片)等重要组件,而南桥则接有USB,hardisk(硬盘),CD等;而在南北桥之间经过PCI总线相连,相比与南桥链接的ISA总线,PCI总线更快;将不属于CPU和RAM的全部总线称为外围总线,而外围总线为了链接外部设备通常须要各类控制器,而且要进行I/O操做就必须进过存储总线来读取数据而通常的存储总线常见的有(IDE,SCSI,SATA)等。
SCSI自己具备一个HBA(Host Bus Adapter)主机总线适配器,即SCSI的adaptor,是一个在服务器和存储装置间提供输入/输出(I/O)处理和物理链接的电路板或集成电路适配器。HBA是一个处理芯片,能够本身进行数据的存储和检索
减轻了CPU在数据存储和检索任务的负担即下降了由于存储数据而消耗的CPU时钟周期,因此SCSI具备优秀的存储性能。
常见的服务器和存储设备之间的数据通信协议是IDE,SCSI和FC。为了实现服务器和存储设备之间的通信,通信的两端都须要实现一样的通信协议。存储设备上一般都有控制器,控制器实现了一种或几种通信协议,它能够实现IDE,SCSI或光纤通道等存储协议到物理存储设备的操做协议之间的转换。而服务器的通信协议是由扩展卡或主板上的集成电路实现的,它负责实现服务器内总线协议和IDE,SCSI等存储协议的转换。例如PC机中,通常主板上都有IDE协议的功能,IDE磁盘控制器上有IDE协议的功能。所以IDE磁盘能够链接到PC机的IDE链接线上。若是磁盘只支持SCSI协议,那么这种磁盘就不能直接与PC机链接。这时就须要在PC机扩展槽上插入一块SCSI卡,SCSI磁盘能够与卡链接。SCSI卡实现了PC总线到SCSI的转换。这种SCSI卡实现的功能就是主机总线适配卡的功能。若是磁盘只支持光纤通道协议,那么服务器上就须要支持光纤通道协议,由于光纤通道的高速特性通常服务器主板都不支持,须要专门的主机总线适配卡。服务器插入主机总线适配卡后,就能够与支持光纤通道的磁盘经过光纤通道链接了。
主机总线适配卡内部有一个小的中央处理器,一些内存做为数据缓存以及链接光纤通道和总线的链接器件等。这个小的中央处理器负责PCI和光纤通道两种协议的转换。它还有其余的一些功能,初始化与光纤通道网络链接的服务器端口,支持上层协议例如TCP/IP,SCSI等,8B/10B的编码解码等。
Ultra wide 的传输频率20MHz,数据频宽16位,传输率40MBps
Ultra 2 的传输频率80MHz,数据频宽16位,传输率80MBps
Ultra 160 的传输频率80MHz,数据频宽16位,传输率160MBps
Ultra 320 的传输频率80MHz,数据频宽16位,传输率320MBps
Ultra 640 的传输频率160MHz,数据频宽16位,传输率640MBps
SCSI与IDE 相比
1.IDE的工做方式须要CPU的全程参与,CPU读写数据的时候不能再进行其余操做,而SCSI接口,则彻底经过独立的高速的SCSI卡来控制数据的读写操做,CPU就没必要浪费时间进行等待,显然能够提升系统的总体性能。
2.SCSI的扩充性比IDE大,通常每一个IDE系统可有2个IDE通道,总共连4个IDE设备,而SCSI接口可链接7—15个设备,比IDE要多不少,并且链接的电缆也远长于IDE。
3.虽然SCSI设备价格高些,与IDE相比,SCSI的性能更稳定、耐用,可靠性也更好。
SCSI与SAS
如上图能够看出SCSI和SAS相比最大的不一样就是SCSI是并行的而SAS是串行的,峰值带宽达5Gbps,即SAS能够达到将近1GMBps
SAS(Serial Attached SCSI),串行链接SCSI接口,串行链接小型计算机系统接口。
SAS是新一代的SCSI技术,和如今流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以得到更高的传输速度,并经过缩短连结线改善内部空间等。SAS是并行SCSI接口以后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行ATA (Serial ATA,缩写为SATA)硬盘的兼容性。
SAS的接口看起来和SATA相似,并且能够向下兼容SATA标准
SCSI与SAS相比
一、更好的性能:点到点的技术减小了地址冲突以及菊花链连结的减速所以除了提升性能以外,每一个设备链接到指定的数据通路上提升了带宽;全双工方式下的数据操做保证最有效的数据吞吐量;
二、简便的线缆连结:更细的电缆搭配更小的链接器;
三、更好的扩展性:能够同时连结更多的磁盘设备。
4 硬盘价格太贵
5 只有希捷、迈拓以及富士通等为数很少的硬盘厂商推出了SAS接口硬盘,可选择性少
SCSI 结构基于客户/服务器模式,设备与SCSI设备要经过SCSI总线链接,因此距离受限,一般距离很近,而要想进行远距离的数据存储就要选择FC(Fabre Channel)光纤通道,传输速度超快并且距离不受限制,可是光纤通道的代价很是的高昂,因此IBM公司就开发了基于tcp/ip报文封装SCSI类型的数据,进而进行远距离存储SCSI数据的iSCSI,与FC相比iSCSI更加便宜,符合许多中小公司需求
iSCSI与FC相好比图:
能够看到iSCSI要先封装SCSI的报文,在封装iSCSI的报文,最后还要加上TCP/IP封装,才能经过网络驱动在以太网进行SCSI数据的远距离传输
iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Small Computer System Interface),是
由IBM公司研究开发的,是一个可让硬件设备在IP协议的上层运行的SCSI指令集存储技术,能够实如今IP网络上运行SCSI协议,使其可以在诸如高速千兆以太网上进行路由选择。
iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可经过IP网络进行远距离SCSI类型的数据存储
设备由 SCSI 总线链接。iSCSI 的主要功能是在 TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI 提供了在 IP 网络封装 SCSI 命令,且以TCP/IP协议传输
以下图能够看到从initiator端到target端,数据要进过封装-->IP网络传输-->解封装
如图是iSCSI的封装:最上层为二层以太网帧,中间为三层TCP/IP封装,最下面为iSCSI的封装
iSCSI protocal的封装格式
目前的存储协议除了iSCSI,FC外,还有FCoE(FC on Ethernet)经过以太网而不是光网传输的FC及SAS(串行的SCSI)
下面介绍三种常见的存储类型
DAS(Direct-Attached Storage)直接附加存储,存储设备通常经过scsi/ide总线直接链接到主机上,传输速度快,但距离受总线长度限制,且支持的并发主机数量少
NAS(Network Attached Storage)网络附加存储,将存储设备与服务器完全分离,集中管理数据,从而释放带宽、提升性能、下降总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者
SAN(Storage Area Network)存储区域网络,采用FC(Fibre Channel)光纤通道或者Ethernet进行远距离传输,区别于Fiber Channel光纤通道技术,经过FC交换机链接存储阵列和服务器主机,创建专用于数据存储的区域网络。
DAS与SAN都是快级别的存储,而NAS是文件系统级的存储,所以NAS的存储速度不如前面二者(由于文件系统级别要进行数据的加封装解封装,处理数据报头等操做,而块级别是直接从磁盘进行数据的存取)
SAN(Storage Area Network)至关于模拟了远距离传输的DAS,特色是速度快。支持的并发服务主机数量多
iSCSI的initiator有三种:
1:HBA卡,采用内键的SCSI指令及TOE引擎的ASIC芯片的适配卡价格最贵,性能最好,消耗CPU不多
如图:
2:内键的TOE引擎的ASIC芯片适配卡,因为SCSI指令任然以软件方式运行,因此任然会消耗必定的CPU资源,但价格相对便宜
如图
3:彻底由软件驱动的initiator,会消耗大量的CPU资源,性能差
iSCSI的server(target)端:iSCSI监听在TCP/IP的3206端口,有一个极其简单的OS,只能提供SCSI服务,命令等,而server端的本地存储颇有多是一个或多个Raid组成的阵列,而Raid设备有多是SATA,SAS,SCSI......可是server(提供SCSI存储)端与client(服务器)端之间数据交换要经过TCP/IP网络传输封装好的SCSI数据报文
如图为一个SAN架构图:
能够看到Server端(存储端)使用的是3个Raid磁盘阵列,分别为Raid5,Raid5,Raid10;中间能够是 FC光纤通道,Ethernet以太网线,链接有不一样的Client主机,包括Unix、Linux、Windows、Tape Library(磁带库)