一种基于分布式块存储的副本数据恢复方法和系统技术方案

技术编号:35680880 阅读:25 留言:0更新日期:2022-11-23 14:23
本发明专利技术公开一种基于分布式块存储的副本数据恢复方法和系统,其中,副本数据恢复方法包括:副本管理服务器获取多个存储服务器的维护状态信息;副本管理服务器根据维护状态信息判断存储服务器在预定时段内是否持续处于维护模式;若存储服务器持续处于维护模式,则判断处于维护模式的存储服务器是否流入IO数据;若存储服务器未流入IO数据,则禁止向存储服务器对应的非活跃副本下发数据恢复命令;或者若处于维护模式的存储服务器流入IO数据,则控制存储服务器记录维护期间内副本的IO数据增量;当存储服务器退出维护模式时,存储服务器根据IO数据增量恢复副本。本发明专利技术的技术方案能解决现有技术中对网络和磁盘带来压力,存在副本缺失风险的问题。失风险的问题。失风险的问题。

【技术实现步骤摘要】
一种基于分布式块存储的副本数据恢复方法和系统


[0001]本专利技术涉及分布式块存储
,尤其涉及一种基于分布式块存储的副本数据恢复方法和系统。

技术介绍

[0002]分布式块存储,是将数据分散存储在多台独立的服务器的技术。因为传统的网络存储系统采用集中单独的存储服务器存放所有数据,所以存储服务器就成为了系统性能的瓶颈,难以满足大规模存储应用的需要。为了实现数据的大规模存储,分布式块存储系统应运而生。分布式块存储系统采用可扩展的系统架构,利用多台存储服务器分担存储负荷,利用副本管理服务进行副本分配,恢复和迁移,它不但能提高系统的可靠性、可用性和存取效率,还易于扩展。
[0003]通常情况下,分布式块存储提供了虚拟机卷供用户使用,用户可以通过存储协议(如iSCSI等)将虚拟机卷挂载到虚拟机或者计算节点。分布式块存储系统一般将虚拟卷划分成若干个小数据块,以方便管理;每个小数据块代表一个合适的物理空间大小(比如64MB/256MB)。分布式块存储系统中通过副本管理服务维护小数据块的状态信息,并且副本管理服务和存储服务一道实现小数据块的IO路由。为了实现小数据块的高效访问,分布式块存储会将小数据块的元数据信息存储到副本管理服务的内存中,因此小数据块所代表的数据空间不会太小,过小意味着需要占用大量内存。为了解决上述问题,必须采用合适的存储方式存储小数据块。
[0004]小数据块可以采用多种方式存储,其中一种常见的方式是多副本的存储方式。该存储方式能够避免某个副本所在的存储服务器异常(例如磁盘故障、系统瘫痪及网络失联等)而引起的副本异常,比如2个分布于不同存储服务器的副本,在丢失了1个副本的情况下还能够进行IO。当小数据块的部分副本异常时,需要进行数据恢复。在该多副本的存储方式中,副本管理服务下发一个数据恢复命令给存储服务,存储服务接收到数据恢复命令后从剩余的健康副本中读取整个小数据块的信息写入到一个新的副本,当写入完成后小数据块的副本数恢复到期望副本数。
[0005]在小数据块的多副本的存储方式中,经常需要运维人员维护存储节点,在维护过程中可能会涉及到存储节点上存储服务的停机重启,当小数据块的副本处于以下两种情况下,副本管理服务认为副本异常,进而引发数据恢复:1.副本所在的存储节点处于维护中,由于存储节点的维护时间长(比如超过10min),导致副本管理服务认为存储节点失联,从而引发副本的数据恢复;2.有IO下发到维护中的存储节点,会因为IO错误而导致副本剔除,从而引发数据恢复。
[0006]因为小数据块的颗粒度,如果设置的太小,例如4KB/256KB等等,副本管理服务要处理的数据块数量将非常巨大,这会给副本管理服务带来很大的压力(通常是内存空间),因此实际上数据块颗粒度通常都会设置的稍微大,例如64MB/256MB,这对于计划内的存储节点的维护行为可能会带过长的数据恢复耗时:
[0007]1.维护时间长、而且无IO的副本也下发数据恢复命令,给网络和磁盘带来额外的压力;
[0008]2.维护期间有IO的副本,即便只在数据块内做少量更新也需要完整恢复整个小数据块,总体数据恢复时间过长,客户和运维人员需要花费很多时间去等待数据恢复,同时小数据块长期处在副本缺失的风险状态。

技术实现思路

[0009]本专利技术提供一种基于分布式块存储的副本数据恢复方法和系统,旨在解决现有技术中维护时间长、而且无IO的副本也下发数据恢复命令,给网络和磁盘带来额外的压力;维护期间有IO的副本,即便只在数据块内做少量更新也需要完整恢复整个小数据块,总体数据恢复时间过长,客户和运维人员需要花费很多时间去等待数据恢复,同时小数据块长期处在副本缺失的风险状态的问题。
[0010]为实现上述目的,根据本专利技术的第一方面,本专利技术提出了一种基于分布式块存储的副本数据恢复方法,用于分布式块存储系统,其中,分布式块存储系统包括副本管理服务器和多个存储服务器;数据恢复方法包括:
[0011]副本管理服务器获取多个存储服务器的维护状态信息;
[0012]副本管理服务器根据维护状态信息,判断存储服务器在预定时段内是否持续处于维护模式;
[0013]副本管理服务器若判定存储服务器持续处于维护模式,则判断处于维护模式的存储服务器是否流入IO数据;
[0014]副本管理服务器若判定处于维护模式的存储服务器未流入IO数据,则禁止向存储服务器对应的非活跃副本下发数据恢复命令;或者,
[0015]副本管理服务器若判定处于维护模式的存储服务器流入IO数据,则控制存储服务器记录维护期间内副本的IO数据增量;
[0016]当存储服务器退出维护模式时,存储服务器根据IO数据增量恢复副本。
[0017]优选的,上述副本数据恢复方法中,判断处于维护模式的存储服务器是否流入IO数据的步骤包括:
[0018]副本管理服务器实时检测多个存储服务器流入的IO数据量;
[0019]当存储服务器的维护期间内,副本管理服务器若未检测到任一存储服务器流入IO数据量时,则判定处于维护模式的存储服务器未流入IO数据;
[0020]副本管理服务器检测到存在存储服务器流入IO数据量时,则判定处于维护模式的存储服务器流入IO数据。
[0021]优选的,上述副本数据恢复方法中,禁止向存储服务器对应的非活跃副本下发数据恢复命令的步骤包括:
[0022]当存储服务器在预定时段内持续处于维护模式时,存储服务器标记对应副本为非活跃副本;
[0023]副本管理服务器实时扫描各个存储服务器对应副本;
[0024]当副本管理服务器检测到存在副本为非活跃副本、且非活跃副本对应的存储服务器处于维护模式时,副本管理服务器禁止向非活跃副本下发数据恢复命令。
[0025]优选的,上述副本数据恢复方法中,控制存储服务器记录维护期间内副本的IO数据增量的步骤包括:
[0026]处于维护模式的存储服务器向副本管理服务器发送IO异常信号,以使副本管理服务器标记存储服务器对应的副本为异常副本;
[0027]副本管理服务器计算维护期间内健康副本流入的IO数据量,作为异常副本的IO数据增量;
[0028]副本管理服务器控制存储服务器记录异常副本的数据版本。
[0029]优选的,上述副本数据恢复方法中,存储服务器根据IO数据增量恢复副本的步骤包括:
[0030]当存储服务器退出维护模式时,副本管理服务器向存储服务器下发数据恢复命令;
[0031]存储服务器当接收到数据恢复命令时,检测异常副本的数据版本,判断检测到的数据版本与记录的数据版本是否匹配;
[0032]存储服务器若判定数据版本匹配,则使用健康副本流入的IO数据量写入异常副本。
[0033]优选的,上述副本数据恢复方法中,存储服务器根据IO数据增量恢复副本的步骤之前还包括:
[0034]副本管理服务器获取所有副本的数量;
[0035]当副本的数量小于或等于预设数量阈值时,副本管理服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分布式块存储的副本数据恢复方法,其特征在于,用于分布式块存储系统,其中,所述分布式块存储系统包括副本管理服务器和多个存储服务器;所述数据恢复方法包括:所述副本管理服务器获取所述多个存储服务器的维护状态信息;所述副本管理服务器根据所述维护状态信息,判断存储服务器在预定时段内是否持续处于维护模式;所述副本管理服务器若判定所述存储服务器持续处于维护模式,则判断处于维护模式的所述存储服务器是否流入IO数据;所述副本管理服务器若判定所述处于维护模式的所述存储服务器未流入IO数据,则禁止向所述存储服务器对应的非活跃副本下发数据恢复命令;或者,所述副本管理服务器若判定所述处于维护模式的所述存储服务器流入IO数据,则控制所述存储服务器记录维护期间内副本的IO数据增量;当所述存储服务器退出维护模式时,所述存储服务器根据所述IO数据增量恢复所述副本。2.根据权利要求1所述的副本数据恢复方法,其特征在于,所述判断处于维护模式的所述存储服务器是否流入IO数据的步骤,包括:所述副本管理服务器实时检测所述多个存储服务器流入的IO数据量;当所述存储服务器的维护期间内,所述副本管理服务器若未检测到任一存储服务器流入IO数据量时,则判定所述处于维护模式的存储服务器未流入IO数据;所述副本管理服务器检测到存在存储服务器流入IO数据量时,则判定所述处于维护模式的存储服务器流入IO数据。3.根据权利要求1或2所述的副本数据恢复方法,其特征在于,所述禁止向所述存储服务器对应的非活跃副本下发数据恢复命令的步骤,包括:当所述存储服务器在所述预定时段内持续处于维护模式时,所述存储服务器标记对应副本为非活跃副本;所述副本管理服务器实时扫描各个存储服务器对应副本;当所述副本管理服务器检测到存在副本为非活跃副本、且所述非活跃副本对应的存储服务器处于维护模式时,所述副本管理服务器禁止向所述非活跃副本下发数据恢复命令。4.根据权利要求1所述的副本数据恢复方法,其特征在于,所述控制所述存储服务器记录维护期间内副本的IO数据增量的步骤,包括:所述处于维护模式的存储服务器向所述副本管理服务器发送IO异常信号,以使所述副本管理服务器标记所述存储服务器对应的副本为异常副本;所述副本管理服务器计算所述维护期间内健康副本流入的IO数据量,作为所述异常副本的IO数据增量;所述副本管理服务器控制所述存储服务器记录所述异常副本的数据版本。5.根据权利要求4所述的副本数据恢复方法,其特征在于,所述存储服务器根据所述IO数据增量恢复所述副本的步骤包括:当所述存储服务器退出维护模式时,所述副本管理服务器向所述存储服务器下发数据恢复命令;
所述存储服务器当接收到所述数据恢复命令时,检测所述异...

【专利技术属性】
技术研发人员:朱伟鹏徐文豪王弘毅张凯
申请(专利权)人:北京志凌海纳科技有限公司
类型:发明
国别省市:

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

1