首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

融合NAS和SAN的存储网络设计(下)

融合NAS和SAN的存储网络设计(下)

目前iSCSI 的实现方式可以考虑采用以下三种方式:纯软件方式、智能iSCSI 网卡实现方式、iSCSI HBA 卡实现方式。由于我们是设计USN 的原形系统,所以只采用纯软件方式,iSCSI HBA 卡方式是下一步产品化我们将实现的目标。iSCSI系统整体设计模型如图4 所示(不包括管理模块) 。服务器端(Target) 采用linux 操作系统, 客户端( Initiator) 采用Windows2000。SCSI 微端口驱动在系统中生成一个虚拟的SCSI 磁盘,过滤驱动截获系统发给SCSI 磁盘的SCSI 命令,通过核心态的网络接口发给服务器处理。



 自主存储代理系统的设计
自主存储代理ASA 的一端面对海量存储系统。目前的存储系统有DAS(直连存储) 、NAS、SAN、iSCSI 等,ASA 能够自动地发现海量存储系统中存储设备的种类和可利用的各种资源,自主地对这些存储设备和资源进行有效的统一管理和优化;根据应用的不同和应用程序的具体需求,安排与应用程序相适应的存储设备种类、性能以及可靠性和可用性等级等,使应用程序得到最优的存储资源分配。


ASA 的另一端面对应用程序(GMPFS) 。ASA 通过对目前存储系统所使用的元数据进行扩展,采用启发式的方法,收集用户应用信息,为用户提供统一、方便、快捷的存储访问接口以及合理的数据存储方案;根据用户I/O请求所涉及数据的属性,选择客户端与存储设备交互数据的通道,即元数据(目录、卷信息等) 和小数据I/O请求,选择服务器通道,对大数据I/O请求选择高速附网通道。大、小数据I/O请求由ASA 自主地根据整个系统的I/O信息量进行调整。ASA 系统结构如图5 所示。


 客户端与USN交互流程
  

USN 系统中包括三类用户:Windows 文件I/O用户(使用CIFS 协议) ,Unix 文件I/O用户(使用NFS 协议) ,iSCSI 块I/O用户(使用iSCSI 协议) 。用户在客户端与USN 系统交互流程与图6 所示。



块I/O客户的具体的数据读写流程为(如图6) : (1) 客户1上的应用程序发出的块I/O命令(SCSI 命令) 经iSCSI 设备驱动层和TCP/ IP 协议栈之后,封装成IP 数据包,在IP 网络上传输; (2) 封装后的SCSI 命令达到USN 服务器之后,经解封装,恢复成封装前的SCSI 命令,USN 服务器利用这些SCSI 命令对iSCSI 存储设备发出块I/O读写请求; (3) 被请求的数据块经iSCSI 设备中的iSCSI 层和TCP/ IP 协议栈封装成PDU ,iSCSI 设备传送的PDU 到客户端可经两个途径:一种是经过服务器转发,一种是经过高速附网通道直接传到客户端; (4)PDU 经IP 网络上传输返回到客户1 后,PDU 经客户1 解封装并由其文件系统组合成文件。

当USN 系统提供File I/O 服务时,其数据读写过程(如图6 所示) : (1) 客户2 (文件I/O) 向USN 服务器发出文件读写请求(其工作方式和传统的NAS 相同) ; (2)USN 服务器接到客户端的文件读写请求后:一方面,将该I/O 请求发给对应的NAS设备或NAS 头,NAS 设备或NAS 头将所请求数据传给USN 服务器,再经USN 服务器传到客户端;另一方面USN 服务器不把文件I/O 请求传到NAS 或NAS 头,而是将NAS 或NAS 头的IP 地址传给客户端,客户端通过该IP 地址直接与NAS 或NAS头进行数据交互。


这里的NAS 头主要是支持FC 协议的SAN 设备能直接挂到TCP/ IP 网络,支持NFS/ CIFS 用户的访问,NAS 头也可安装iSCSI目标器驱动程序支持iSCSI 用户的访问。不论是块I/O请求还是文件I/O请求,都可通过附网高速通道实现客户端与存储设备的数据交互。


试验评估
  

从客户端对构建USN 的各子存储系统以及整个USN 进行功能和性能评测,并作进一步的比较。我们从两个方面对统一存储网进行测试:功能测试和性能测试。功能测试包括: (1)构建100M及1000M以太网环境,将iSCSI 存储设备与服务器连接;在服务器操作系统中安装iSCSI 软件包后,使用户能够通过网络获得iSCSI 存储设备提供的存储空间,并能象使用本地硬盘一样对其进行操作。

本测试项测试服务器端iSCSI 盘安装、设置、管理和使用等各项功能; (2) iSCSI 存储设备作为NAS 头的存储设备,与NAS 头组成一个NAS 存储系统,本测试项测试iSCSI 盘在NAS 中的安装、设置、管理和使用等各项功能; (3) iSCSI 盘与本地盘、FC-RAID 盘构成各种冗余度的RAID ,本测试项测试各种存储盘在RAID 中的安装、配置、管理和使用等各项功能; (4) 多个NAS、iSCSI 设备、NAS 头连接FC-RAID 通过多GMPFS 和ASA 构建成USN 海量存储系统,本项测试测试GMPFS 和ASA 系统在融合NAS、iSCSI 和SAN 的系统中的安装、配置及使用等各项功能。


性能测试包括:测试在100M和1000M网环境中不同工作负载下NAS 存储设备、iSCSI 存储设备、FC-RAID、本地硬盘以及它们组成的海量USN系统的数据传输性能:包括单位时间内的IO 次数、一次IO 的平均响应时间、数据传输率和CPU 利用率。该项测试的主要思想是针对不同的网络应用环境,对各种存储设备和各种传输通道进行频繁的IO 处理,在确定时间内统计并计算IO 率、数传率、响应时间、CPU 利用率等性能参数,从而得到的各种性能评估。


测试环境
iSCSI 存储设备42.0GHz CPU ,256MB DRAM, IBM DPSS318350 18G硬盘,Redhat Linux 9.0 操作系统;LINUX 服务器entium 42.66GHz ( FC2PGA) CPU ,256MB DRAM, 80GB UltraATA/ 1007 ,200rpm硬盘,Redhat Linux 9.0 操作系统;WINDOWS服务器端:XEON 3.06GHz CPU ,512M DRAM 内存,Smart Array6i (板载) 存储控制器,Qlogic QLA2300 PCI FC Adapter 光纤适配器,IBM 36。4GB (32P0726) 10Krpm 硬盘,Microsoft Windows2003操作系统;FC-RAID:NexStor 4000S ,CPU 600MHZ,512M SDRAM,10 ×ST314680FC 硬盘;普通NAS 存储设备: P42.66GHz CPU ,512MB DDR ,Maxtor 160G硬盘,Redhat Linux 9.0 操作系统。


网络连接:iSCSI 设备和普通NAS 设备都使用100M以太网卡Realtek RTL8139 ;Windows 服务器使用1000M 以太网卡HP NC7782 Gigabit Server Adapter ;Linux服务器使用1000M以太网卡。HPNC7782Gigabit Server Adapter。


功能测试
根据测试流程,功能测试包括三个方面的内容: (2) 平台的统一,即在Windows 下能通过单一目录树方式访问多个存储节点,功能与Linux 下的pvfs 相似; (2) 协议的统一,即通过Windows 的“计算机管理”和Initiator 发起端(iSCSI 客户端) 可以管理FC-RAID 和iSCSI Target 及普通的NAS 设备,并利用“动态磁盘机制”实现多种冗余;设备的统一,即iSCSI Target 通过和initiator 配合,使得该Target 成为NAS 系统中的一个存储设备。


性能测试
 

测试内容
采用第三方的IOMETER 测试软件进行的测试。IOMETER是INTEL 公司专门开发的用于测试系统I/O 性能的测试程序。 它的测试参数比较全面,能非常全面的反映服务器的I/ O性能。为了说明USN 存储系统的性能,在相同条件下测试以下项目进行对比分析: (1) 对USN 服务器本地硬盘读写性能测试; (2) 100M以太网环境下FC-RAID 盘读写性能测试; (3)100M以太网环境下远程iSCSI 盘读写性能测试; (4) 100M 以太网环境下FC-RAID 盘和远程iSCSI 盘构建的各级RAID 盘的读写性能测试; (5) 1000M以太网环境下远程iSCSI 盘读写性能测试; (6) 100M以太网环境下USN 系统的读写性能测试。

实验结果比较

本地IDE 硬盘、100M iSCSI 硬盘、1000M iSCSI 硬盘、FC-RAID、FC-RAID 与iSCSI 构成的RAID0 及USN 系统数据传输率性能比较如图7 所示。



本地IDE 硬盘、100M iSCSI 硬盘、1000M iSCSI 硬盘、FC-RAID 及FC-RAID 与iSCSI 构成的RAID0 ,以及USN 的IO/ s 性能比较如图8 所示。

本地IDE 硬盘、100M iSCSI 硬盘、1000M iSCSI 硬盘、FC-RAID及FC-RAID 与iSCSI 构成的RAID0 ,以及USN 的平均响应时间性能比较如图9 所示。



本地IDE 硬盘、100M iSCSI 硬盘、1000M iSCSI 硬盘、FC-RAID 及FC-RAID 与iSCSI 构成的RAID0 ,以及USN 的CPU 占用率比较如图10 所示。



 实验结果分析
  请求文件或数据块大小对存储系统性能的影响从图7、图8 和图9 中单条曲线的走势可以看出,当请求文件或数据块较大时,从目的盘或系统上读写数据耗费的时间长,通过网络传输的时间也相应增加,所以:小包的平均响应时间< 大包的平均响应时间,小包的IOps > 大包的IOps。请求包大时,针对一个请求包所进行的额外操作较请求包小时少,连续的读写所耗费的时间小于小包读写所耗费的时间,因此:小包的MBps < 大包的MBps。

服务器端iSCSI 盘的各项性能表现趋势在100M以太网和千兆以太网环境中不同请求包大小的情况下符合上述规律,本地IDE 硬盘、FC-RAID 和USN 系统也符合上述述规律。


 性能分析

从图7、图8 和图9 可以看出, I/O 请求在1k~128kB 时,USN系统的I/O 请求响应速度比本地IDE 硬盘、FC-RAID、100M远程iSCSI 硬盘和1000M iSCSI 硬盘快的多。 当I/O 请求大于128kB 时,USN 系统的I/O 请求响应速度比FC-RAID 的 I/ O 请求响应速度略慢,比其它存储子系统的速度快的多,最高速度可达45MB/ s。 其原因是我们在USN 的服务器端除加载了GMPFS(支持使用多种访问协议用户) 和ASA(提供服务器通道和附网高速通道) 的同时,还加载了我们实验室以前开发的智能预取、硬盘缓存技术(DCD) 、负载均衡和零拷贝系统或软件模块,所以,不论是大I/O 请求还小I/O 请求,都能提供极好的I/O 请求响应性能。 而FC-RAID 由于自身的数据校验等时延等特性,对小的I/O 请求响应速度较慢,对越大的I/O请求响应速度越快。

对于USN 的iSCSI 盘存储子系统,从实验结果可以看出,当请求数据块较小时,100M网络环境下的性能和1000M网络环境下的性能差别不明显,随着请求块或文件逐步增大,两者IOps 和MBps 的差距越来越大。请求数据块为1024K时,仅更换网络传输中的数据链路层和物理层,从100M 网络环境提升到1000M网络环境,磁盘数据传输率得到较大的提高,后者约是前者的3 倍。


从图10 可以看出,100M的iSCSI 存储子系统的CPU 占用率最高,原因是在响应用户的I/O 请求,要求服务器不断的对iSCSI 的协议数据单元进行封装和解封装。 本地的IED 硬盘CPU 占用率最低,USN 系统的服务器端CPU 占用率次之,原因是USN 系统中小的I/O 请求直接经过服务器处理,而大的I/O 请求经过附网高速通道由存储设备自身处理。


结论和展望
  

我们提出、设计和实现的统一存储网络系统,全部采用IP互联设备,价格比光纤通道低得多,在管理软件的开发实现上以及系统的使用维护上,都具有多得多的资源和经验。 并且,千兆以太网技术比光纤通道技术发展迅速,10Gbps 以太网交换机已经推出并在市场上热销,其性能前景也比光纤通道交换机好得多。 所有这些为统一存储网络的产品化打下了坚实的基础。
返回列表