iSCSI 存储技术全攻略 2008-04-23 09: 18: 17. 0 推荐: 0 收藏: 0 评论: 0 来源: IT168   iSCSI  存储  攻略  CS 什么是 iSCSI iSCSI (iSCSI = internet Small Computer System Interface ) 是由 IEETF开发的网络存储标准, 目的是为了用 IP 协议将存储设备连接在一起。 通过在 IP网上传送 SCSI 命令和数据, ISCSI 推动了数据在网际之 间的传递, 同时也促进了数据的远距离管理。 由于其出色的数据传输能力, ISCSI 协议被认为是促进存储区域网 (SAN)市场快速发展的关键因素之一。 因为 IP 网络的广泛应用, ISCSI能够在 LAN、 WAN 甚至 internet 上进行数据传送, 使得数据的存储不再受地域的现在。 ISCSI 技术的核心是在 TCP/IP 网络上传输 SCSI 协议, 是指用 TCP/IP 报文、 和ISCSI 报文封装 SCSI 报文, 使得 SCSI 命令和数据可以在普通以太网络上进行传输, 如下图: iSCSI 协议定义了在 TCP/IP 网络发送、 接收 block(数据块) 级的存储数据的规则和方 法。 发送端将 SCSI 命令和数据封装到 TCP/IP 包中再通过网络转发,接收端收到 TCP/IP 包 之后, 将其还原为 SCSI 命令和数据并执行, 完成之后将返回的 SCSI 命令和数据再封装到 TCP/IP 包中再传送回发送端。 而整个过程在 用户看来, 使用远端的存储设备就象访问本地的 SCSI 设备一样简单。 早在 2001 年上半年, IBM 就推出了 IP Storage 200i, 是市场上公认的第一款基于 iSCSI 协议的产品, 这款产品的出现, 对于身处信息爆炸时代却无法承担光纤通道 SAN 环境高成本的中小型用户来说, 具有巨大的吸引力; 2001 年 10月, Cisco 也推出了 SN5420 存储路由器, 基于 IP 标准和 SAN 标准, 可以提供与现 有 LAN、 WAN、 光纤和 SAN 设备之间的互操作, 率先建立了 IP 网络与 SAN 之间的桥梁。 现在, 有更多的厂商参与到 iSCSI 产品的开发中, 如 Intel 已经推出了存储网卡 IP Storage iSCSI PRO/1000T, 将协议转化也就是封装、 还原 TCP/IP 包的步骤转移到网卡上来执行, 大大降低了服务器处理器的占用率。 同时, 还有芯片、 板卡制造商加入到 iSCSI 产品的开发中, 如 Adaptec、 Qlogic 等等。 iSCSI 可以实现在 IP 网络上运行 SCSI 协议, 使其能够在诸如高速千兆以太网上进行路由选择。 用户可使用标准的千兆级以太网传输协议, 通过 Cat5 线缆和任意的交换机产品, 将服务器与磁盘阵列连接在一起, 并且能够提供接近 FC SAN的性能。 iSCSI 集 SCSI、 以太网和 TCP/IP 等技术于一身, 支持 iSCSI 技术的服务器和存储设备能够直接连接到现有的 IP 交换机和路由器上, 具有 低廉、 开放、 大容量、传输速度高、 安全等诸多优点, 最适合需要在网络上存储和传输大量数据的应用环境, 比如广电视频制作和媒资系统, 视频监控系统, IPTV 系统, 数据备份系统, 以及许多的对 IOPS 和带宽性能要求不是还很高的数据库存储系统、 大容量文件存储系统。 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 性能。