2003年2月11日,IETF(Internet Engineering Task Force,互联网工程任务组)通过了iSCSI(Internet SCSI)标准,这项由IBM、Cisco共同发起的技术标准,经过三年20个版本的不断完善,终于得到IETF认可。这将吸引更多的厂商参与到相关产品的开发中,也会推动更多的用户采用iSCSI解决方案。作为早已被广泛传播的网络存储技术,很多读者都对这项技术耳熟能详。笔者认为iSCSI技术最重要的贡献在于其对传统技术的继承和发展上:其一,SCSI(Small Computer Systems Interface,小型计算机系统接口)技术是被磁盘、磁带等设备广泛采用的存储标准,从1986年诞生起到现在仍然保持着良好的发展势头;其二,沿用TCP/IP协议,TCP/IP在网络方面是最通用、最成熟的协议,且IP网络的基础建设非常完善。这两点为iSCSI的无限扩展提供了夯实的基础。
iSCSI协议定义了在TCP/IP网络发送、接收block(数据块)级的存储数据的规则和方法。发送端将SCSI命令和数据封装到TCP/IP包中再通过网络转发,接收端收到TCP/IP包之后,将其还原为SCSI命令和数据并执行,完成之后将返回的SCSI命令和数据再封装到TCP/IP包中再传送回发送端。而整个过程在用户看来,使用远端的存储设备就象访问本地的SCSI设备一样简单。支持iSCSI技术的服务器和存储设备能够直接连接到现有的IP交换机和路由器上,因此iSCSI技术具有易于安装、成本低廉、不受地理限制、良好的互操作性、管理方便等优势。早在2001年上半年,IBM就推出了IP Storage 200i,是市场上公认的第一款基于iSCSI协议的产品,这款产品的出现,对于身处信息爆炸时代却无法承担光纤通道SAN环境高成本的中小型用户来说,具有巨大的吸引力;2001年10月,Cisco也推出了SN5420存储路由器,基于IP标准和SAN(Storage Area Network,存储区域网络)标准,可以提供与现有LAN(Local Area Network,局域网)、WAN(Wide Area Network,广域网)、光纤和SAN设备之间的互操作,率先建立了IP网络与SAN之间的桥梁。现在,有更多的厂商参与到iSCSI产品的开发中,如Intel已经推出了存储网卡IP Storage iSCSI PRO/1000 T,将协议转化也就是封装、还原TCP/IP包的步骤转移到网卡上来执行,大大降低了服务器处理器的占用率。同时,还有芯片、板卡制造商加入到iSCSI产品的开发中,如Adaptec、Qlogic等等。
在这两个例子中,用户可能会关心到QoS(Quality of Service,服务质量)甚至安全方面的问题,通过公用网络传输极其重要的数据资源可能会出现问题。这个问题也是客观存在的,iSCSI协议中通过多种安全方式将这方面的隐患减到最低。第一,TCP/IP网络连接本身提供的高级服务及安全特性可以直接应用到iSCSI事物处理过程中,就QoS来说,IP网络提供了广泛的解决方案如事物处理优先级、DiffServ(服务区分)、MPLS(Multi-Protocol Label Switching,多协议分类转换)、RSVP(Resource Reservation Protocol,资源预约协议)等,就安全性而言,IP协议提供ACLs(Access Control Lists)、VLANs(Virtual LANs)、IPSec及高级数据编码规则等方案。第二,iSCSI协议本身也提供了QoS及安全特性,首先就是登录操作顺序,可以限制initiator仅向target列表中的目标发登录请求,再由target确认并返回响应,之后才允许通信;其次就是通过IPSec将数据包加密之后传输,包括数据完整性、确定性及机密性检测等。第三,也是极为特殊的方式,即用户可以使用专有的网络以保证与其他事物处理分开,通过物理方式将数据传输完全隔离于公用网络之外,且可以保证不会引起网络阻塞导致性能瓶颈。