一种自动精简配置的自适应优化方法

文档序号:6633511阅读:535来源:国知局
一种自动精简配置的自适应优化方法
【专利摘要】本发明一种自动精简配置的自适应优化方法,包括如下步骤:S1:存储系统初始运行时,使用固定大小的数据块进行精简分配;S2:运行过程中,对发送到存储系统的数据IO请求的特性进行统计;S3:根据IO请求统计结果,自动调整精简分配的数据块大小;S4:在系统运行过程中,记录大数据块内空间使用情况,同时进行数据的迁移和数据块的合并;S5:当存储系统接收到空间回收的请求时,将可回收的数据块并进行数据块的合并。本发明能够根据存储系统实际业务需求自动调整数据块分配大小,在满足磁盘空间的按需管理基础上,降低因数据块分配带来的额外存储系统性能开销,提高了磁盘空间利用率,使得存储系统适用于多种业务应用场景。
【专利说明】一种自动精简配置的自适应优化方法

【技术领域】
[0001]本发明涉及存储【技术领域】,具体涉及一种自动精简配置的自适应优化方法。

【背景技术】
[0002]自动精简配置技术是一项新的存储空间配置管理技术,与传统存储空间管理技术相比,自动精简配置技术能够按照上层应用对存储空间的实际需求,按需分配存储资源,而非一次性地分配应用所需的全部存储资源。自动精简配置技术解决了传统存储系统存储空间利用率较低的问题,能够提高存储空间利用率,降低存储系统前期部署和运行的成本。
[0003]自动精简配置可以在逻辑卷、文件和数据块等不同粒度的层次实现,目前多数存储系统采用在数据块级进行自动精简配置,将用于自动精简的磁盘存储空间划分成相同大小的数据块,根据上层应用的需求以数据块为单位分配存储空间。如某一存储池使用自动精简配置,当在池中创建精简逻辑卷时,并不为创建的逻辑卷分配存储空间,而是在应用向逻辑卷实际写入数据时才从存储池的可用存储空间中给逻辑卷分配数据块,用于数据的存储。若某一数据块不再存储上层应用的有效数据,由上层应用下发存储空间的回收请求,存储系统将空间回收请求转换为对已经分配数据块的回收操作。
[0004]相比于一次性为逻辑卷分配所需的存储空间,自动精简配置技术动态地对存储资源进行分配,由此带来的影响是,上层应用发出的一次磁盘1的流程增加了空间分配的步骤,增加了 1路径,同时又由于额外维护了用于数据块管理的元数据,会对存储系统的数据访问性能造成一定影响。因此,自动精简配置实现中数据块大小的选择,会影响存储系统的整体性能表现和存储空间利用的优化程度。当数据块较大时,所需的元数据较少,在存储系统运行时数据块分配造成的性能开销较小,但存储空间利用率提升较小,同时在磁盘空间回收过程中会造成大数据块内的空间利用率低的问题;当数据块过小时,存储空间利用率会有较大提升,但是需要较大的额外元数据信息,同时在存储系统正常运行时数据块分配开销较大。由上所述,不同大小的自动精简数据块大小适用于不同的业务应用场景,当存储系统应用场景发生变化时,系统性能也会受到影响。


【发明内容】

[0005]为解决上述问题,本发明的目的在于提供一种自动精简配置的自适应优化方法,以提高存储系统的性能和存储资源利用率,使得自动精简配置技术能够适应更加复杂多变的业务需求。
[0006]为实现上述目的,本发明的技术方案为:
一种自动精简配置的自适应优化方法,包括如下步骤:
S1:存储系统初始运行时,使用固定大小的数据块进行精简分配;
52:运行过程中,对发送到存储系统的数据1请求的特性进行统计;
53:根据1请求统计结果,自动调整精简分配的数据块大小;
54:在系统运行过程中,记录大数据块内空间使用情况,同时进行数据的迁移和数据块的合并;
S5:当存储系统接收到空间回收的请求时,将可回收的数据块并进行数据块的合并。
[0007]进一步地,在步骤SI中,进行精简分配数据块的固定大小的初始值设置为上层文件系统块大小,存储系统在初始运行时,数据块按最大值进行组织,进行数据块分配时将大数据块递归进行拆分成多个数据块。
[0008]进一步地,在步骤S2中,对数据1的请求进行访问特性的统计,统计内容包括应用自动精简配置技术的存储池、逻辑卷数据的逻辑组织单位的数据增长情况,存储设备的I OPS, 1请求的平均请求数据大小,各种1请求类型比例。
[0009]进一步地,步骤S3中,自动调整精简分配的数据块大小,包括对存储池中的存储空间划分成不同大小的数据块,数据块的大小以2为倍数递增,且数据块起始地址为数据块大小的整数倍。
[0010]进一步地,步骤S4中,记录大数据块内空间使用情况,包括以最小数据块大小为单位记录存储池空间分配情况。
[0011]进一步地,步骤S5中,合并回收的数据块,包括寻找是否与回收数据块相邻的同等大小的空闲数据块,若存在且满足地址对齐条件,将两个数据块进行合并。
[0012]相较于现有技术,本发明自动精简配置的自适应优化方法能够根据存储系统实际业务需求自动调整数据块分配大小,在满足磁盘空间的按需管理基础上,降低因数据块分配带来的额外存储系统性能开销,提高了磁盘空间利用率,使得存储系统适用于多种业务应用场景。

【专利附图】

【附图说明】
[0013]图1是采用不同块大小后存储设备中空间划分示意图。
[0014]图2是应用了本发明的存储服务器结构图。
[0015]图3是采用记录存储空间分配情况的示意图。

【具体实施方式】
[0016]本发明实施例提供了一种自动精简配置的自适应优化方法。
[0017]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0018]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
[0019]以下分别进行详细说明。
[0020]本发明一种自动精简配置的自适应优化方法,包括如下步骤: S1:存储系统初始运行时,使用固定大小的数据块进行精简分配;
在步骤SI中,进行精简分配数据块的固定大小的初始值设置为上层文件系统块大小。存储系统在初始运行时,数据块按最大值进行组织,进行数据块分配时将大数据块递归进行拆分成多个数据块,以满足块分配需求。
[0021]S2:运行过程中,对发送到存储系统的数据1请求的特性进行统计;
在步骤S2中,对数据1的请求进行访问特性的统计,统计内容包括应用自动精简配置技术的存储池、逻辑卷等数据的逻辑组织单位的数据增长情况,存储设备的10PS,1请求的平均请求数据大小,各种1请求类型比例。
[0022]S3:根据1请求统计结果,自动调整精简分配的数据块大小;
步骤S3中,自动调整精简分配的数据块大小,包括对应用自动精简配置技术的存储池中的存储空间划分成不同大小的数据块,数据块的大小以2为倍数递增,且数据块起始地址为数据块大小的整数倍。根据1请求的访问特性,调整当前数据块分配的大小。
[0023]S4:在系统运行过程中,记录大数据块内空间使用情况,同时进行数据的迁移和数据块的合并;
步骤S4中,记录大数据块内空间使用情况,包括以最小数据块大小为单位记录存储池空间分配情况,若某一数据块中空间利用率低到阈值,对数据块中数据进行处理,同时在可能情况下合并该数据。
[0024]S5:当存储系统接收到空间回收的请求时,将可回收的数据块并进行数据块的合并;
步骤S5中,合并回收的数据块,包括寻找是否与回收数据块相邻的同等大小的空闲数据块,若存在且满足地址对齐等条件,将两个数据块进行合并。
[0025]参照图1所示,图1中,采用不同块大小对存储设备(如磁盘、磁盘分区、RAID等)空间进行划分,以RAID 100为例。块大小可以有不同数量的大小,在本实施例中,块大小可以为 64KB、128KB、256KB、512KB、1MB、2MB、4MB、8MB、16MB、32MB、64MB 共 11 种。在其它实施例中也可根据实际应用环境增加或减少数据块大小数量和调整数据块大小。在建议实施例中,不同数据块之间大小相差2或2的整数倍,在其它实施例中也可自行规定数据块大小。
[0026]对存储设备空间划分成的数据块,起始地址应能够被数据块大小整除。如图1所示实施例中,数据块101和102大小为I个磁盘扇区,数据块103大小为2个磁盘扇区,数据块104大小为4个磁盘扇区。以磁盘扇区为单位,则数据块101、102、103、104的起始地址分别为O、1、2、4,均可被对应数据块大小整除。要求数据块起始地址与数据块大小之间满足整除关系是为了数据块的回收与合并,将在后文详细说明。
[0027]参照图2所示,图2是采用了本发明方法的存储服务器层次结构图,存储服务器200包含处理器201,在其中运行了用于管理下层存储资源的存储管理器202,存储服务器200以逻辑卷或统一存储空间的形式向外提供存储资源,在实施例中存储资源表现为多个逻辑卷。逻辑卷203中数据块由存储池204中多个RAID通过自动精简分配,如图示,逻辑卷203中已分配的地址空间映射到存储池204中RAID 205a、205b和205c。在具体实施例中,逻辑卷可以以多种方式与存储池中存储设备建立映射关系,如某实施例中允许存储系统用户人工指定逻辑卷映射到的RAID设备。但在建议实施例中,逻辑卷在分配数据块建立数据块映射时,自动地根据各RAID设备负载情况选择映射目标RAID,且每个逻辑卷能够映射到存储池中所有RAID设备。
[0028]存储系统在初始运行时,会初始化存储系统中所有存储设备。某些实施例在存储设备初始化时,将所有存储空间按照最大的数据块进行划分。其它实施例初始化存储设备时,可以由存储系统用户指定划分存储空间的数据块大小,或采用预定义的数据块大小划分空间。
[0029]在建议实施例中,采用本发明所述方法的存储系统在运行的初始阶段,对逻辑卷存储空间以数据块最大大小分配数据块,并建立数据块映射关系。这是由于存储系统初始运行阶段所存储数据量增长迅速,采用大数据块分配能够有效减小空间分配带来的系统性能开销。在其它实施例中,也可采用存储系统用户指定分配数据块的大小或采用预定义的数据块大小进行初始阶段的数据块分配。
[0030]采用本发明所述方法的存储系统,需在运行时统计系统中数据1请求的特性和数据增长情况。在实施例中,数据1请求的特性可以为逻辑卷的带宽、10PS、平均1请求数据大小、各种1类型的比例。数据增长情况包括各存储设备实际已分配空间的大小及变化速率,各逻辑卷实际空间的大小及变化速率以及存储池实际使用空间的大小及变化速率。存储系统在运行时进行1请求的特性统计用于调整数据块的分配大小和进行负载均衡。
[0031]采用本发明所述方法的存储系统,在运行一段时间后根据统计的数据1请求的特性自动调整自动精简分配数据块的大小。在实施例中对不同的1请求特性和数据增长情况,选择不同的数据块大小进行自动精简分配。在某些实施例中,逻辑卷存储数据的实际空间大小增长速率较大,则增大分配给逻辑卷的数据块的大小,以减少数据块分配带来的系统性能开销。在某些实施例中,逻辑卷的实际空间增长较缓慢,但是空间频繁进行分配和回收,则在保证逻辑卷整体性能的前提下,减小数据块分配大小,以减少数据块内的空间碎片。在建议实施例中,若逻辑卷的空间频繁进行分配和回收,则优先选择最接近平均1请求大小的数据块进行分配,以减少数据块内的空间碎片,若存储设备的性能较好,也可以上层文件系统块大小进行分配,能够更为有效地提高磁盘空间利用率。在某些实施例中,若存储设备性能较差,则适当增大自动精简分配的数据块大小,以保证存储系统整体性能。若按照当前存储空间划分情况,不存在所需分配数据大小的数据块,则将2倍大的数据块拆分形成2个所需大小的数据块,若不存在2倍大小的数据块,则依次拆分更大的数据块。
[0032]采用本发明所述方法的存储系统,按照逻辑卷的文件系统块大小或数据1请求的最小数据块大小为单位,记录存储设备中空间分配情况。在建议实施例中,以位图记录空间分配情况。如图3所示,位图300中每一位记录一个单位的空间分配情况。逻辑卷301中每个已分配的数据块都对应位图中一段记录空间。图3中,逻辑301中的数据块301a、301b,301c和301d分别对应位图300中300a,300b,300c和300d四段位图空间。位图空间段300a、300b和300d表明空间段内单位所对应的实际数据存储空间已经被分配,而位图段300c中第3个单位对应的实际数据存储空间已经被存储系统上层回收。其它实施例也可采用其它方式,如链表、hash树、B+Tree等方式记录存储设备空间分配情况。
[0033]自动精简配置管理存储空间,包括空间的分配和回收。在采用本发明所述方法的存储系统中,需要对不同大小的数据块回收。存储空间中较大的数据块在分配时可以被拆分成较小的数据块,而在数据块回收时能够将满足一定条件的较小数据块合并成较大的数据块。两个数据块能够合并需要满足如下条件:1、两个数据块大小相等;2、两个数据块地址空间相邻但没有重叠;3、两个数据块合并后新的数据块起始地址能够被新数据块大小整除。满足以上条件的两个数据块能够在数据块回收时进行合并。但从空间分配角度看,能够合并的两个数据块除了满足如上要求的条件外,还必须是空间的数据块,即两个数据块没有被分配,没有存储有效数据。
[0034]在建议实施例中,为了减少数据块空间内的碎片,能够在数据空间回收时合并存储较少有效数据的数据块,而将其中的有效数据迁移到适合大小的其它空间数据块中,通过数据块间的数据迁移减少存储空间碎片。为了能够识别出存储有效数据较少的数据块,需要根据记录存储空间分配情况的位图,通过数据块空间中实际分配的位图记录单位占整个数据块空间的比例,决定该数据块是否是利用率较低的数据块。若存在这样的数据块,则寻找满足条件的能够与之合并的其它数据块,若找到则分配一个合适大小的其它空闲数据块,将此利用率较低的数据块中存储的有效数据迁移到新分配的空间数据块中,再进行数据块的合并操作。存储系统定期扫描存储空间分配位图,寻找空间利用率低的数据块,进行上述操作。
[0035]在其它实施例中,若存在利用率较低的数据块,也可将该数据块拆分成两个较小的数据块。将该数据块拆分成两个较小数据块需要满足如下条件:1、数据块中存储的较少有效数据在数据块拆分后只存在其中一个小数据块中,而另一个小数据块中不存储有效数据;2、存在一个空闲数据块能够与不存储有效数据的数据块进行合并。若满足如上两个条件,则将该数据块拆分。
[0036]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0037]综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种自动精简配置的自适应优化方法,其特征在于,包括如下步骤: S1:存储系统初始运行时,使用固定大小的数据块进行精简分配; 52:运行过程中,对发送到存储系统的数据1请求的特性进行统计; 53:根据1请求统计结果,自动调整精简分配的数据块大小; 54:在系统运行过程中,记录大数据块内空间使用情况,同时进行数据的迁移和数据块的合并; S5:当存储系统接收到空间回收的请求时,将可回收的数据块并进行数据块的合并。
2.如权利要求1所述自动精简配置的自适应优化方法,其特征在于:在步骤SI中,进行精简分配数据块的固定大小的初始值设置为上层文件系统块大小,存储系统在初始运行时,数据块按最大值进行组织,进行数据块分配时将大数据块递归进行拆分成多个数据块。
3.如权利要求2所述自动精简配置的自适应优化方法,其特征在于:在步骤S2中,对数据1的请求进行访问特性的统计,统计内容包括应用自动精简配置技术的存储池、逻辑卷数据的逻辑组织单位的数据增长情况,存储设备的10PS,1请求的平均请求数据大小,各种1请求类型比例。
4.如权利要求3所述自动精简配置的自适应优化方法,其特征在于:步骤S3中,自动调整精简分配的数据块大小,包括对存储池中的存储空间划分成不同大小的数据块,数据块的大小以2为倍数递增,且数据块起始地址为数据块大小的整数倍。
5.如权利要求4所述自动精简配置的自适应优化方法,其特征在于:步骤S4中,记录大数据块内空间使用情况,包括以最小数据块大小为单位记录存储池空间分配情况。
6.如权利要求5所述自动精简配置的自适应优化方法,其特征在于:步骤S5中,合并回收的数据块,包括寻找是否与回收数据块相邻的同等大小的空闲数据块,若存在且满足地址对齐条件,将两个数据块进行合并。
【文档编号】G06F12/02GK104461914SQ201410626649
【公开日】2015年3月25日 申请日期:2014年11月10日 优先权日:2014年11月10日
【发明者】马春 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1