一、iSCSI的概念
iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN存储区域网,简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术。iSCSI技术最初由Cisco和IBM两家发起,并且得到了广大IP存储技术爱好者的大力支持。这几年迅速的发展壮大了起来。
对于中小企业的存储网络来说,iSCSI是个非常好的选择,首先,从技术实现来讲,iSCSI是基于IP协议的技术标准,它允许网络在TCP/IP协议上传输SCSI命令,实现了SCSI和TCP/IP协议的连接,这样用户就可以通过TCP/IP网络来构建存储区域网,它只需要不多的投资,就可以方便、快捷地对信息和数据进行交互式传输和管理。但是在iSCSI出现之前,构建存储区域网的唯一技术是利用光纤通道,而这要花费很大的建设成本,一般中小企业是无法承担的,其次iSCSI技术解决了传输效率、存储容量、兼容性、开放性、安全性等诸多问题,在使用性能上绝对不输给商业的存储系统或者光纤存储网络。
iSCSI的优势主要表现为:首先,iSCSI沿用TCP/IP协议,而TCP/IP是在网络方面最通用、最成熟的协议,且IP网络的基础建设非常完善,同时,SCSI技术是被磁盘、磁带等设备广泛采用的存储标准,这两点使iSCSI的建设费用和维护成本非常低廉;其次,iSCSI支持一般的以太网交换机而不是特殊的光纤通道交换机,从而减少了异构网络带来的麻烦;最后,iSCSI是通过IP封包传输存储命令,因此可以在整个Internet上传输,没有距离的限制。
二、FC SAN与IP SAN
当iSCSI技术出现后,通过IP技术搭建的存储网络也就应运而生,SAN技术也就出现了两种不同的实现方式,即FC SAN与IP SAN。简单说,以光纤搭建的存储网络就是FC SAN,以iSCSI技术搭建的存储网络叫做IP SAN。
作为SAN的两种实现方式,FC SAN与IP SAN也各有优劣,下面从几个方面分别阐述:
? 在数据传输方式上,FC SAN与IP SAN都是采用块协议方式来完成的。这是它们的相同点。
? 在传输速度上,就目前的传输速度而言是FC SAN(2Gb)最快、iSCSI(1Gb)次之。
? 在传输距离上,FC SAN理论上可以达到100公里,而事实上当传输超过50公里后,就会出现瓶颈。透过IP网络的iSCSI理论上都没有距离上的限制, iSCSI可以进行无限长度的数据传输。
? 在管理以及维护成本上,架设FC SAN网络需要投入很多硬件费用,并且需要特定的工具软件来操作管理,而IP SAN构建成本低廉,由于iSCSI是通过IP网络来传输数据及分配存储资源,所以只要在现有的网络上进行管理和使用即可。这样就可以省下大笔管理费用以及培训成本。
其实IP SAN也面临着一些不可回避的困扰:
首先,基于IP SAN的网络存储还没有得到用户的充分肯定,其次,IP SAN存储需要专门的驱动和设备,不过幸运的是一些传统的光纤适配器厂商都发布了iSCSI HBA设备,同时Inter也推出了专用的IP存储适配器,而Microsoft、HP、Novell、SUN、AIX、Linux也具有了iSCSI initiator软件,并且免费的提供给用户使用。最后,在安全方面,IP SAN虽有一套规范的安全机制,但是尚未得到用户的认可。
这些问题和困扰是妨碍iSCSI发展的强大阻力,但是iSCSI的前途是光明的,相信在未来的存储世界里,IP SAN绝对会拥有一席之地。
三、 iSCSI的组成
一个简单的iSCSI系统大致有以下部分组成:
? iSCSI initiator或者iSCSI HBA
? iSCSI target
? 以太网交换机
? 一台或者多台服务器
一个完整的iSCSI系统拓扑结构如图1所示:
图1
在此图中,iSCSI服务器用来安装iSCSI driver,也就是安装iSCSI initiator,Storage Router可以是以太网交换机或者路由器,iSCSI存储设备可以是iSCSI磁盘阵列,也可以是具有存储功能的PC服务器。下面详细介绍一下iSCSI initiator与iSCSI target的含义:
四、iSCSI initiator
iSCSI initiator是一个安装在计算机上的一个软件或是一个硬件设备,它负责处理同iSCSI存储设备进行通信。
iSCSI服务器与iSCSI存储设备之间的连接方式有两种:第一种是基于软件的方式,也就是iSCSI initiator,在iSCSI服务器上安装initiator后,Initiator软件可以将以太网卡虚拟为iSCSI卡,进而接受和发送iSCSI数据报文,从而实现主机和iSCSI存储设备之间的iSCSI协议和TCP/IP协议传输功能。这种方式只需以太网卡和以太网交换机,无需其它设备,因此成本是最低的,但是iSCSI包文和TCP/IP包文转换需要消耗iSCSI服务器的一部分cpu资源,只有在低I/O和低带宽性能要求的应用环境中才能使用这种方式。
第二种是硬件iSCSI HBA(Host Bus Adapter)卡方式,即为硬件iSCSI initiator,这种方式需要购买iSCSI HBA卡,然后安装在iSCSI服务器上,从而实现iSCSI服务器与交换机之间、iSCSI服务器与存储设备之间的高效数据传输。与第一种方式相比,硬件iSCSI HBA卡方式不需要消耗iSCSI服务器的CPU资源,同时硬件设备是专用的,所以基于硬件的iSCSI initiator可以提供更好的数据传输和存储性能。但是,iSCSI HBA卡价格比较昂贵,因而,要在性能和成本之间进行权衡。
iSCSI initiator软件一般都是免费的,CentOS和RHEL对iSCSI Initiator支持非常不错,现在的Linux发行版本都默认已经自带了iSCSI Initiator。