一种分布式块存储系统中数据恢复的方法和装置制造方法及图纸

技术编号:25395993 阅读:33 留言:0更新日期:2020-08-25 23:01
本发明专利技术涉及一种分布式块存储系统中数据恢复的方法和装置,所述分布式块存储系统包括块存储访问客户端、存储服务集群和元数据服务集群,所述存储服务集群包括多个存储服务节点,所述方法包括以下步骤:1)实时监听集群状态,在监听到集群异常时执行步骤2);2)判断是否延迟重构,若是,则延迟设定时间后执行步骤3),若否,则直接执行步骤3);3)构建待恢复数据对象列表;4)根据所述待恢复数据对象列表进行数据恢复;各存储服务节点并行执行上述数据恢复的步骤。与现有技术相比,本发明专利技术具有可提高数据恢复速度,并降低数据恢复对前端应用性能影响等优点。

【技术实现步骤摘要】
一种分布式块存储系统中数据恢复的方法和装置
本专利技术涉及计算机分布式块存储软件系统领域,尤其是涉及一种分布式块存储系统中数据恢复的方法和装置。
技术介绍
分布式块存储系统中,一般均采用副本机制及DHT哈希计算数据存储位置。集群状态改变时,比如节点离线/重新上线、磁盘故障、扩容,部分存储对象的部分数据副本存储位置发生改变,数据恢复模块一般采用主副本Push方式恢复其他副本或者Pull方式从其他可用副本执行恢复,当数据对象副本未恢复时,如果发生前端应用数据访问,一般均需要等待数据对象恢复完后再执行写入操作,这对前端应用数据访问的性能影响是巨大的,可能导致前端应用挂起,服务不可用。前端应用可能只写入4K,而数据对象恢复粒度一般都至少为1M及以上,写放大问题严重,导致在集群异常时写性能可能降低到集群正常时的十分之一水平。同时,存储节点短暂离线后重新上线没有记录增量写数据,每次执行数据恢复的数据量是巨大的,很多未写过的数据均需要重新执行恢复。现有公开技术中,为了减少恢复数据量,在集群异常甚至于集群正常场景均通过JournalLog记录增量写数据,等待JournalLog持久化到存储介质后再执行写入操作,这对前端应用数据访问的性能影响同样是巨大的。为了平衡数据恢复及对前端应用数据访问的,一般通过设置恢复QOS,限制数据恢复的速率降低对前端应用数据访问的影响,但这种设置一般均为静态的,完全可以通过动态的方式提升恢复效率。上述诸多问题在性能敏感性应用场景例如数据库,是完全不可接受的,从而限制了分布式块存储的应用场景,只能应用在边缘业务场景。
技术实现思路
本专利技术的目的在于克服上述现有技术存在的存储集群进行数据恢复过程中的性能问题而提供一种分布式块存储系统中数据恢复的方法和装置。本专利技术的目的可以通过以下技术方案来实现:一种分布式块存储系统中数据恢复的方法,所述分布式块存储系统包括块存储访问客户端、存储服务集群和元数据服务集群,所述存储服务集群包括多个存储服务节点,所述方法包括以下步骤:1)实时监听集群状态,在监听到集群异常时执行步骤2);2)判断是否延迟重构,若是,则延迟设定时间后执行步骤3),若否,则直接执行步骤3);3)构建待恢复数据对象列表;4)根据所述待恢复数据对象列表进行数据恢复;各存储服务节点并行执行上述数据恢复的步骤。进一步地,该方法还包括:动态监测前端应用的数据访问压力,根据所述数据访问压力调节各存储服务节点的恢复并发度。进一步地,基于设定的最低并发度调节所述各存储服务节点的恢复并发度。进一步地,在发生集群异常时,记录写入请求的数据对象的对象ID,加入Dirty数据对象列表,以所述Dirty数据对象列表作为所述待恢复数据对象列表。进一步地,所述待恢复数据对象列表还包括设定时间内的数据对象列表。进一步地,对于计划内的集群状态变更,根据配置增加临时副本,将所述临时加入到对应节点的待恢复数据对象列表。进一步地,构建完成所述待恢复数据对象列表时,同时执行故障副本的数据恢复和所有可用数据对象副本的写入操作。进一步地,通过心跳网络监听所述集群状态。进一步地,所述数据恢复具体为:从其他存储服务节点读取副本数据恢复到本地存储服务节点;处于数据恢复状态的数据对象,若有前端应用的读写请求,则产生需前端应用请求pending的提示信息,直至数据对象完成数据恢复;处于数据恢复状态的数据对象,若有前端应用的写请求,则等待写请求完成,解锁数据对象后再进行恢复。本专利技术还提供一种分布式块存储系统中数据恢复的装置,所述分布式块存储系统包括块存储访问客户端、存储服务集群和元数据服务集群,所述存储服务集群包括多个存储服务节点,所述装置包括恢复管理器,该恢复管理器执行所述的方法的步骤。与现有技术相比,本专利技术具有如下有益效果:1、本专利技术解决了上述存储集群进行数据恢复过程中的性能问题,从而保证了天玑分布式块存储在客户核心数据库应用场景的性能要求及落地部署实施,可提高数据恢复速度,并降低数据恢复对前端应用性能影响。2、本专利技术无需通过Journallog方式记录所有增量写入数据,避免写Journallog导致的前端应用数据访问性能下降的问题。3、本专利技术动态监测前端应用的数据访问压力,根据前端应用的数据访问压力动态地调整数据恢复速率,降低数据恢复对前端应用数据访问的影响;同时也可以配置最低恢复并发度,避免出现前端应用数据访问压力一直很大,数据恢复时间很长,加大出现二次故障导致数据丢失的风险。4、本专利技术在进行数据恢复时,仅恢复dirty的数据对象,clean的数据对象无需进行恢复,从而加快数据恢复速度。5、本专利技术Dirty数据对象列表仅在内存中保存,不进行持久化到存储介质,从而极大避免了持久化带来的前端应用额外的数据访问延时。6、本专利技术集群正常工作时,无需记录Dirty数据对象列表,仅仅在集群发生异常时才开始记录,从而避免了集群正常时记录Dirty数据对象带来的前端应用数据访问额外延时,集群恢复正常清除Dirty数据对象列表,停止记录。7、本专利技术在特定状态恢复场景,比如节点短暂离线重新上线,仅从Dirty数据对象列表执行恢复,避免存储服务节点单节点容量巨大时出现的增量恢复时各存储服务节点构建数据对象恢复列表耗时达几十分钟级问题,有效缩短数据恢复时间。8、本专利技术当存储服务节点完成构建待恢复数据对象列表,如果前端应用需要写入存储副本不全的数据对象时,无需等待故障副本数据恢复完成后再执行写入操作,而是写入当前所有可用数据对象副本,从而极大降低了存储系统异常执行恢复时对前端应用数据访问的性能影响。9、本专利技术当发生节点离线、磁盘故障等存储集群事件,数据恢复不会马上进行,会根据设定值延迟一段时间再启动数据恢复,避免因节点短暂离线后又重新上线导致的不必要的数据重新分布。10、本专利技术对于计划内的升级、节点维护或者磁盘替换,可临时将涉及的数据对象副本提升副本冗余度,等数据重分布完成后,再移除相应节点或磁盘,避免数据可用副本数的降低,提高存储数据可靠性。附图说明图1为本专利技术应用的分布式块存储系统示意图;图2为本专利技术的数据恢复流程示意图;图3为本专利技术分布式块存储系统数据恢复状态读请求处理流程;图4为本专利技术分布式块存储系统数据恢复状态写请求处理流程。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。本实施例提供一种分布式块存储系统中数据恢复的方法,当集群出现节点离线、磁盘故障等事件导致数据可用副本不足时,将根据存储集群最新状态以合理的速率将数据可用副本恢复到正常水平。如图1所示,该方法应用的分布式块存储系统包括块存储访问客户端、存储服务集群本文档来自技高网
...

【技术保护点】
1.一种分布式块存储系统中数据恢复的方法,其特征在于,所述分布式块存储系统包括块存储访问客户端、存储服务集群和元数据服务集群,所述存储服务集群包括多个存储服务节点,所述方法包括以下步骤:/n1)实时监听集群状态,在监听到集群异常时执行步骤2);/n2)判断是否延迟重构,若是,则延迟设定时间后执行步骤3),若否,则直接执行步骤3);/n3)构建待恢复数据对象列表;/n4)根据所述待恢复数据对象列表进行数据恢复;/n各存储服务节点并行执行上述数据恢复的步骤。/n

【技术特征摘要】
1.一种分布式块存储系统中数据恢复的方法,其特征在于,所述分布式块存储系统包括块存储访问客户端、存储服务集群和元数据服务集群,所述存储服务集群包括多个存储服务节点,所述方法包括以下步骤:
1)实时监听集群状态,在监听到集群异常时执行步骤2);
2)判断是否延迟重构,若是,则延迟设定时间后执行步骤3),若否,则直接执行步骤3);
3)构建待恢复数据对象列表;
4)根据所述待恢复数据对象列表进行数据恢复;
各存储服务节点并行执行上述数据恢复的步骤。


2.根据权利要求1所述的分布式块存储系统中数据恢复的方法,其特征在于,还包括:
动态监测前端应用的数据访问压力,根据所述数据访问压力调节各存储服务节点的恢复并发度。


3.根据权利要求2所述的分布式块存储系统中数据恢复的方法,其特征在于,基于设定的最低并发度调节所述各存储服务节点的恢复并发度。


4.根据权利要求1所述的分布式块存储系统中数据恢复的方法,其特征在于,在发生集群异常时,记录写入请求的数据对象的对象ID,加入Dirty数据对象列表,以所述Dirty数据对象列表作为所述待恢复数据对象列表。


5.根据权利要求4所述的分布式块存储系统中数据恢复的方法,其特征在于,所述待恢复数据对象列表还包括设定时间内...

【专利技术属性】
技术研发人员:童文飞康亮苏玉军叶磊孙洪标
申请(专利权)人:上海天玑科技股份有限公司上海天玑数据技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1