iSCSI技术解析之概念篇

来源:互联网 发布:淘宝详情页图片被拉长 编辑:程序博客网 时间:2024/06/05 04:20

iSCSI技术解析之概念篇

一、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存储需要专门的驱动设备或者软Target,不过幸运的是一些传统的光纤适配器厂商都发布了iSCSI HBA设备,同时Inter也推出了专用的IP存储适配器,而Microsoft、HP、Novell、SUN、AIX、Linux也具有了iSCSIinitiator软件,并且免费的提供给用户使用。最后,在安全方面,IPSAN虽有一套规范的安全机制,但是尚未得到用户的认可。

这些问题和困扰是妨碍iSCSI发展的强大阻力,但是iSCSI的前途是光明的,相信在未来的存储世界里,IP SAN绝对会拥有一席之地。

三、iSCSI的组成

一个简单的iSCSI系统大致有以下部分组成:

iSCSI initiator或者iSCSI HBA

iSCSI target

以太网交换机

一台或者多台服务器

一个完整的iSCSI系统拓扑结构如图1所示:

图1. iSCSI系统拓扑结构图

在此图中,iSCSI服务器用来安装iSCSI driver,也就是安装iSCSIinitiator,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。

五、iSCSI target

一个可以被用于存储数据的iSCSI磁盘阵列或者具有iSCSI功能的设备都可以被称为“iSCSI target”,因为对于大多数操作系统来说,都可以用一些软件将系统转变为一个“iSCSI target”,即构建一个PC构架的iSCSI存储系统。所谓PC构架就是选择一个普通的、性能优良的、可支持多块磁盘的PC(一般为PC服务器),选择一款相对成熟稳定的iSCSI target软件,将iSCSITarget软件安装在PC服务器上,这样普通的PC服务器就转变成一台iSCSI存储设备,并通过PC服务器的以太网卡对外提供iSCSI数据传输服务。

目前大多数iSCSI target软件都是收费的,例如DataCore Software的SANmelody,FalconStorSoftware的iSCSI Server for Windows等,这些都是windows平台的,不过,也有一些linux平台开源的iSCSItarget软件,例如iSCSI Enterprise Target、tgt等。

利用iSCSI target软件,可以将服务器的存储空间分配给客户机使用,客户机就可以像使用本地硬盘一样使用iSCSI磁盘,包括对其进行分区,格式化,读写等。并且每个客户端都可以往iSCSI磁盘写数据,互不干扰,且不会破坏存储服务器的数据。同时,iSCSI target软件对用户权限控制非常灵活,支持配置文件。

六、搭建iSCSI存储系统的建议

我们知道,iSCSI是使用TCP/IP协议进行通信的,因此,将iSCSI两端连接起来,仅仅需要一个以太网络就可以了,由此可知,iSCSI的存储性能和这个以太网络有直接关系,所以最好在iSCSI网络中使用千兆以太网交换机,劣质的网络设备会严重的影响存储系统的性能,也就是说,要为每个服务器配备高质量的千兆以太网交换机,并提供两个连接,对于iSCSI targets,应该为每个独立阵列中的两个独立端口配备交换机,最后,将交换机连接起来,使用这种配置方式,即使两个交换机有一个出现了故障,整个iSCSI存储系统仍然能够正常工作,保证了存储系统的不间断运行。

七、iSCSI的工作原理

要理解iSCSI的工作原理,就必须知道iSCSI的层次结构,根据OSI模型,iSCSI的协议自顶向下一共可以分为三层,如图2所示:


图2. iSCSI协议分层结构

下面对每个分层进行简单介绍:

SCSI层:根据客户端发出的请求建立SCSI CDB(命令描述块),并传给iSCSI层;同时接受来自iSCSI层的CDB,并向应用返回数据。

iSCSI层:对SCSI CDB进行封装,以便能够在基于TCP/IP协议的网络上进行传输,完成SCSI到TCP/IP的协议映射。这一层是iSCSI协议的核心层。

TCP/IP层:对IP报文进行路由和转发,并且提供端到端的透明可靠传输。

iSCSI协议定义了在TCP/IP网络发送、接收数据块存储数据的规则和方式。首先,发送端将SCSI命令和数据封装到TCP/IP包中,然后再通过IP网络转发,接收端收到TCP/IP 包之后,将其还原为SCSI命令和数据并执行,执行完成后,将返回的SCSI命令和数据再封装到TCP/IP包中,然后再传回发送端。这样就完成了整个传输过程。

iSCSI整个过程在用户看来是完全透明的,用户使用远端的存储设备就象使用本地的硬盘设备一样。不过这只是理论上的,实际上数据传输速度并不能完全达到本地硬盘的数据传输速度,但差别并不明显,而且这种网络存储模式还有一个优点就是其安全性高,这对于数据集中存储的iSCSI来说显得非常重要。

 

0 0
原创粉丝点击