原文地址:http://www.sansky.net/article/2007-12-03-iscsi-storage.html
iSCSI存储系统架构
现在市场有很多不同型号的iSCSI存储设备,设备的型号和参数有很多不同,厂商在做市场宣传时候也经常采用不同的口号或噱头,标榜自己的产品有各种各样不同的功能和优势。
实际上当我们对iSCSI设备的结构进行深入的研究时就会发现iSCSI从架构上可以分为4种类型的架构。
一、控制器架构
iSCSI的核心处理单元采用与FC光纤存储设备相同的结构。即采用专用的数据传输芯片、专用的RAID数据校验芯片、专用的高性能cache缓存和专用的嵌入式系统平台。打开设备机箱时可以看到iSCSI设备内部采用无线缆的背板结构,所有部件与背板之间通过标准或非标准的插槽链接在一起,而不是普通PC中的多种不同型号和规格的线缆链接。
这种类型的iSCSI存储设备核心处理单元采用高性能的硬件处理芯片,每个芯片功能单一,因此处理效率较高。操作系统是嵌入式设计,与其他类型的操作系统相比,嵌入式操作系统具有体积小、高稳定性、强实时性、固化代码以及操作方便简单等特点。因此控制器架构的iSCSI存储设备具有较高的安全性和和稳定性。
控制器架构iSCSI存储内部基于无线缆的背板链接方式,完全消除了链接上的单点故障,因此系统更安全,性能更稳定。一般可用于对性能的稳定性和高可用性具有较高要求的在线存储系统,比如:中小型数据库系统,大型数据的库备份系统,远程容灾系统,网站、电力或非线性编辑制作网等。
控制器架构的iSCSI设备由于核心处理器全部采用硬件,制造成本较高,因此一般销售价格较高。
目前市场还可以见到一种特殊的基于控制器架构的iSCSI存储设备。该类存储设备是在现有FC-SAN存储设备的基础上增加iSCSI协议转换模块,使得FC-SAN存储设备可以同时支持FC数据传输协议和iSCSI传输协议,如EMC 150i/300i/500i,HDS AMS1000/500/200等。
常见控制器架构iSCSI产品:
1、Equlogic PS300E系列
.
2、Infortrend EonStor A16E
3、UIT BS2000e/3000e
区分一个设备是否是控制器架构,可从以下几个方面去考虑:
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设备就具有什么样的功能。
SANRAD的V-Switch系列,ATTO Technology的iPBridge系列的iSCSI桥接器,提供iSCSI-to-SCSI与iSCSI-to-FC 的桥接,可将直连的磁盘阵列柜(Disk Array,JBOD、DAS)或磁带设备(Autoloader、Tape Library)转变成iSCSI存储设备。
不过随着iSCSI技术的逐渐成熟,连接桥架构的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架构iSCSI存储设备:
1、INTEL SSR212CC iSCSI产品图片:
2、H3C EX1000 iSCSI产品图片:
3、HP MSA1510i iSCSI产品图片:
四、PC+NIC架构
PC+iSCSI Target软件方式是一种低价低效比的解决方案,另外还有一种基于PC+NIC的高阶高效性iSCSI 方案。
如果只是将高速Ethernet用于存储网络化过于可惜,因此众多厂商发起了iWARP,不仅可实现存储网络化,也能实现I/O 的网络化。通过RDMA(Remote Direct Memory Access)机制简化网络两端的内存数据交换程序,从而加速数据传输效率。
目前Broadcom提出所谓的C-NIC(Converged NIC)聚合型网卡理念,即是在一颗NetXtreme II 系列的GbE控制芯片内同时具备以太网络、存储网络化、I/O网络化等功效。传统以太网部分具有TOE运算,存储网络化则具备iSCSI运算、I/O网化则具备RDMA运算,大幅卸除CPU的辅助运算,使CPU占用率降至20%以下。
Broadcom 目前的代表性芯片为BCM5706(PCI/PCI-X 接口)与BCM5708S(PCIe 接口),其中BCM5706 为第一代,BCM5708S 为第二代,第二代传输率从1Gbps 提升至2.5Gbps。第三代传输率从2.5Gbps 提升至10Gbps。
iSCSI存储连接方式
我们分析了iSCSI存储的系统结构,下面来看iSCSI是如何与服务器、工作站等主机设备来连接的,也就是我们如何建立一个iSCSI网络存储系统。
iSCSI设备的主机接口一般默认都是IP接口,可以直接与以太网络交换机和iSCSI交换机连接,形成一个存储区域网络。根据主机端HBA卡、网络交换机的不同,iSCSI设备与主机之间有三种连接方式。
第一种:以太网卡+initiator软件方式。
服务器、工作站等主机使用标准的以太网卡,通过以太网线直接与以太网交换机连接,iSCSI存储也通过以太网线连接到以太网交换机上,或直接连接到主机的以太网卡上。在主机上安装Initiator软件。
安装Initiator软件后,Initiator软件可以将以太网卡虚拟为iSCSI卡,接受和发送iSCSI数据报文,从而实现主机和iSCSI设备之间的iSCSI协议和TCP/IP协议传输功能。
这种方式由于采用普通的标准以太网卡和以太网交换机,无需额外配置适配器,因此硬件成本最低。缺点是进行ISCSI包文和TCP/IP包文转换要点主机端的一部分资源。不过在低I/O和低带宽性能要求的应用环境中和完全满足数据访问要求。
目前很多最新版本的常用操作系统都提供免费的Initiator软件,建立一个存储系统除了存储设备本身外,基本上不需要投入更多的资金来,因此在三种系统连接方式中其建设成本是最低的。
第二种:硬件TOE网卡+initiator软件方式。
第一种方式由于采用普通以太网卡和以太网交换机,无需额外配置适配器,或专用的网络设备,因此硬件成本最低。但由于进行ISCSI包文和TCP/IP包文的打包和解包全部需要主机主处理器CPU来进行运算,数据传输率直接受到主机当前运行状态和可用资源的影响和限制,因此一般无法提供高带宽和高IOPS性能。
具有TOE(TCP Offload Engine)功能的智能以太网卡可以将网络数据流量的处理工作全部转到网卡上的集成硬件中进行,把系统主处理器CPU从忙于协议处理的繁重的内核中断服务中解脱出来,主机只承担TCP/IP控制信息的处理任务。
与第一种方式相比,采用TOE卡可以大幅度提高数据的传输速率。TCP/IP协议栈功能由TOE卡完成,而iSCSI层的功能仍旧由主机来完成。
由于TOE卡也采用TCP/IP协议,相当于一块高性能的以太网卡,所以第二种方式也可以看做是第一种连接方式的特殊情况。
第三种:iSCSI HBA卡连接方式。
在主机上安装专业的iSCSI HBA适配卡,从而实现主机与交换机之间、主机与存储之间的高效数据交换。
与前两种方式相比,第三种连接方式中采用了iSCSI HBA卡,因此数据传输性能最好,价格也最高。
后两种方式都需要在主机上安装专门的硬件板卡,由于目前TOE网卡和iSCSI HBA的市场价格都比较贵。如果网络中主机数量比较多,那么网络总资金投入不见得会比FC-SAN存储系统低很多,网络的带宽和性能却相比FC-SAN存储系统差了很多。
有的读者可能会问,为什么这三种方式中都没有采用iSCSI交换机?
实际上,我们能在市场上看到的iSCSI交换机都不是真正意义上交换机,所谓的iSCSI交换机应该称之为iSCSI协议转换器、或者iSCSI桥接器。一部分端口用来连接主机的iSCSI HBA卡,另一部分端口用来连接FC存储或SCSI存储,只能实现存储设备与主机之间的FC-iSCSI(或SCSI-iSCSI)协议连接,不能实现iSCSI-iSCSI协议连接,其工作方式完全不同于以太网交换机或FC交换机那样,实现某一个协议内的互联互通。
因此iSCSI交换机一般都用作iSCSI存储内的控制器,而不是iSCSI存储与主机之间网络连接设备。
iSCSI存储使用模式:
1、DAS使用方式
ISCSI存储设备和SCSI存储和FC存储一样,可以直接通过连接线缆与主机上的HBA连接,作为主机的DAS直接连接存储来使用,如下图:
ISCSI存储设备的卷由服务器或NAS网关来管理和使用,其它的工作站通过服务器和NAS网关来访问iSCSI存储上数据。整个系统安装调试简单方便,服务器和NAS网关很容易实现数据的网络化共享访问。但服务器和NAS网关直接影响整体存储网络系统的性能,低配置的服务器和NAS网关及有可能成为整个系统的性能瓶颈。
2、SAN使用方式
ISCSI和FC存储一样具有良好的网络扩展性,可通过网络交换设备与多台主机连接。通过网络交换设备连接时,iSCSI存储上的LUN对于主机来讲相当于裸设备,因而需要注意文件系统的管理问题。
A、存储设备层共享
ISCSI设备上创建多个LUN,不同的LUN制定给不同的主机。各主机分别管理和访问自己的LUN。相当于将多个主机的本地磁盘集中放置在一个网络化的设备中,各主机之间仅实现硬件设备层的共享。如下图:
B、集群共享
系统中有多个数据库系统和WEB集群系统,每两台服务器之间需要管理和使用相同的LUN,主机之间通过MSCS或RAC等软件实现集群共享功能。如下图:
每一个卷仅在两台主机之间共享,两台主机通过集群软件共同对同一个文件系统进行管理。
C、网络存储共享
在许多大型的高性能计算系统、广电非线性编辑制作系统、IPTV发布系统中,应用需要多台主机能同时访问同一个文件系统(同一个卷)中的数据,可能会是同一个数据。如下图:
为了保证同一个文件系统可以同时被多台主机访问,且不会因为并发访问而引起文件系统管理冲突,常规的做法是在所有需要文件系统共享的主机上安装SAN网络存储共享管理软件,并设置一台或多台主机为管理软件的服务器端。该服务器负责管理主机之间的元数据交换,因此被成为MDC,即Metadata Controller。