一种分布式存储系统的数据恢复方法和装置与流程

文档序号:24121396发布日期:2021-03-02 11:40阅读:60来源:国知局
一种分布式存储系统的数据恢复方法和装置与流程

[0001]
本发明涉及数据恢复领域,更具体地,特别是指一种分布式存储系统的数据恢复方法和装置。


背景技术:

[0002]
在现有技术方案中,实现了对数据恢复的qos(服务质量),用户可以根据需要设置优先级来控制恢复速度,即通过限定一个恢复周期可恢复的最大数据量和最大对象数来限制恢复速度。数据恢复优先级需要用户根据需求来设置,如果用户不希望数据恢复占用系统资源,影响前端业务,需要将数据恢复优先级调低,如果用户希望尽快完成数据恢复,则将数据恢复优先级调高。当前的qos方案没有自适应的调整方案,对于前端业务压力变化的场景,用户设置了某一种数据恢复优先级后无法根据前端压力来调节数据恢复速度。
[0003]
针对现有技术中数据恢复速度无法自适应变化,缺乏灵活性的问题,目前尚无有效的解决方案。


技术实现要素:

[0004]
有鉴于此,本发明实施例的目的在于提出一种分布式存储系统的数据恢复方法和装置,能够根据前端业务压力来自适应地调整数据恢复优先级,维护业务正常运转的同时充分利用系统资源完成数据恢复。
[0005]
基于上述目的,本发明实施例的第一方面提供了一种分布式存储系统的数据恢复方法,包括响应于启用数据恢复控制自适应而周期性地执行以下步骤:
[0006]
响应于分布式存储系统前端运行有写入存储设备的业务,而基于每个存储设备相对应的管理进程统计每个存储设备的前端运行写入量;
[0007]
由每个管理进程分别将每个存储设备的前端运行写入量发送到集群监视守护进程以获得分布式存储系统的前端运行总写入量;
[0008]
获取多个数据恢复优先级所对应的写入量阈值,并基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级;
[0009]
基于启用的数据恢复优先级所对应的恢复速度上限而在分布式存储系统中执行存储设备的数据恢复。
[0010]
在一些实施方式中,前端运行写入量、前端运行总写入量、和写入量阈值均包括写入的绝对数据量和写入的对象数量;恢复速度上限包括单位时间恢复的绝对数据量和单位时间恢复的对象数量。
[0011]
在一些实施方式中,多个数据恢复优先级包括低优先级、中优先级、高优先级、和全速;每个数据恢复优先级均设置有预设的写入量阈值,并且低优先级数据恢复的写入量阈值大于中优先级数据恢复的写入量阈值大于高优先级数据恢复的写入量阈值大于全速数据恢复的写入量阈值。
[0012]
在一些实施方式中,基于多个写入量阈值和前端运行总写入量确定启用的数据恢
复优先级包括:
[0013]
响应于前端运行总写入量小于全速数据恢复的写入量阈值,而确定启用全速数据恢复;
[0014]
响应于前端运行总写入量处于全速数据恢复的写入量阈值和高优先级数据恢复的写入量阈值之间,而确定启用高优先级数据恢复;
[0015]
响应于前端运行总写入量处于高优先级数据恢复的写入量阈值和中优先级数据恢复的写入量阈值之间,而确定启用中优先级数据恢复;
[0016]
响应于前端运行总写入量处于中优先级数据恢复的写入量阈值和低优先级数据恢复的写入量阈值之间,而确定启用低优先级数据恢复。
[0017]
在一些实施方式中,方法还包括:响应于前端运行总写入量大于低优先级数据恢复的写入量阈值,而确定停用数据恢复。
[0018]
在一些实施方式中,每个数据恢复优先级均设置有预设的恢复速度上限,并且低优先级数据恢复的恢复速度上限小于中优先级数据恢复的恢复速度上限小于高优先级数据恢复的恢复速度上限小于全速数据恢复的恢复速度上限。
[0019]
在一些实施方式中,数据恢复包括基于冗余数据恢复故障磁盘数据的数据重构、和基于存储设备扩容或缩容的数据平衡。
[0020]
本发明实施例的第二方面提供了一种分布式存储系统的数据恢复装置,包括:
[0021]
处理器;和
[0022]
存储器,存储有处理器可运行的程序代码,程序代码在被运行时响应于启用数据恢复控制自适应而周期性地执行以下步骤:
[0023]
响应于分布式存储系统前端运行有写入存储设备的业务,而基于每个存储设备相对应的管理进程统计每个存储设备的前端运行写入量;
[0024]
由每个管理进程分别将每个存储设备的前端运行写入量发送到集群监视守护进程以获得分布式存储系统的前端运行总写入量;
[0025]
获取多个数据恢复优先级所对应的写入量阈值,并基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级;
[0026]
基于启用的数据恢复优先级所对应的恢复速度上限而在分布式存储系统中执行存储设备的数据恢复。
[0027]
在一些实施方式中,多个数据恢复优先级包括低优先级、中优先级、高优先级、和全速;每个数据恢复优先级均设置有预设的写入量阈值,并且低优先级数据恢复的写入量阈值大于中优先级数据恢复的写入量阈值大于高优先级数据恢复的写入量阈值大于全速数据恢复的写入量阈值;
[0028]
并且,每个数据恢复优先级均设置有预设的恢复速度上限,并且低优先级数据恢复的恢复速度上限小于中优先级数据恢复的恢复速度上限小于高优先级数据恢复的恢复速度上限小于全速数据恢复的恢复速度上限。
[0029]
在一些实施方式中,基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级包括:
[0030]
响应于前端运行总写入量小于全速数据恢复的写入量阈值,而确定启用全速数据恢复;响应于前端运行总写入量处于全速数据恢复的写入量阈值和高优先级数据恢复的写
入量阈值之间,而确定启用高优先级数据恢复;响应于前端运行总写入量处于高优先级数据恢复的写入量阈值和中优先级数据恢复的写入量阈值之间,而确定启用中优先级数据恢复;响应于前端运行总写入量处于中优先级数据恢复的写入量阈值和低优先级数据恢复的写入量阈值之间,而确定启用低优先级数据恢复;还响应于前端运行总写入量大于低优先级数据恢复的写入量阈值,而确定停用数据恢复。
[0031]
本发明具有以下有益技术效果:本发明实施例提供的分布式存储系统的数据恢复方法和装置,通过响应于分布式存储系统前端运行有写入存储设备的业务,而基于每个存储设备相对应的管理进程统计每个存储设备的前端运行写入量;由每个管理进程分别将每个存储设备的前端运行写入量发送到集群监视守护进程以获得分布式存储系统的前端运行总写入量;获取多个数据恢复优先级所对应的写入量阈值,并基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级;基于启用的数据恢复优先级所对应的恢复速度上限而在分布式存储系统中执行存储设备的数据恢复的技术方案,能够根据前端业务压力来自适应地调整数据恢复优先级,维护业务正常运转的同时充分利用系统资源完成数据恢复。
附图说明
[0032]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]
图1为本发明提供的分布式存储系统的数据恢复方法的流程示意图。
具体实施方式
[0034]
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
[0035]
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0036]
基于上述目的,本发明实施例的第一个方面,提出了一种根据前端业务压力来自适应地调整数据恢复优先级的数据恢复方法的一个实施例。图1示出的是本发明提供的分布式存储系统的数据恢复方法的流程示意图。
[0037]
所述的分布式存储系统的数据恢复方法,如图1所示,包括响应于启用数据恢复控制自适应而周期性地执行以下步骤:
[0038]
步骤s101,响应于分布式存储系统前端运行有写入存储设备的业务,而基于每个存储设备相对应的管理进程统计每个存储设备的前端运行写入量;
[0039]
步骤s103,由每个管理进程分别将每个存储设备的前端运行写入量发送到集群监视守护进程以获得分布式存储系统的前端运行总写入量;
[0040]
步骤s105,获取多个数据恢复优先级所对应的写入量阈值,并基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级;
[0041]
步骤s107,基于启用的数据恢复优先级所对应的恢复速度上限而在分布式存储系统中执行存储设备的数据恢复。
[0042]
本发明为每一种恢复优先级设定一组阈值参数,包括数据量阈值/对象个数阈值。通过mon(集群监视守护进程)统计前端业务的写入压力数据,来自动设置系统的数据恢复优先级。当前端业务压力大时,采用较低的数据恢复优先级;当前端业务压力小时,采用较高的数据恢复优先级。
[0043]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
[0044]
在一些实施方式中,前端运行写入量、前端运行总写入量、和写入量阈值均包括写入的绝对数据量和写入的对象数量;恢复速度上限包括单位时间恢复的绝对数据量和单位时间恢复的对象数量。
[0045]
在一些实施方式中,多个数据恢复优先级包括低优先级、中优先级、高优先级、和全速;每个数据恢复优先级均设置有预设的写入量阈值,并且低优先级数据恢复的写入量阈值大于中优先级数据恢复的写入量阈值大于高优先级数据恢复的写入量阈值大于全速数据恢复的写入量阈值。
[0046]
在一些实施方式中,基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级包括:
[0047]
响应于前端运行总写入量小于全速数据恢复的写入量阈值,而确定启用全速数据恢复;
[0048]
响应于前端运行总写入量处于全速数据恢复的写入量阈值和高优先级数据恢复的写入量阈值之间,而确定启用高优先级数据恢复;
[0049]
响应于前端运行总写入量处于高优先级数据恢复的写入量阈值和中优先级数据恢复的写入量阈值之间,而确定启用中优先级数据恢复;
[0050]
响应于前端运行总写入量处于中优先级数据恢复的写入量阈值和低优先级数据恢复的写入量阈值之间,而确定启用低优先级数据恢复。
[0051]
在一些实施方式中,方法还包括:响应于前端运行总写入量大于低优先级数据恢复的写入量阈值,而确定停用数据恢复。
[0052]
在一些实施方式中,每个数据恢复优先级均设置有预设的恢复速度上限,并且低优先级数据恢复的恢复速度上限小于中优先级数据恢复的恢复速度上限小于高优先级数据恢复的恢复速度上限小于全速数据恢复的恢复速度上限。
[0053]
在一些实施方式中,数据恢复包括基于冗余数据恢复故障磁盘数据的数据重构、和基于存储设备扩容或缩容的数据平衡。
[0054]
下面根据具体实施例进一步阐述本发明的具体实施方式。
[0055]
首先添加自适应优先级标识flag(标识),默认为false。提供命令行接口,当用户调用命令设置数据恢复优先级为自适应时,将flag标记为true。当用户设置数据恢复优先级为全速/高/中/低时,将flag标记为false。
[0056]
然后为全速/高/中/低每一种数据恢复优先级添加一组配置,包括数据量/对象个数,通过配置设定每一种数据恢复优先级对应的前端写入阈值。要求从全速到低优先级的阈值大小应从小到大设定。
[0057]
当有业务写入时,osd(存储设备)的管理进程统计写入的数据量/对象个数,上报给mon,mon汇总osd的上报,计算整个集群的业务写入大小。mon判断,如果自适应优先级标识flag为true,则当前端业务的数据量/对象个数都小于全速优先级阈值时,设定数据恢复优先级为全速;否则,当前端业务的数据量/对象个数都小于高优先级阈值时,设定数据恢复优先级为高;否则,当前端业务的数据量/对象个数都小于中优先级阈值时,设定数据恢复优先级为中;否则,设定数据恢复优先级为低。
[0058]
mon根据设定后的数据恢复优先级来计算数据恢复的速度上限,发送给osd。osd根据下发的恢复速度上限,根据自己需要恢复的对象个数和集群需要恢复的对象个数比值和恢复速度上限的乘积来计算自己的数据恢复上限。当一个恢复周期内,数据恢复数据量达到上限后,本周期不再发起数据恢复。
[0059]
从上述实施例可以看出,本发明实施例提供的分布式存储系统的数据恢复方法,通过响应于分布式存储系统前端运行有写入存储设备的业务,而基于每个存储设备相对应的管理进程统计每个存储设备的前端运行写入量;由每个管理进程分别将每个存储设备的前端运行写入量发送到集群监视守护进程以获得分布式存储系统的前端运行总写入量;获取多个数据恢复优先级所对应的写入量阈值,并基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级;基于启用的数据恢复优先级所对应的恢复速度上限而在分布式存储系统中执行存储设备的数据恢复的技术方案,能够根据前端业务压力来自适应地调整数据恢复优先级,维护业务正常运转的同时充分利用系统资源完成数据恢复。
[0060]
需要特别指出的是,上述分布式存储系统的数据恢复方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于分布式存储系统的数据恢复方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0061]
基于上述目的,本发明实施例的第二个方面,提出了一种根据前端业务压力来自适应地调整数据恢复优先级的数据恢复装置的一个实施例。分布式存储系统的数据恢复装置包括:
[0062]
处理器;和
[0063]
存储器,存储有处理器可运行的程序代码,程序代码在被运行时响应于启用数据恢复控制自适应而周期性地执行以下步骤:
[0064]
响应于分布式存储系统前端运行有写入存储设备的业务,而基于每个存储设备相对应的管理进程统计每个存储设备的前端运行写入量;
[0065]
由每个管理进程分别将每个存储设备的前端运行写入量发送到集群监视守护进程以获得分布式存储系统的前端运行总写入量;
[0066]
获取多个数据恢复优先级所对应的写入量阈值,并基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级;
[0067]
基于启用的数据恢复优先级所对应的恢复速度上限而在分布式存储系统中执行存储设备的数据恢复。
[0068]
在一些实施方式中,多个数据恢复优先级包括低优先级、中优先级、高优先级、和全速;每个数据恢复优先级均设置有预设的写入量阈值,并且低优先级数据恢复的写入量阈值大于中优先级数据恢复的写入量阈值大于高优先级数据恢复的写入量阈值大于全速数据恢复的写入量阈值;
[0069]
并且,每个数据恢复优先级均设置有预设的恢复速度上限,并且低优先级数据恢复的恢复速度上限小于中优先级数据恢复的恢复速度上限小于高优先级数据恢复的恢复速度上限小于全速数据恢复的恢复速度上限。
[0070]
在一些实施方式中,基于多个写入量阈值和前端运行总写入量确定启用的数据恢复优先级包括:响应于前端运行总写入量小于全速数据恢复的写入量阈值,而确定启用全速数据恢复;响应于前端运行总写入量处于全速数据恢复的写入量阈值和高优先级数据恢复的写入量阈值之间,而确定启用高优先级数据恢复;响应于前端运行总写入量处于高优先级数据恢复的写入量阈值和中优先级数据恢复的写入量阈值之间,而确定启用中优先级数据恢复;响应于前端运行总写入量处于中优先级数据恢复的写入量阈值和低优先级数据恢复的写入量阈值之间,而确定启用低优先级数据恢复;还响应于前端运行总写入量大于低优先级数据恢复的写入量阈值,而确定停用数据恢复。
[0071]
从上述实施例可以看出,本发明实施例提供的分布式存储系统的数据恢复装置,,通过搭建自动化执行环境;在自动化执行环境中根据测试需求生成结构体,并使用令牌认证结构体以获得配置信息;基于配置信息在自动化执行环境中实例化配置文件;针对对应的配置和负载执行基于配置文件的性能负载测试的技术方案,能够提升测试效率,减少人力投入,降低人为操作错误。
[0072]
需要特别指出的是,上述分布式存储系统的数据恢复装置的实施例采用了所述分布式存储系统的数据恢复方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述分布式存储系统的数据恢复方法的其他实施例中。当然,由于所述分布式存储系统的数据恢复方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述分布式存储系统的数据恢复装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
[0073]
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
[0074]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1