数据恢复方法及分布式存储系统、装置、程序产品与流程
- 国知局
- 2024-07-31 23:19:00
本技术实施例涉及计算机领域,具体而言,涉及一种数据恢复方法及分布式存储系统、装置、程序产品。
背景技术:
1、在相关技术中,分布式存储系统可以有效解决大规模部署集群带来的规模变化、设备变化、数据变化等问题。分布式存储系统具备高可靠性、高自动化和高可扩展性,高可靠性体现在当集群系统出现故障时,能够及时地处理故障,以及能够对受影响的数据进行有效的恢复。分布式存储系统进行数据恢复时,会大量消耗服务器集群的计算、网络和硬盘资源,这对资源的高效利用至关重要。同时,前端业务的顺畅进行也离不开稳定的性能支撑,确保连续访问和写入的顺畅无阻。
2、在面对数据恢复和前端业务需求的冲突时,用户常需做出选择:数据恢复优先还是前端业务优先。数据恢复优先能迅速恢复数据完整性和安全,适合数据安全性要求高的场景。而前端业务优先则更看重实时业务处理的流畅性,适用于需要保障用户体验的场合。相关技术中,缺少自适应数据恢复的模式,不能充分利用物理资源,也不能保障前端业务正常运行的同时,满足后端恢复效率最大化。
技术实现思路
1、本技术实施例提供了一种数据恢复方法及分布式存储系统、装置、程序产品,以至少解决相关技术中分布式存储系统中无法有效进行数据恢复的问题。
2、根据本技术的一个实施例,提供了一种数据恢复方法,应用于分布式存储系统,所述方法包括:在所述分布式存储系统中的osd节点出现故障,且进入与所述osd节点连接的pg节点的对等互联阶段的情况下,设置所述分布式存储系统的集群标识,其中,所述对等互联阶段是所述pg节点与其他pg节点之间建立连接的阶段,所述集群标识用于阻止进入数据恢复阶段,所述数据恢复阶段是在所述pg节点与所述其他pg节点之间建立连接之后恢复所述osd节点中的数据的阶段;确定预设时间段内进入所述对等互联阶段的次数,且在所述次数大于预设次数和/或所述次数未持续增加的情况下,删除所述集群标识,以进入所述数据恢复阶段;在所述数据恢复阶段计算所述分布式存储系统的健康值,其中,所示健康值用于表示所述分布式存储系统处理业务的能力;按照所述健康值执行目标数据操作,以恢复所述osd节点中的数据。
3、在一个示例性实施例中,在所述分布式存储系统中的osd节点出现故障,且进入与所述osd节点连接的pg节点的对等互联阶段的情况下,设置所述分布式存储系统的集群标识,包括:通过网络监控工具实时监控所述分布式存储系统的状态,得到状态信息;在从所述状态信息中确定所述osd节点的进程地图发生变更的情况下,确定所述osd节点出现故障,并进入所述对等互联阶段,其中,所述进程地图是用于管理所述osd节点的存储进程的地图;将所述集群标识添加至所述分布式存储系统中,以阻止进入所述数据恢复阶段。
4、在一个示例性实施例中,确定预设时间段内进入所述对等互联阶段的次数,且在所述次数大于预设次数和/或所述次数未持续增加的情况下,删除所述集群标识,以进入所述数据恢复阶段,包括:在所述预设时间段内持续监控进入所述对等互联阶段的次数;在所述次数大于所述预设次数和/或所述次数未持续增加的情况下,确定在所述预设时间段内出现故障的多个所述osd节点对应的多个所述pg节点均已进入所述对等互联阶段,其中,多个所述osd节点均是待进行数据恢复的节点;确定多个所述osd节点的路径,并解除所述集群标识,以进入所述数据恢复阶段。
5、在一个示例性实施例中,在所述数据恢复阶段计算所述分布式存储系统的健康值,包括:确定所述分布式存储系统的第一数据恢复参数;在按照所述第一数据恢复参数执行所述目标数据操作的过程中,计算所述分布式存储系统的健康值。
6、在一个示例性实施例中,确定所述分布式存储系统的第一数据恢复参数,包括:计算目标回填值,其中,所述目标回填值是所述pg节点执行数据回填操作的参数值;计算目标恢复值,其中,所述目标恢复值是所述pg节点执行数据恢复操作的参数值;基于所述目标回填值和所述目标恢复值确定所述第一数据恢复参数;其中,所述目标数据操作包括所述数据回填操作和/或所述数据恢复操作。
7、在一个示例性实施例中,计算目标回填值,包括:确定所述分布式存储系统中允许用于执行所述数据回填操作的iops资源,其中,所述iops资源用于表示所述分布式存储系统每秒执行所述数据回填操作中的数据回填的次数;计算所述iops资源与需要执行所述数据回填操作的所述pg节点的数量之间的第一比值,以确定每个所述pg节点执行所述数据回填操作时的可用iops资源;确定允许被同时执行所述数据回填操作的所述osd节点的数量,得到第一上限值;利用所述可用iops资源和所述第一上限值确定所述目标回填值。
8、在一个示例性实施例中,计算目标恢复值,包括:确定所述分布式存储系统中允许用于执行所述数据恢复操作的网络带宽资源,其中,所述网络带宽资源用于表示所述分布式存储系统执行所述数据恢复操作时的数据传输能力;计算所述网络带宽资源与所述pg节点中存储的平均数据量之间的第二比值,以确定允许同时执行所述数据恢复操作的所述pg节点的数量;确定同时执行所述数据恢复操作的所述pg节点的数量,得到第二上限值;利用所述pg节点的数量和所述第二上限值确定所述目标恢复值。
9、在一个示例性实施例中,基于所述目标回填值和所述目标恢复值确定所述第一数据恢复参数之后,所述方法还包括:设置所述目标数据操作中数据恢复操作的等待时间为预设时间;设置所述数据恢复操作的优先级为目标优先级;利用所述预设时间和所述目标优先级执行所述数据恢复操作。
10、在一个示例性实施例中,在按照所述第一数据恢复参数执行所述目标数据操作的过程中,计算所述分布式存储系统的健康值,包括:确定所述分布式存储系统的运行状态评分,其中,所述运行状态评分用于表示所述分布式存储系统的运行性能;确定所述分布式存储系统中的所有节点的节点健康总评分,其中,所述节点健康总评分用于表示所述所有节点的运行性能;计算第一比例的所述运行状态评分和第二比例的所述节点健康总评分之间的和值,得到所述健康值。
11、在一个示例性实施例中,确定所述分布式存储系统的运行状态评分,包括:确定在线节点的比例评分值,其中,所述在线节点的比例评分值用于表示所述分布式存储系统中所述在线节点的数量与节点总数量之间的比例关系;基于所述分布式存储系统中的ipos资源值和网络带宽资源值确定所述分布式存储系统的资源健康值;基于所述分布式存储系统中的所述osd节点和所述pg节点确定所述分布式存储系统的节点健康值;基于所述分布式存储系统中的前端业务的ipos资源值和所述前端业务的时延,确定所述分布式存储系统的前端性能评分;计算第三比例的所述比例评分值、所述第三比例的所述资源健康值、所述第三比例的节点健康值以及所述第三比例的所述前端性能评分之间的和值,得到所述运行状态评分。
12、在一个示例性实施例中,基于所述分布式存储系统中的ipos资源值和网络带宽资源值确定所述分布式存储系统的资源健康值,包括:确定所述分布式存储系统中的平均ipos资源和最大ipos资源;计算所述平均ipos资源与所述最大ipos资源的第三比值,并计算所述第三比值与第一预设值之间的乘积,得到所述ipos资源值;确定分布式存储系统的实际网络带宽和最大网络带宽;计算所述实际网络带宽与所述最大网络带宽之间的第四比值,并计算所述第四比值与所述第一预设值之间的乘积,得到所述网络带宽资源值;计算所述ipos资源值和所述网络带宽资源值之间的和值,得到所述资源健康值。
13、在一个示例性实施例中,基于所述分布式存储系统中的所述osd节点和所述pg节点确定所述分布式存储系统的节点健康值,包括:计算所述分布式存储系统中在线osd节点的数量和osd节点总数量之间的第五比值,并计算所述第五比值与第二预设值之间的乘积,得到osd节点健康值;计算所述分布式存储系统中在线pg节点的数量和pg节点总数量之间的第六比值,并计算所述第六比值与所述第二预设值之间的乘积,得到pg节点健康值;计算所述osd节点健康值和所述pg节点健康值之间的和值,得到所述节点健康值。
14、在一个示例性实施例中,基于所述分布式存储系统中的前端业务的ipos资源值和所述前端业务的时延,确定所述分布式存储系统的前端性能评分,包括:计算所述前端业务实际占用的ipos资源和分配至所述前端业务最大的ipos资源之间的第七比值,并计算所述第七比值与第三预设值之间的乘积,得到所述ipos资源值;计算所述前端业务的时延和所述前端业务最大可承受时延之间的第八比值,并计算所述第八比值与所述第三预设值之间的乘积,得到所述时延;计算所述ipos资源值和所述时延之间的和值,得到所述前端性能评分。
15、在一个示例性实施例中,确定所述分布式存储系统中的所有节点的节点健康总评分,包括:利用所述分布式存储系统中的以下信息至少之一确定所述分布式存储系统中每个节点的节点健康评分:所述节点的连接状态,所述节点的cpu使用率,所述节点的内存使用率,所述节点的硬盘健康状态;基于每个所述节点的节点健康评分确定所述节点健康总评分。
16、在一个示例性实施例中,按照所述健康值执行目标数据操作,以恢复所述osd节点中的数据之后,所述方法还包括以下之一:在所述健康值大于第一预设健康值的情况下,确定所述分布式存储系统中的前端业务出现异常,调整所述目标数据操作的操作参数,以使所述前端业务恢复正常;在所述健康值小于第二预设健康值的情况下,确定所述分布式存储系统中包括允许执行所述目标数据操作的剩余资源,调整所述目标数据操作的操作参数,以利用所述剩余资源执行所述目标数据操作;在所述健康值大于第二预设健康值且小于第一预设健康值的情况下,执行所述目标数据操作中的数据恢复操作,以恢复所述osd节点中的数据。
17、根据本技术的另一个实施例,提供了一种分布式存储系统,包括osd节点和pg节点,所述分布式存储系统用于实现上述中所述的方法的步骤。
18、根据本技术的另一个实施例,提供了一种数据恢复装置,应用于分布式存储系统,所述装置包括:第一设置模块,用于在所述分布式存储系统中的osd节点出现故障,且进入与所述osd节点连接的pg节点的对等互联阶段的情况下,设置所述分布式存储系统的集群标识,其中,所述对等互联阶段是所述pg节点与其他pg节点之间建立连接的阶段,所述集群标识用于阻止进入数据恢复阶段,所述数据恢复阶段是在所述pg节点与所述其他pg节点之间建立连接之后恢复所述osd节点中的数据的阶段;第一确定模块,用于确定预设时间段内进入所述对等互联阶段的次数,且在所述次数大于预设次数和/或所述次数未持续增加的情况下,删除所述集群标识,以进入所述数据恢复阶段;第一计算模块,用于在所述数据恢复阶段计算所述分布式存储系统的健康值,其中,所示健康值用于表示所述分布式存储系统处理业务的能力;第一执行模块,用于按照所述健康值执行目标数据操作,以恢复所述osd节点中的数据。
19、根据本技术的又一个实施例,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
20、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
21、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
22、通过本技术,由于应用于分布式存储系统,在osd节点出现故障,且进入与osd节点连接的pg节点的对等互联阶段的情况下,设置分布式存储系统的集群标识,阻止进入数据恢复阶段,并在进入对等互联阶段的次数大于预设次数和/或次数未持续增加的情况下,删除集群标识,以进入数据恢复阶段,在数据恢复阶段计算分布式存储系统的健康值,按照健康值执行目标数据操作,以恢复osd节点中的数据。从而可以减少频繁引入新的pg 对等互联操作计算的可能,避免重复无效的计算消耗,可以充分利用资源进行数据的恢复。因此,可以解决相关技术中分布式存储系统中无法有效进行数据恢复的问题,达到高效利用资源进行数据恢复的效果。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196972.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。