iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Small Computer System Interface) Internet 小型计算机系统接口(iSCSI)是一种基于 TCP/IP 的协议,用来建立和管理 IP 存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得 SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。 SCSI 结构基于客户/服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由 SCSI 总线连接。iSCSI 的主要功能是在 TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI 提供了在 IP 网络封装 SCSI 命令,且运行在 TCP 上。 如今我们所涉及的 SAN (Storage Area Network),其实现数据通信的主要要求是:1. 数据存储系统的合并;2. 数据备份;3. 服务器群集;4. 复制;5. 紧急情况下的数据恢复。另外,SAN 可能分布在不同地理位置的多个 LANs 和 WANs 中。必须确保所有 SAN 操作安全进行并符合服务质量(QoS)要求,而 iSCSI 则被设计来在 TCP/IP 网络上实现以上这些要求。
ISCSI的工作过程:当ISCSI主机应用程序发出数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在ISCSI initiator层被封装成ISCSI消息包并通过TCP/IP传送到设备侧,设备侧的ISCSI target层会解开ISCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行;设备执行SCSI命令后的响应,在经过设备侧ISCSItarget层时被封装成ISCSI响应PDU,通过TCP/IP网络传送给主机的ISCSI initiator层,ISCSIinitiator会从ISCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。
展望存储市场的新局面
I S C S I是I P技术和网络快速发展的必然产物,是FC(FiberC h a n n e l,光连通道)最有力的竞争对手。ISCSI结合了业内S C S I和TCP/IP两个最通用的协议,这给实施和使用带来了极大的便利,也大大增加了存储设备的资源利用,所以必将会得到快速的普及。目前,各存储设备厂商都纷纷推出ISCSI存储设备和各种操作系统的ISCSI启动器软件。随着ISCSI技术的应用,存储业界必然会发生一些变化。
对文件服务器方式(NAS)的替换:随着I SCS I技术的完善,数据块级的存储应用将变得更为普遍,存储资源的通用性、数据共享能力都将大大增强,并且更加易于管理。这样一来,以往使用NAS的地方,会更多地被替换为ISCSI块级存储设备。备份镜像中大量使用ISCSI设备:因为ISCSI本身的无地理限制的特性和完善的互联网,必将导致在数据备份镜像中大量使用ISCSI设备。
改变企业存储设施的布局:IP网本身的特点,企业在进行存储设备布局时,会把不同的ISCSI存储设备分散放置到不同的地方,而不是目前FC-SAN(Storage AreaNetwork,存储区域网络)所使用的比较集中的布局方式。
IP-SAN和FC-SAN的融合:通过IP-SAN和FC-SAN路由器,把IP-SAN和FC-SAN融合起来,让IP-SAN和FC-SAN各自完成不同功能的同时,又能够相互进行数据共享、备份镜像。
随着千兆以太网的成熟以及万兆以太网络的开发,ISCSI必然凭借其性价比、通用性、无地理限制等优势而获飞速发展,ISCSI技术将联合SCSI、TCP/IP,共同开创网络存储的新局面。
存储系统架构
现在市场有很多不同型号的iSCSI存储设备,设备的型号和参数有很多不同,厂商在做市场宣传时候也经常采用不同的口号或噱头,标榜自己的产品有各种各样不同的功能和优势。
实际上当我们对iSCSI设备的结构进行深入的研究时就会发现iSCSI从架构上可以分为4种类型的架构。
一、控制器架构
iSCSI的核心处理单元采用与FC光纤存储设备相同的结构。即采用专用的数据传输芯片、专用的RAID数据校验芯片、专用的高性能cache缓存和专用的嵌入式系统平台。打开设备机箱时可以看到iSCSI设备内部采用无线缆的背板结构,所有部件与背板之间通过标准或非标准的插槽链接在一起,而不是普通PC中的多种不同型号和规格的线缆链接。
这种类型的iSCSI存储设备核心处理单元采用高性能的硬件处理芯片,每个芯片功能单一,因此处理效率较高。操作系统是嵌入式设计,与其他类型的操作系统相比,嵌入式操作系统具有体积小、高稳定性、强实时性、固化代码以及操作方便简单等特点。因此控制器架构的iSCSI存储设备具有较高的安全性和和稳定性。
控制器架构iSCSI存储内部基于无线缆的背板链接方式,完全消除了链接上的单点故障,因此系统更安全,性能更稳定。一般可用于对性能的稳定性和高可用性具有较高要求的在线存储系统,比如:中小型数据库系统,大型数据的库备份系统,远程容灾系统,网站、电力或非线性编辑制作网等。
控制器架构的iSCSI设备由于核心处理器全部采用硬件,制造成本较高,因此一般销售价格较高。
区分一个设备是否是控制器架构,可从以下几个方面去考虑:
1、是否双控:除了一些早期型号或低端型号外,高性能的iSCSI存储一般都会采用active-active的双控制器工作方式。控制器为模块化设计,并安装在同一个机箱内,非两个独立机箱的控制器。
2、缓存:有双控制器缓存镜像、缓存断电保护功能。
3、数据校验:采用专用硬件校验和数据传输芯片,非依靠普通CPU的软件校验,或普通RAID卡。
4、内部结构:打开控制器架构的设备,内部全部为无线缆的背板式连接方式,各硬件模块连接在背板的各个插槽上。
二、iSCSI连接桥架构
整个iSCSI存储分为两个部分,一个部分是前端协议转换设备,另一部分是后端存储。结构上类似NAS网关及其后端存储设备。
前端协议转换部分一般为硬件设备,主机接口为千兆以太网接口,磁盘接口一般为SCSI接口或FC接口,可连接SCSI磁盘阵列和FC存储设备。通过千兆以太网主机接口对外提供ISCSI数据传输协议。
后端存储一般采用SCSI磁盘阵列和FC存储设备,将SCSI磁盘阵列和FC存储设备的主机接口直接连接到iSCSI桥的磁盘接口上。
iSCSI连接桥设备本身只有协议转换功能,没有RAID校验和快照、卷复制等功能。创建RAID组、创建LUN等操作必须在存储设备上完成,存储设备有什么功能,整个iSCSI设备就具有什么样的功能。
三、PC架构
那么何谓PC架构?按字面的意思可以理解为存储设备建立在PC服务器的基础上。即就是选择一个普通的、性能优良的、可支持多块磁盘的PC(一般为 PC服务器和工控服务器),选择一款相对成熟稳定的iSCSI target软件,将iSCSI Target软件安装在PC服务器上,使普通的PC服务器转变成一台iSCSI存储设备,并通过PC服务器的以太网卡对外提供iSCSI数据传输协议。
目前常见的iSCSI Target软件多半由商业软件厂商提供,如DataCore Software的SANmelody,FalconStor Software的iSCSI Server for Windows,和String Bean Software的WinTarget等。这软件都只能运行在Windows操作系统平台上。
在PC架构的iSCSI存储设备上,所有的RAID组校验、逻辑卷管理、iSCSI 运算、TCP/IP 运算等都是以纯软件方式实现,因此对PC的CPU和内存的性能要求较高。另外iSCSI存储设备的性能极容易收PC服务器运行状态的影响。
当由于PC架构iSCSI存储设备的研发、生产、安装使用相对简单,硬件和软件成本相对较低,因此市场上常见的基于PC架构的iSCSI设备的价格都比较低,在一些对性能稳定性要求较低的系统中具有较大的价格优势。
四、PC+NIC架构
PC+iSCSI Target软件方式是一种低价低效比的解决方案,另外还有一种基于PC+NIC的高阶高效性iSCSI 方案。
如果只是将高速Ethernet用于存储网络化过于可惜,因此众多厂商发起了iWARP,不仅可实现存储网络化,也能实现I/O 的网络化。通过RDMA(Remote Direct Memory Access)机制简化网络两端的内存数据交换程序,从而加速数据传输效率。
应用
当多数企业由于Fiber Channel 的高成本而对SAN敬而远之时,iSCSI技术的出现,一下子拉近了企业与SAN之间的距离。目前,大多数中小企业都以TCP/IP协议为基础建立了网络环境。对于他们来说,投入巨资利用FC建设SAN系统既不现实,也无必要。但在信息时代,信息的采集与处理将成为决定企业生存与发展的关键,面对海量数据,许多企业已感到力不从心。iSCSI的实现可以在IP网络上应用SCSI的功能,充分利用了现有IP网络的成熟性和普及性等优势,允许用户通过TCP/IP网络来构建存储区域网(SAN),为众多中小企业对经济合理和便于管理的存储设备提供了直接访问的能力。除此之外,iSCSI技术主要用于解决远程存储问题,具体如下:
1.实现异地间的数据交换
许多公司利用光纤交换技术实施了自己的本地存储区域网(SAN),但如果企业有异地存储要求时,如何完成异地间的数据交换则成为问题。设想一下,一家公司在相隔很远的地方有分公司,而且两地各有自己的基于光纤的存储网络,那么,如何将两个网络连接起来?用光纤吗?工程巨大,就是采取租用形式,其费用也相当高昂。我们知道,iSCSI是基于IP协议的,它能容纳所有IP协议网中的部件,如果将FC转换成IP协议下的数据,这些数据就可以通过传统IP协议网传输,解决了远程传输的问题,而到达另一端时再将IP协议的数据转换到当地的基于FC的存储网络,这样通过iSCSI使两个光纤网络能够在低成本投入的前提下连接起来,实现异地间的数据交换。
2.实现异地间的数据备份及容灾
通过iSCSI,用户可以穿越标准的以太网线缆在任何地方创建实际的SAN网络,而不再必须要求专门的光纤通道网络在服务器和存储设备之间传送数据。iSCSI让远程镜像和备份成为可能,因为没有了光纤通道的距离限制,使用标准的TCP/IP协议,数据可以在以太网上进行传输。而从数据传输的角度看,目前多数iSCSI的网络传输带宽为千兆即1Gbit,如果实现全双工能够达到2Gbit,第二代产品能够达到2Gbit带宽,在未来第三代通用iSCSI标准中,带宽将达到10Gb,也就是说,采用iSCSI构建远程异地容灾系统已不存在任何问题。
优点
iSCSI(Internet SCSI)是IETF(互联网工程任务小组)制订并于2003年2月正式发布的标准协议,可以理解成SCSI over TCP/IP,即网络上的SCSI。它实际是将SCSI命令压缩到TCP/IP包中,从而使数据块在网络上传输。 服务器存储发展日新月异,早期的大型服务器存储使用DAS(Direct Attached Storage),又称直连存储,随后SAN(Storage Area Network,存储局域网络)的诞生,使存储空间得到更加充分的利用以及安装和管理更加有效。早期的SAN采用的是光纤通道(FC,Fiber Channel)技术,所以,以前的SAN多半是指采用光纤通道的存储局域网络,到了iSCSI出现以后,为了区分,业界就把SAN分为FC-SAN和 iSCSI-SAN称呼。
iSCSI的发展成了必然,其市场价值是很多服务器厂商看中的,也给无法承担 FC SAN高成本光纤基础结构的中间市场客户所看中,主要因为iSCSI通过集SCSI、以太网和TCP/IP等技术于一身,存在很多优点:
1.建立在常见和稳定的标准上,很多IT工作人员对这些技术熟悉,更容易接受;
2.由于TCP/IP协议附件减少了聘请专业人员的需要,所以安装和维护成本较低,使用iSCSI创建TCO更低的存储局域网络;
3.由于减少了不同的网络和布线,使用常规以太网交换机而不必专用光纤通道交换机,很大程度提高了互操作性;
4.传播无极限!可以在全球IP网络上进行以太网传输,实际传播距离没有限制;
5.速度可以扩充到10Gbit,将可以和同步光网络速率相媲美。
因此,iSCSI 具有低廉、开放、大容量、传输速度高、兼容、安全等诸多优点,其优越的性能使其自发布之始便受到市场的关注与青睐,看来,iSCSI 必将成为网络存储领域内的核心技术之一。那么,到底谁最适合使用iSCSI SAN呢?目前看来iSCSI SAN最适合需要在网络上存储和传输数据流和/或大量数据的机构,如:ISP-互联网服务提供商;SSP-存储服务提供商;需要远程数据复制和灾难恢复的机构;IT资源、基础设施和预算均十分有限的企业和机构等。目前市场上,除了各类作业平台的Initiator软件之外,已有愈来愈多厂商推出各种各类的 iSCSI相关产品。如iSCSI适配卡、iSCSI交换机、iSCSI 存储服务器、iSCSI存储设备、iSCSI 桥接器及iSCSI网关器。
补充:
多年以来,一直用于构建基于网络的存储解决方案的唯一技术就是光纤通道存储区域网 (FC SAN)。基于以前的一组 ANSI 协议(称为光纤分布式数据接口 (FDDI)),开发光纤通道的目的是在存储网络上移动 SCSI 命令。
FC SAN 的优势包括提高了性能、磁盘利用率、可用性以及可伸缩性等,但最重要的是支持服务器集群!但是,FC SAN 现在仍受三个主要缺点的限制。首先是价格。尽管构建 FC SAN 的成本在最近几年有所下降,但进入成本对于 IT 预算有限的小公司来说仍然是高的惊人。第二个缺点是硬件组件不兼容。采用 FC SAN 之后,许多产品制造商对光纤通道规范的解释各不相同,从而导致许多互连问题。如果从公共制造商购买光纤通道组件,这通常不是一个问题。第三个缺点是光纤通道网络不是以太网!它需要一种单独的网络技术,并要求数据中心人员具备另外一组技能。
随着千兆位以太网的普及以及对降低成本的需要,基于 iSCSI 的存储系统逐渐成为光纤通道的有力竞争对手。现在,iSCSI SAN 仍然是 FC SAN 的最大竞争者。
2003 年 2 月 11 日,经过 Internet 工程任务组 (IETF) 的批准,Internet 小型计算机系统接口(一般称为 iSCSI)成为一个基于 Internet 协议 (IP) 的存储网络标准,用于建立和管理基于 IP 的存储设备、主机和客户端之间的连接。iSCSI 是 SCSI-3 规范框架中定义的数据传输协议,它与光纤通道的类似之处在于其也负责在存储网络上运送块级数据。块级通信意味着数据以“块”的形式在主机和客户端之间传输。数据库服务器依赖这种类型的通信(而不是大多数 NAS 系统使用的文件级通信)以便正常工作。与 FC SAN 一样,iSCSI SAN 应该是一个专用于存储的单独物理网络,但其组件与典型 IP 网络 (LAN) 中的组件基本相同。
尽管 iSCSI 的未来前景广阔,但对其的早期批评很快指出其与性能有关的固有缺陷。iSCSI 的优势是能够利用大家熟悉的 IP 网络作为传输机制。但是,TCP/IP 协议非常复杂并且占用 CPU 资源过多。使用 iSCSI,大部分数据处理(TCP 和 iSCSI)都在软件中执行,这比完全在硬件中处理的光纤通道慢得多。将每个 SCSI 命令映射到等价 iSCSI 事务所带来的开销过大。对许多公司来说,解决方案是消除 iSCSI 软件启动器,并投资能够从服务器 CPU 中卸载 TCP/IP 和 iSCSI 处理的专用卡。这些专用卡有时称为 iSCSI 主机总线适配器 (HBA) 或 TCP 卸载引擎 (TOE) 卡。还要考虑到目前 10 GB 以太网是主流!
与其他新技术一样,iSCSI 具有一组自己的缩写词和术语。对于本文来说,只需要了解 iSCSI 启动器与 iSCSI 目标之间的区别。
iSCSI 启动器。从本质上说,iSCSI 启动器是一个客户端设备,用于将请求连接并启动到服务器(在本例中是 iSCSI 目标)提供的某个服务。iSCSI 启动器软件需要位于每个 Oracle RAC 节点(linux1 和 linux2)上。
iSCSI 启动器可以使用软件实现,也可以使用硬件实现。软件 iSCSI 启动器可用于大部分主要操作系统平台。对于本文,我们将使用免费的 Linux iscsi-sfnet 软件驱动程序,该程序位于作为 Linux-iSCSI 项目的一部分而开发的 iscsi-initiator-utils RPM 中。iSCSI 软件启动器通常与标准网络接口卡 (NIC)(大多数情况下是千兆位以太网卡)配合使用。硬件启动器是一个 iSCSI HBA(或 TCP 卸载引擎 (TOE) 卡),它在本质上只是一个专用以太网卡,其上的 SCSI ASIC 可以从系统 CPU 内卸载所有工作(TCP 和 SCSI 命令)。iSCSI HBA 可以从许多供应商处购买,包括 Adaptec、Alacritech、Intel 和 QLogic。
iSCSI 目标。iSCSI 目标是 iSCSI 网络的“服务器”组件。它通常是一个存储设备,用于包含您所需的信息并回应来自启动器(一个或多个)的请求。考虑到本文目的,节点 openfiler1 将是 iSCSI 目标。
因此,根据有关 iSCSI 的所有这些讨论,是否意味着光纤通道很快就会消失?可能不是这样。多年以来,光纤通道通过其极快的速度、灵活性和强健的可靠性,为自己的能力提供了有力的证据。对高性能存储、大型复杂连接以及关键任务可靠性有严格要求的客户将毫不犹豫地继续选择光纤通道。