老蒋谈存储(5):革命的ISCSI
这里讲到ISCSI, 为什么是革命的,因为ISCSI是把FC的协议平民化了。 把专门用于数据传输的FC协议进行了改良,加上TCP/IP的封头,就可以直接在IP 网络上传递,昂贵的HBA卡,FC交换机可以抛弃,只有有一台普通的网络交换机就可以,完成从主机到存储的数据传递过程。
iSCSI是Internet Small Computer System Interface的简称,是一种在IP网络上传送SCSI操作指令和数据的协议。iSCSI协议最初是由IBM,CISIO,HP发起的,2000年2月成为IETF草案,2004年4月作为正式的IETF标准。
iSCSI协议主要由RFC3720描述,其他涉及的RFC有:3721(iSNS),3722(命令规范),3723(安全),3347(设计),3783(IP上的有序命令传送),3385(错误估计)
iSCSI的主要功能是在TCP/IP上封装,并可靠的传输SCSI命令及数据。
双方在各个协议层的通讯示意图如下:
iSCSI 协议定义了在 TCP/IP 网络发送、接收 block(数据块)级的存储数据的规则和方 法。发送端将SCSI命令和数据封装到 TCP/IP 包中再通过网络转发,接收端收到 TCP/IP 包 之后,将其还原为SCSI命令和数据并执行,完成之后将返回的SCSI命令和数据再封装到 TCP/IP 包中再传送回发送端。而整个过程在用户看来,使用远端的存储设备就象访问本地的 SCSI设备一样简单。
早在 2001 年上半年,IBM 就推出了IP Storage 200i,是市场上公认的第一款基于iSCSI 协议的产品,这款产品的出现,对于身处信息爆炸时代却无法承担光纤通道 SAN 环境高成本的中小型用户来说,具有巨大的吸引力;2001年10月,Cisco也推出了SN5420存储路由器,基于IP标准和SAN标准,可以提供与现有LAN、WAN、光纤和SAN设备之间的互操作,率先建立了IP网络与SAN之间的桥梁。现在,有更多的厂商参与到iSCSI产品的开发中,如Intel已经推出了存储网卡 IP Storage iSCSI PRO/1000T,将协议转化也就是封装、还原 TCP/IP 包的步骤转移到网卡上来执行,大大降低了服务器处理器的占用率。同时,还有芯片、板卡制造商加入到iSCSI产品的开发中,如Adaptec、Qlogic 等等。
iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。用户可使用标准的千兆级以太网传输协议,通过Cat5线缆和任意的交换机产品,将服务器与磁盘阵列连接在一起,并且能够提供接近FC SAN的性能。
iSCSI集SCSI、以太网和TCP/IP等技术于一身,支持iSCSI技术的服务器和存储设备能够直接连接到现有的IP交换机和路由器上,具有低廉、开放、大容量、传输速度高、安全等诸多优点,最适合需要在网络上存储和传输大量数据的应用环境,比如广电视频制作和媒资系统,视频监控系统,IPTV系统,数据备份系统,以及许多的对IOPS和带宽性能要求不是还很高的数据库存储系统、大容量文件存储系统。
这样ISCSI存储加上SATA磁盘就可以作为近线存储来大规模使用。
我们分析了iSCSI存储的系统结构,下面来看iSCSI是如何与服务器、工作站等主机设备来连接的,也就是我们如何建立一个iSCSI网络存储系统。
iSCSI设备的主机接口一般默认都是IP接口,可以直接与以太网络交换机和iSCSI交换机连接,形成一个存储区域网络。根据主机端HBA卡、网络交换机的不同,iSCSI设备与主机之间有三种连接方式。
第一种:以太网卡+initiator软件方式。
服务器、工作站等主机使用标准的以太网卡,通过以太网线直接与以太网交换机连接,iSCSI存储也通过以太网线连接到以太网交换机上,或直接连接到主机的以太网卡上。在主机上安装Initiator软件。
安装Initiator软件后,Initiator软件可以将以太网卡虚拟为iSCSI卡,接受和发送iSCSI数据报文,从而实现主机和iSCSI设备之间的iSCSI协议和TCP/IP协议传输功能。
这种方式由于采用普通的标准以太网卡和以太网交换机,无需额外配置适配器,因此硬件成本最低。缺点是进行ISCSI包文和TCP/IP包文转换要点主机端的一部分资源。不过在低I/O和低带宽性能要求的应用环境中和完全满足数据访问要求。
目前很多最新版本的常用操作系统都提供免费的Initiator软件,建立一个存储系统除了存储设备本身外,基本上不需要投入更多的资金来,因此在三种系统连接方式中其建设成本是最低的。
第二种:硬件TOE网卡+initiator软件方式。
第一种方式由于采用普通以太网卡和以太网交换机,无需额外配置适配器,或专用的网络设备,因此硬件成本最低。但由于进行ISCSI包文和TCP/IP包文的打包和解包全部需要主机主处理器CPU来进行运算,数据传输率直接受到主机当前运行状态和可用资源的影响和限制,因此一般无法提供高带宽和高IOPS性能。
具有TOE(TCP Offload Engine)功能的智能以太网卡可以将网络数据流量的处理工作全部转到网卡上的集成硬件中进行,把系统主处理器CPU从忙于协议处理的繁重的内核中断服务中解脱出来,主机只承担TCP/IP控制信息的处理任务。
与第一种方式相比,采用TOE卡可以大幅度提高数据的传输速率。TCP/IP协议栈功能由TOE卡完成,而iSCSI层的功能仍旧由主机来完成。
由于TOE卡也采用TCP/IP协议,相当于一块高性能的以太网卡,所以第二种方式也可以看做是第一种连接方式的特殊情况。
第三种:iSCSI HBA卡连接方式。
在主机上安装专业的iSCSI HBA适配卡,从而实现主机与交换机之间、主机与存储之间的高效数据交换。
与前两种方式相比,第三种连接方式中采用了iSCSI HBA卡,因此数据传输性能最好,价格也最高。
后两种方式都需要在主机上安装专门的硬件板卡,由于目前TOE网卡和iSCSI HBA的市场价格都比较贵。如果网络中主机数量比较多,那么网络总资金投入不见得会比FC-SAN存储系统低很多,网络的带宽和性能却相比FC-SAN存储系统差了很多。
最新评论及回复