融合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 利用率等性能参数,从而得到的各种性能评估。
- 几种主流的网络存储技术介绍(03-01)
- 直连存储是否过时?看DAS存储重装上阵(05-24)
- 四大存储方式技术解析其优劣势(06-03)
- 四种闪存设计优劣点分析(05-18)
- 新一代希捷网络附加存储解决方案(05-17)