新型存储系统动态数据组织策略研究

2016-01-05 06:15谭国华文亮
软件导刊 2015年12期
关键词:存储系统

谭国华++文亮

摘 要:单一、静态的数据组织策略已无法满足大容量存储系统高可用性、高速率、高安全性等日益复杂的需求。新型的属性管理技术对系统的负载属性加以描述和分类,并与一定的数据组织策略相对应。利用存储对象描述属性,根据对象属性信息放置对象,实现数据动态组织。系统实验证明:新型存储系统能根据不同的负载条件自动选择合适的数据组织策略,使I/O性能得以优化。

关键词:存储系统;数据组织;I/O性能

DOIDOI:10.11907/rjdk.151951

中图分类号:TP303

文献标识码:A 文章编号文章编号:16727800(2015)012002303

0 引言

存储系统的设计和运行中,经常涉及各种数据组织策略选择,包括数据在设备上的放置、布局、冗余、定位等。不同的数据组织策略对存储系统的可靠性、I/O性能、可用性、安全性等产生不同的影响,一直是评估存储系统的重要指标。随着信息资源的爆炸性增长,存储系统规模日益庞大,在可靠性、存储容量、可用性、I/O速率等方面的需求越来越复杂。传统的基于块的存储系统采用的数据组织策略,大多是静态的、固定不变的,或是针对特定应用环境的,已经越来越不适应大规模存储系统的发展要求。以磁盘阵列子系统(RAID)为例:系统初始化阶段需选择几个物理磁盘构成RAID组,再将RAID组划分为若干slice,每个slice对应映射为一个主机可见的逻辑单元(LUN)。通常的做法是为不同的slice设置不同的RAID级别、数据块/分条单元大小、读写/访问模式、Cache大小、预取方式等数据组织策略。这样的数据组织方式缺陷十分明显:①每个slice的配置都是固定的,使用一种配置服务多种应用,难以应对大规模存储系统各种变化的负载;②随着系统规模的增大,slice数目越来越多,配置管理任务越来越繁重;③当系统需要扩展时,为充分利用新增设备的优势,需要进行重建slice、重新分布数据等高风险高代价操作。

本文针对静态数据组织存在的问题,提出了一种基于属性管理的动态数据组织方法[1]。首先定义一组“属性”用来描述系统应用负载的特征,通过对这些属性的分类,将某类属性对应于特定的数据组织策略;然后设计属性管理存储系统,以SCSI-OSD标准为基础,这些属性信息通过存储对象传递给最底层的存储设备,为相应属性的存储对象选择合适的数据组织策略,实现存储系统的动态数据组织。

1 相关研究

属性管理是按一定的属性规则将系统组件分类,为每一类组件赋予不同的属性值,根据属性和属性值对系统进行管理。1995年,R. Golding提出了“属性管理存储系统”(Attributemanaged storage)[2],在存储系统中加入属性管理,基本原理是:利用属性来描述存储系统的负载和设备信息,其中负载行为包括读写方式、速率、可靠性等信息。系统通过属性映射引擎,将属性信息映射到存储系统,满足对应的需求目标,实现复杂存储系统的自管理。Borowsky研究了在存储系统中利用属性管理获得高可靠性的技术;Shriver研究了属性的映射问题[3],并利用属性管理“解决器”,将应用负载信息赋给合适的设备。由于当时存储系统使用块接口,无法在系统中动态传递属性,所以上述研究都没有真正实现属性管理存储系统。

SNIA OSD工作组和INCITS下属的T10技术委员会共同制定了对象存储技术——ANSI X3 T10标准,该标准定义了支持对象操作的扩展SCSI命令集,包含了基于对象的属性扩展机制和属性的设置接口,并为对象提供了相应的访问方法。该标准定义了存储系统中属性和对象操作的基本方法,但没有对影响存储系统数据组织策略的属性加以研究和规定。

2 动态数据组织策略

基于属性管理的动态数据组织策略,是用一组属性描述存储系统中应用负载特征,然后对这些属性分类,为带有某一类属性的存储对象选择合适的数据组织策略,以满足系统性能、可靠性、可用性等方面的需求。

2.1 属性

不同的数据组织策略,为应用负载提供相应的性能需求(如响应时间、高可用性、IOPS、安全性等)。要实现动态选择对应的数据组织策略,首先要用一组属性来描述对象的负载特征,为某些同类负载特征的对象匹配相应的数据组织策略。从负载属性集中满足应用服务质量的静态属性和表示应用行为的动态属性,对存储对象的负载特征进行描述,将这些属性划归为5种类型,使每种类型对应于最合适数据组织策略(Type0-Type4)。属性描述及分类见图1,属性类别与数据组织策略的对应关系见表1。

2.2 基于属性的存储系统

为了实现属性信息的传递和数据组织策略的动态选择,设计了属性管理存储系统模型,由网络传输层、应用层、设备层和元数据管理层4部分组成。网络传输层定义系统的数据格式和传输方式,并提供面向属性和对象的操作接口。请求从应用层发出,经由对象文件系统xaFS进入网络。设备层截获网络传输层解释的请求命令,并分配和管理基于对象的存储空间。请求经由系统中各子系统的驱动程序到达物理设备。属性管理存储系统总体结构见图2。

图2 属性管理存储系统模型

3 原型系统

为验证上述设计思想,结合 SCSI-OSD标准设计了自定义负载属性和另外4个扩展属性:访问模式、请求大小、可靠性级别、读写模式,实现了属性管理存储系统原型系统AmSS(Attributemanaged Storage System)[45]。应用层设计为发起请求的客户端;设备层设计为提供服务的服务器,包括存储对象管理和底层RAID子系统,它们共同构成了对象存储设备(OSD)。网络传输层则设计支持iSCSI协议和SCSIOSD标准的驱动程序。客户端的OSD启动器移植于IBM的源代码osd_initiator3.1.1,为xaFS提供对象属性操作(SCSIOSD命令)接口,底层iSCSI启动器使用Linux内核集成的版本Linuxiscsi4.0.2。服务器中的iSCSI目标器基于UNH实现的版本 unh_iscsi1.6.00,并在unh_iscsi1.6.00的基础上实现了iSCSI协议的AHS(Additional Head Segment)机制,以支持SCSIOSD命令的扩展CDB及其双向传输(AHS Type1/Type2 。最初基于块操作的SCSI命令最大传输16字节的CDB,而SCSIOSD的CDB长度最大要求200字节。此外,一些与属性相关的SCSIOSD命令还要求双向传输);OSD目标器和OSD对象存储设备则基于Linux2.6.10自主设计,前者解析SCSIOSD命令(原型系统目前支持的命令包括CREATE、FORMAT、GET/SET ATTRIBUTES、LIST、READ/WRITE和REMOVE),并根据命令中包含的负载属性信息将存储对象放置于后者合适的Section中。规定每个Section所包含的数据块个数为8KB,则每种类型Section的容量是固定的。此外,系统采用元数据带内传送方式(数据和元数据在同一I/O路径上传送),未开发专门的元数据服务器是为了快速实现原型系统。软件中所有功能模块在Linux2.6.10下以内核态驱动程序的形式实现,原型系统软件结构见图3。

图3 AmSS软件结构

4 性能测试及评价

对原型系统在不同负载情况下进行性能测试,测试的目的是在没有文件系统和客户端cache影响的情况下,评估具备动态数据组织策略的原型系统与传统的块存储系统在不同负载情况下的性能表现。为了能在驱动层反映出相应的负载,采用通用的负载合成工具Iometer仿真了4种典型负载以注入系统。

4.1 原型系统硬件平台

表2为AmSS客户端、服务器(RAID子系统)的硬件配置。服务器、客户端通过各自的千兆网卡连接到Cisco Catalyst4500交换机上。

4.2 测试评估

用Iometer软件调整不同的访问模式、读写、请求大小,模拟仿真出4种典型的应用负载环境,测试AmSS在不同应用负载环境下的I/O性能,见表3。初始加载各种类型的Section,一共划分出4912MB的磁盘空间,写请求选择空间覆盖的策略,即目标器按照写请求创建对象信息,只写相同的磁盘空间而不为请求分配新的空间,每一种负载测试时间为5分钟。同时,对RAID子系统和AmSS目标器做一些小的调整,另外搭建一个基于块接口和支持SCSI命令的iSCSIRAID存储系统,同样使用上述4种方式进行仿真负载,基于不同的组织策略进行对比测试。如图4、图5所示,iSCSIRAID使用的前3种数据组织策略都不能优化所有仿真负载性能,只有AmSS的性能相对于其它3种策略,在不同负载环境下都可以保持最好的成绩。

5 结语

基于存储对象的属性管理方法,分别从动态和静态对存储系统的负载属性特征进行了处理,使存储系统可以根据这些属性信息进行动态配置管理,自动满足不同的可靠性、I/O性能、安全性、可用性等需求,最大程度地减轻了存储系统日益增加的管理难度,是实现存储系统智能化、自管理的基础。本文设计了属性管理原型系统,根据负载的属性信息选择最适合的对象数据组织策略,以达到最优的I/O性能。实验表明,原型系统能根据不同的负载条件自动选择合适的数据组织策略,使I/O性能始终处于优化状态。下一步将研究 xaFS的并发控制功能,并为原型系统开发元数据服务器,使原型系统支持文件系统层的多客户端访问。另外,实验中发现原型系统长时间运行后的磁盘利用率较低,基于Section的对象碎片管理以及空间回收算法将是进一步的研究目标。

参考文献参考文献:

[1] R.GOLDING.Attributemanaged storage[J].San Antonio,TX,1995.

[2] E BOROWSKY,R GOLDING.Using attributemanaged storage to achieve QoS[C]. In: 5th International Workshop on Quality of Service, Columbia Univ,New York,1997.

[3] E SHRIVER. A formalization of the attribute mapping problem[C].In:Technical Report HPLSSP9510,HP Labs,1996.

[4] MIKE MESNIER, GREGORY R GANGER, ERIK RIEDEL. Objectbased storage[J].IEEE Communications Magazine, 2003,41 (8):8490.

[5] DAVID DU, DINGSHAN HE. Experiences building an objectbased storage system based on the OSD T10 Standard[C]. In: 23st IEEE/14th NASA Goddard Conference on MSST,2006.

(责任编辑:杜能钢)

猜你喜欢
存储系统
分层式大数据存储系统缓存调度策略与性能优化
分布式存储系统在企业档案管理中的应用
天河超算存储系统在美创佳绩
天河超算存储系统在美创佳绩
网络计算机模型下海量大数据存储系统设计
基于Hadoop 的海量医药电商数据存储系统设计与开发
分布式存储系统在液晶面板制造数据仓库中的设计
存储系统是HPC运转的基础
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
一种基于STM32的具有断电保护机制的采集存储系统设计