SmallComputer System Interface(SCSI,小型计算机系统接口),是一种用于计算机及其外围设备之间(硬盘、光驱、打印机、扫描仪)的物理的连接和传输数据的一套标准。SCSI标准定义命令、通讯协以及实体的电气特性,最长应用于存储设备上。是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点。SCSI硬盘主要应用于中、高端服务器和高档工作站中。在系统中应用SCSI必须要有专门的SCSI控制器,也就是一块SCSI控制卡,才能支持SCSI设备,SCSI控制器有自己的命令集和缓存。SCSI控制器上有一个相当于CPU的芯片,它对SCSI设备进行控制,能处理大部分的工作,减少了中央处理器的负担(CPU占用率)。
Fibre Channel(FC,光纤通道),适用于千兆数据传输、成熟而安全的解决方案。与SCSI相比,FC提供更高的传输速率,更远的传输距离,更多的设备连接支持,更稳定的性能。
Direct Attached Storage (DAS,直接附加存储),将存储设备通过SCSI接口或FC直接连接到一台计算机。当服务器在地理上很分散,通过SAN或NAS在它们之间进行互联非常困难时,DAS是比较好的解决方案。但是这种方式只能通过与之连接的主机进行访问,不能实现数据共享。DAS主要优点:1,实现大容量存储,将多个磁盘合并成一个逻辑磁盘,满足海量存储要求。2,实现应用数据和操作系统的分离,操作系统存放本机硬盘中,而应用数据放于阵列中。3,提高存取性能,操作单个文件,同时有多个物理磁盘在并行工作,效率比单个磁盘高。但DAS会占用大量CPU资源,I/O资源
Network-Attached Storage(NAS,网络附加存储),通过网络交换机连接存储系统和服务器,建立专门用于数据存储的私有网络,用户通过TCP/IP协议访问数据,采用NFS,HTTP,CIFS来实现基于文件级的数据共享,能够支持多种操作系统。
Storage Area Network(SAN,存储区域网络),通过光纤交换机、光纤路由器、光纤集线器等设备将磁盘阵列等存储设备与相关服务器连接起来的高速专用子网。SAN有3个部分组成,分别是连接设备(路由器,光纤交换机和hub)、接口(SCSI,FC)、通讯协议(IP和SCSI)。这三个部分加上存储设备和服务器就构成了一个SAN系统。
Internet Small Computer System Interface(ISCSI,因特网SCSI),是一个传输层协议,用于将SCSI数据包映射为以太网数据包。ISCSI是基于IP协议的技术标准,允许在TCP/IP协议上传输SCSI命令,实现SCSI和TCP/IP协议的连接。在ISCSI出先以前,构建SAN的唯一技术是利用FC,要花费大量建设成本,ISCSI出现以后出现了另一种方式IP SAN。以光纤搭建的存储区域网络就是FC SAN,以ISCSI技术搭建的存储区域网络叫做IP SAN。FC SAN 与 IPSAN区别:在传输方式上,FC SAN与IP SAN都采用块协议来完成。在传输速度上,FCSAN(2Gbit/s)>iscsi(1Gbit/s)。在传输距离上,FC SAN理论可达100公里,实际上超过50公里后就会出现瓶颈。IP SAN 则没有距离限制。
FC SAN与IP SAN比较
ISCSI拓扑图
iSCSI报文和其它报文都经一个交换机,流量较大可能带来网络阻塞。
为了传输iscsi报文专门增加一个交换机。或着作为一个备用,一个交换机出现故障,不妨碍iscsi系统正常工作。
ISCSI服务器和ISCSI存储设备之间的连接方式有两种,一种是基于软件的方式,既iSCSI Initiator软件。
ISCSI服务器用来安装ISCSI驱动程序,既ISCSIInitiator,Initiator可以将以太网卡虚拟为iscsi卡,进而接收和发送Iscsi报文,从而实现主机和iSCSI存储设备之间的iSCSI协议和TCP/IP协议传输功能。这种方式只需要以太网卡和以太网交换机,无需其它设备。但ISCSI报文和TCP/IP报文转换需要消耗iSCSI服务器的一部分CPU资源。只有在低I/O和低带宽性能要求的环境中才能使用这种方式。
第二种是iSCSI HBA(Host Bus Adapter)卡方式,将HBA卡安装在iSCSI服务器上,从而实现iSCSI服务器与交换机之间、iSCSI服务器与存储设备之间的高效数据传输。硬件iSCSI HBA卡不需要消耗iscsi服务器的cpu资源,可以提供更好的数据传输和存储性能。
ISCSI Target就是一个用于存储数据的iSCSI磁盘阵列或具有iSCSI功能的设备。大多数操作系统可以利用一些软件将系统转变为一个“iSCSI Target”。利用iSCSI Target软件,可以将服务器的存储空间分配给客户机使用,客户机可以像使用本地硬盘以阿鞅使用iscsi磁盘。
SCSI层:根据客户端发出的请求建立SCSICDB(命令描述块),并传给ISCSI层。同时接收来着ISCSI层的CDB,并向应用层返回数据。
ISCSI层:对SCSI CDB进行封装,以便能够在基于TCP/IP协议的网络上进行传输,完成SCSI到TCP/IP的协议转换。
TCP/IP层:对IP报文进行路由和转发。
ISCSI协议定义了在TCP/IP网络发送、接收数据块存储数据的规则和方式。先发送端将SCSI命令和数据封装到TCP/IP包中,然后通过IP网络转发,接收端收到TCP/IP包后,将其还原为SCSI命令和数据并执行,执行完后,将返回的SCSI命令和数据再封装到TCP/IP包中,之后再传回发送端。