网络存储学习之关键技术(网络存储系统的I/O性能)

来源:互联网 发布:java开发的网游 编辑:程序博客网 时间:2024/05/18 03:37

1 概述

关于网络存储系统I/O性能的研究I/O性能是衡量存储系统的传统指标。关于提升存储系统性能的研究是国内外的研究热点。就研究方向可以分为对存储系统体系结构的研究以及对网络存储设备I/O优化的研究。

2 对存储系统体系结构的研究

2.1 基于InfiniBand的存储系统

InfiniBand 是被用来取代PCI总线的新I/O体系结构。InfiniBand把网络技术引入I/O体系中,形成一个I/O交换网络结构,主机系统通过一个或多个主机通道适配器(HCA)连接到I/O交换网上,存储器、网络通信设备通过目标通道适配器(TCA)连接到该I/O交换网上。

InfiniBand体系结构把IP网络和存储网络合二为一,以交换机互连和路由器互连的方式支持系统的可扩展性。服务器端通过主机通道适配器(HCA)连接到主机内存总线上,突破了PCI的带宽限制,存储设备端通过终端通道适配器(TCA)连接到物理设备上,突破了SCSI和FC-AL的带宽限制。在InfiniBand体系结构下,可以实现不同形式的存储系统,包括SAN和NAS。
基于InfiniBandI/O路径的SAN存储系统有两种实现途径:其一是SAN存储设备内部通过InfiniBand I/O路径进行数据通信,InfiniBand I/O路径取代PCI或高速串性总线,但与服务器/主机系统的连接还是通过FC I/O路径;其二是SAN存储设备和主机系统利用InfiniBand I/O路径取代FC I/O路径,实现彻底地基于InfiniBand I/O路径的存储体系结构。

2.2 基于DAFS协议的存储体系结构

DAFS的主要作用是主要的目的是在所有的网络上建立一个通用的网络I/O存储系统。作为一种文件系统协议,直接存取文件系统DAFS可以在大量甚至过量负载时有效地减轻存储服务器的计算压力,提高存储系统的性能。DAFS把RDMA的优点和NAS的存储能力集成在一起,全部读写操作都直接通过DAFS的用户层——RDMA驱动器执行,从而降低了网络文件协议所带来的系统负载。

DAFS的基本原理是通过缩短服务器读写文件时的数据路径来减少和重新分配CPU的计算任务。它提供内存到内存的直接传输途径,使数据块的复制工作不需要经过应用服务器和文件服务器的CPU,而是在这两个物理设备预先映射的缓冲区中直接传输。也就是说,文件可以直接由应用服务器内存传输到存储服务器内存,而不必先填充各种各样的系统缓冲区和网络接收器。DAFS可以直接集成到NAS存储服务器中,一方面实现高性能的数据传输,另一方面也可以更好地支持数据库管理系统,如Oracle数据库等。

具体来讲,DAFS协议的设计充分利用正出现的RDMA网络通信技术,例如InfiniBand, VI和iWARP的文件存取协议,从而极大地增强了WEB、计算、电子商务等各种应用的性能、可靠性与可扩展性。因为DAFS网络文件协议直接在内核中实现,而且直接通过内核的文件系统低层和设备交互,因此,从体系结构上,基于DAFS的NAS和基于SCSI目标模拟器的SAN体系结构基本相同,这样就可以把NAS和SAN融合到一个存储设备中,实现NAS和SAN的融合。
DUKE大学在MYRINET和以太网网络上基于IP协议实现了一个统一传输协议的SAN存储系统,并将DAFS实现在该SAN存储系统中,于是实现了统一传输协议以及统一NAS和SAN的网络存储系统。综上,DAFS协议不仅是有效提升NAS结构I/O性能的方法,也可以作为下一步融合NAS和SAN存储系统的核心协议。DAFS客户与DAFS文件服务器的体系结构如下图所示:


3.5 基于IP的网络存储技术

IP.SAN是采用iSCSl(Interact Small ComputerSystems Interface)协议构架在IP网络上的SAN。iSCSI协议通过IP协议来封装SCSI命令,并在IP网络上传输SCSI命令和数据。在FC/SAN结构中,服务器间的消息传递使用的是前端局域网,而数据传输则被限制在后端的存储网络中。但是,IpoSAN的倡导者认为存储网络应该与应用网络使用相同的体系架构和技术标准,也就是说,IPSAN存储系统既使用IP网络进行消息传递,也使用IP网络进行数据传输。基于IP网络的SAN系统可充分利用目前普遍使用的lP网络基础设施,解决了应用网络和存储网络异构的问题。另一方面,IP/SAN的数据传输路径和FC/SAN存储系统的I/O路径相比,只是光纤通道卡和FCP协议变为iSCSI卡和iSCSI协议。

3. 网络存储设备的I/O优化技术

存储设备的I/O性能决定着整个网络存储系统的I/O性能,因此目前很多的研究工作针对如何减少发送到网络存储设备的I/O请求、改进网络存储设备的I/O性能等方面。

3.1 Cache技术

改进网络存储设备I/O性能的Cache技术,按其实现位置可分为文件系统端的Cache技术以及网络存储设备端的Cache技术。
在服务器端实现的cache技术,首先表现在通过对负载的分析采用不同速度的存储设备。Conquest系统[10,11,12,13]根据文件系统负载的统计特征实现了一个新的改进文件系统I/O性能的Cache方法。它在服务器端实现一个混合磁盘的文件系统,采用持久的RAM作为一个I/O子系统设备,大部分文件操作发送给基于持久RAM的设备进行处理。基于混合磁盘的文件系统可以提高43-97% 的性能。
由于在实际应用中对元数据的I/O操作占总I/O操作的50%~80%,因此针对元数据的cache也是有效提高I/O性能的手段。HeRMES系统[14,15]是基于磁性RAM(MRAM)实现的一个新的文件系统。在该文件系统中,元数据和部分的文件系统数据将被存放在持久的MRAM中,元数据操作不需要存取物理磁盘,这样快速的元数据存取和基于MRAM的优化数据放置算法使得数据存取性能也得到较好的提高。同时MRAM具有单字节读写能力,允许HeRMES使用较简单的数据结构,而不需要采用Flash RAM的基于块结构的读写方式。
目前针对磁盘和网络磁盘的Cache技术研究成果也比较多,包括体系结构、改进技术和定性研究等方面。通过对磁盘/网络磁盘内的Cache大小对I/O性能的影响做了深入的分析和研究,有结果显示磁盘内使用大Cache是没有必要的,当磁盘内Cache大小达到512KB后,增加大小对系统的I/O性能几乎没有改进[16]。针对这一现象,Wong等人阐述了一种新的Cache改进技术[17],因为客户端的Cache和网络磁盘阵列的Cache是无法累加使用的,它们是包含的关系,因此采用排除的方法去改进平均命中率,尤其是读操作,其主要技术是Demote操作。此外还涌现了系统内的多个程序共享单个数据物理拷贝的Cache技术[18],可以减少磁盘/网络磁盘内的数据拷贝次数。Rapid-Cache技术提出了新的Cache体系结构[19],它采用两个缓冲区,一个是基于RAM的主缓冲区,另一个是采用基于LOG磁盘的NVRAM实现的备份缓冲器。主缓冲区主要用做读操作,而备份缓冲器主要用于写操作,因为符合目前的工作负载规律以及RAM/NVRAM的性能,因此可以改进I/O读写性能。

3.1 Cache技术

3.2 数据分布技术

0 0
原创粉丝点击