2008年(8065)
分类: 服务器与存储
2008-06-03 16:50:29
iSCSI技术是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI(small computer system interface)接口技术与IP网络技术结合,使得我们可以在IP网络上构建SAN存储区域网。推动iSCSI协议发展最主要的动力是--希望能够在IP网络上使用业已部署的大量DAS存储设备。通过iSCSI协议,这些存储设备可以为更多的用户和应用使用,同时可以让这些简单DAS存储设备支持只有高级存储设备才能够支持的备份、镜像、灾难恢复等高级存储应用。其次是为了让尽可能多用户和应用利用已部署的FC光纤通道SAN存储区域网,iSCSI协议还可以将对光纤通道SAN存储区域网的访问通过基于IP的网络传输。
经过多家厂商的测试和实践,证明iSCSI可以非常迅速地建立起IP SAN存储区域网环境,用户可以即刻享受到即插即用式地iSCSI的好处。目前,iSCSI的标准已经在IETF通过,Microsoft也已与今年6月30日发布支持iSCSI的Initiator的驱动程序。同时在微软即将Windows Storage Server 2003将内置的支持iSCSI,包括initiator和target。
在可预期未来,iSCSI必然成为光纤通道FC的主要竞争对手,成为SAN存储区域网的主要应用技术。同时由于iSCSI内置的支持路由,可以让iSCSI initiator访问Internet上任何一台存储设备,使得存储共享的概念无限扩大,存储连接的距离无限扩展。这一技术对于一边要面对信息高速增长,另一边却身处"数据孤岛"的众多中小企业无疑具有巨大的吸引力。
1、iSCSI 标准
2003年2月11日,IETF(Internet Engineering Task Force,互联网工程任务组)通过了iSCSI(Internet SCSI)标准,这项由IBM、思科共同发起的技术标准,经过三年20个版本的不断完善,终于得到IETF的认可。这将吸引更多的厂商参与到相关产品的开发中,也会推动更多的用户采用iSCSI解决方案。 iSCSI技术的重要贡献在于其对传统技术的继承和发展:其一,SCSI(Small Computer System Interface,小型计算机系统接口)技术是被磁盘、磁带等设备广泛采用的存储标准,从1986年诞生起到现在仍然保持着良好的发展势头;其二,沿用TCP/IP协议,TCP/IP在网络方面是最通用、最成熟的协议,且IP网络的基础建设非常完善。这两点为iSCSI的无限扩展提供了坚实的基础。
1.1 iSCSI的概念
iSCSI(互联网小型计算机系统接口)是一种在Internet协议网络上,特别是以太网上进行数据块传输的标准。它是由Cisco 和IBM两家发起的,并且得到了IP存储技术拥护者的大力支持。是一个供硬件设备使用的可以在IP协议上层运行的SCSI指令集。简单地说,iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。
SCSI(小型计算机系统接口)是以一种广泛使用的连接硬盘和计算机的技术标准,iSCSI这种技术则是将该技术应用到网络连接上,对于中小企业的存储网络而言,iSCSI技术的性价比要高于基于光纤的产品。iSCSI是基于IP协议的技术标准,是允许网络在TCP/IP协议上传输SCSI命令的新协议,实现了SCSI和TCP/IP协议的连接,该技术允许用户通过TCP/IP网络来构建存储区域网(SAN)。而在iSCSI技术出现之前,构建存储区域网的唯一技术是利用光纤通道(Fiber Channel),该标准制定于20世纪90年代初期,但是其架构需要高昂的建设成本,远非一般企业所能够承受。iSCSI技术的出现对于以局域网为网络环境的用户来说,它只需要不多的投资,就可以方便、快捷地对信息和数据进行交互式传输和管理。相对于以往的网络接入存储,iSCSI的出现解决了开放性、容量、传输速度、兼容性、安全性等问题,其优越的性能使其自发布之日始便受到市场的关注与青睐。
1.2 iSCSI的工作流程
iSCSI协议就是一个在网络上封包和解包的过程,在网络的一端,数据包被封装成包括TCP/IP头、iSCSI识别包和SCSI数据三部分内容,传输到网络另一端时,这三部分内容分别被顺序地解开。
iSCSI系统由一块SCSI卡发出一个SCSI命令,命令被封装到第四层的信息包中并发送。接收方从信息包中抽取SCSI命令并执行,然后把返回的SCSI命令和数据封装到IP信息包中,并将它们发回到发送方。系统抽取数据或命令,并把它们传回SCSI子系统。所有这一切的完成都无需用户干预,而且对终端用户是完全透明的。
为了保证安全,iSCSI有自己的上网登录操作顺序。在它们首次运行的时候,启动器(initiator)设备将登录到目标设备中。任何一个接收到没有执行登录过程的启动器的iSCSI PDU(iSCSI Protocol Data Units,iSCSI协议数据单元)目标设备都将生成一个协议错误,而且目标设备也会关闭连接。在关闭会话之前,目标设备可能发送回一个被驳回的iSCSI PDU。这种安全性是基本的,因为它只保护了通信的启动,却没有在每个信息包的基础上提供安全性。还有其他的安全方法,包括利用IPsec。在控制和数据两种信息包中,IPsec可以提供整体性,实施再次(replay)保护和确认证明,它也为各个信息包提供加密。
、iSCSI的发展阶段
虽然IP存储解决方案很难在近期被广泛采用,但其技术的应用仍可能会经历三个发展阶段:
· 阶段一:SAN扩展器
· 阶段二:有限区域IP存储
· 阶段三:IP SAN
阶段一:SAN扩展器。随着SAN技术在全球的开发,越来越需要长距离的SAN连接技术。IP存储技术定位于将多种设备紧密连接,就像一个大企业多个站点间的数据共享,以及远程数据镜像。这种技术是利用FC到IP的桥接或路由器,将两个远程的SAN通过IP架构互联。虽然iSCSI设备可以实现以上技术,但FCIP和iFCP对于此类应用更为适合,因为它们采用的是光纤通道协议(FCP)。
阶段二:有限区域IP存储。 在第二个阶段的IP存储的开发主要集中在小型的低成本的产品,目前还没有真正意义的全球SAN环境,随之而来的技术是有限区域的、基于IP的SAN连接技术。可能会出现类似于可安装到NAS设备中的iSCSI卡,因为这种技术和需求可使TOE设备弥补NAS技术的解决方案。在这种配置中,一个单一的多功能设备可提供对块级或文件级数据的访问,这种结合了块级和文件级NAS设备可使以前的直接连接的存储环境轻松地传输到网络存储环境。
第二个阶段也会引入一些工作组级的、基于IP的SAN小型商业系统的解决方案,使得那些小型企业也可以享受到网络存储的益处,但使用这些新的网络存储技术也可能会遇到一些难以想象的棘手难题。ISCSI协议是最适合这种环境的应用的,但基于iSCSI的SAN技术是不会取代FC SAN的,同时它可以使用户即享受网络存储带来的益处,也不会开销太大。
阶段三:IP SAN。完全的端到端的、基于IP的全球SAN存储将会随之出现,而iSCSI协议则是最为适合的。基于iSCSI的IP SAN将由iSCSI HBA构成,它可释放出大量的TCP负载,保证本地iSCSI存储设备在IP架构上可自由通讯。一旦这些实现,一些IP的先进功能,如带宽集合、质量服务保证等都可能应用到SAN环境中。
3、iSCSI的安全性
正是由于其采用广泛应用的IP网络和Internet网络为数据传输的通道,与传统的采用光纤通道FC SAN相比,iSCSI的安全性就凸现出来。因为传统的FC SAN在实际应用中,底层采用光纤通道FC的传输技术,上层采用Fibre Channel Protocol(FCP)传输SCSI协议,与广泛应用的IP网络不兼容,往往会形成一个与通信网络隔离开来的独立存储网络,其安全性容易得到保障。而iSCSI采用IP网络技术作为底层传输技术,完全可以在现有的通信网络中,甚至Internet上传输SCSI协议,这使得iSCSI不得不面临IP网络常见的安全性问题。
要了解iSCSI的安全问题,首先让我们看看iSCSI是如何工作的:
iSCSI是如何工作的呢?如前所述,iSCSI定义了TCP/IP网络上传输块存储应用的规则和过程。在物理层,iSCSI支持以太网卡(100、1000M),这样支持iSCSI的系统可以通过以太网卡直接接入以太网交换机或路由器。iSCSI协议介于物理和数据链路层与操作系统的标准SCSI命令集之间,将SCSI-3命令封装在TCP/IP包内,由IP网络负责其传输的可靠性。
SCSI命令和数据封装在TCP包中,穿过毫无防范的Internet网络,必然会引起安全问题。总之iSCSI面临的安全风险主要有:
主动型的攻击,如:身份伪装、伪造信息插入、数据删除/修改等
被动型的攻击,如:窃听、数据分析等
所以IETF建议在配置iSCSI时,一定要采取一定的安全措施。针对各种各样的安全风险,iSCSI采用两种安全措施:
认证:在target和initiator之间做身份认证。
加密:对传输的TCP/IP数据包进行保护。
认证主要是在iSCSI连接层,通过交换iSCSI的登录PDU(Protocol data unit),实现带内的身份认证。iSCSI通过这种安全措施提供了端到端的信任关系。iSCSI支持多种认证,但要强调的是采用哪种认证都要求不得明文的传输密码字符。此外对于不同的算法,要求采用抗攻击能力较强的选项。比如在采用CHAP认证时,为了防止离线的字典攻击,要求随机CHAP密文secret大于128位。
加密主要是通过IPSEC协议实现,在IP层通过对IP包的加密,实现数据的完整性保护、数据加密和身份认证。iSCSI通过这种安全措施提供了数据通信的安全通道。
实现IPSEC加密通信有两种方式:
一是通过主机间建立IPSEC加密通道。主机间建立IPSEC通信,过去常用软件的实现方式,这对于传输少量的数据可以接受,对于iSCSI这种大量存储数据的传输,则显得力不从心。所以,建议采用支持IPSEC协议的iSCSI HBA卡实现,提高加密解密的效率。但目前,采用这种HBA卡,其成本很高,如果有大量服务器、iSCSI存储设备接入,总投资成本必然据高不下。
二是通过防火墙、VPN网关或带VPN功能的路由器,在需要实现iSCSI通信的两个子网间建立一条加密隧道,将两个子网与承载iSCSI通信的IP网络从逻辑上隔离开来。目前这种方式的应用较为普遍,而且成本容易控制。当然随着iSCSI HBA的应用越来越广泛,利用iSCSI HBA可以获得更好的网络扩展性。
当然,还可以采用其他技术来加强iSCSI的安全性,如iSCSI的分区、LUN masking等等,由于其还在讨论和开发阶段,这里就不再讨论了。
4、仍需解决的问题
iSCSI存储是一个新兴的技术,尽管其标准已经建立且应用,但将其真正广泛应用到存储环境中还需要解决几个关键技术点。
4.1 TCP负载空闲
由于IP无法确保提交到对方,而将TCP作为底层传输的三种IP存储协议则需要在拥挤的、远距离的IP空间中确保传输的可靠性。由于IP包可以打乱次序传送,因此,TCP层需要重新修正次序,以提交到上一层的协议中(如SCSI)。TCP完成这一任务的典型操作是使用重调顺序缓冲器,将数据包的顺序完全整理为正确方式,完成这一操作后,TCP层将数据发送到下一层。这些处理都需要消耗主机的CPU资源,同时增加事务处理的延时,事实上,与典型的FC或SCSI块传输相比,需要更多的I/O处理,一种称之为TCP负载空闲引擎TCP Off-loading Engine (TOE)的设备可将主机的处理器负载降低,随着新技术的应用,TOE将可以帮助解决这一问题。
4.2 性能
工作组和一些分析人士把相当多的注意力放在了确保IP存储协议可以非常快的运行上,因为目前硬盘驱动器的运行速度已经很快。专家们预测IP存储产品将以高速运行。然而,也有一些分析人员认为,IP存储令人心往的最大优势是IP的灵活性,而高速性能则排在第二位。尽管IP技术很有可能得以应用,但如果对性能较为看重的话,不推荐使用标准的以太网卡。如前所述,TOE可以减少服务器的处理负载,但由于TOE设备较新,其硬件成本及复杂程度都比标准网卡更高。其广泛应用可能会由于性能价格比过高而受阻。像那些增强的iHBA都需要进一步改进,已达到光纤通道的技术水平。
4.3 安全性
当存储设备通过IP架构进行远距离连接时,安全性变得愈加重要。生产厂家必须明确产品的安全级别,并确保其安全性。在IP存储产品广泛应用之前,这一问题是IETF需亟待解决的。
当标准得到批准时,明确要求IP存储协议的所有实施都必须包括可靠的安全性(实现加密数据完整性和保密性)。如果用户不愿使用这些安全措施的话,他们不必使用,但是产品中必须具有启动安全技术的功能,只有这样厂商才能说他们的产品符合标准的要求。相当多的工作组成员非常不喜欢这项要求:他们认为这些协议的主要用武之地将是数据中心或其他一些受防火墙保护的领域。但是,一旦人们将应用放在IP上,这个应用没有什么办法确定自己的使用环境,例如在防火墙后使用。这是IP的一个重要特性。
4.4 互联性
基于IP的技术并没有被所有厂家共同使用,虽然这个协议的标准早已被IETF公布,但并不能保证厂家X与厂家Y使用相同的协议或技术。为了保证这些产品能够相互配合得更好,必须保证厂家之间采用相同的协议,使各厂家产品具有良好的互联性。