System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别是涉及一种数据恢复方法、装置、设备和存储介质。
技术介绍
1、分布式存储就是将存储数据分散存储在多个存储服务器上并将这些分散的存储资源构成一个虚拟的存储设备,为了提高数据安全性,通常会采用多副本策略即将同一份数据复制多份并保存在多个主机上;相关技术中,当多台主机同时掉多块盘时就会出现部分数据对象副本全部丢失情况,由于当前分布式存储系统中挂载磁盘逻辑均将磁盘以新盘挂载,即在挂载前进行磁盘格式化操作,磁盘掉盘再挂载,磁盘上的数据无法找回,此时系统向外正常提供服务,当数据读写操作访问到已丢失的数据对象时,就会出现数据读写不返回或者阻塞情况,影响业务的正常工作。
技术实现思路
1、鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据恢复方法、装置、设备和存储介质。
2、为了解决上述问题,本专利技术公开了一种检测方法,应用于服务器,所述服务器中设置有分布式存储系统,所述分布式存储系统包括多个节点,所述节点包括至少一个磁盘;所述方法包括:
3、当所述多个节点中不同节点上的磁盘发生掉线时,确定其他节点中未掉线的目标磁盘,所述目标磁盘中包含掉线磁盘中的数据对象的副本;
4、将所述目标磁盘中存储的副本,恢复至所述掉线磁盘所在的节点的剩余磁盘中;
5、将所述掉线磁盘中包含的数据类型最多的磁盘确定为待挂载磁盘,并将所述待挂载磁盘挂载至对应的节点中;
6、当所述待挂载磁盘挂载完
7、可选地,所述分布式存储系统包括键值存储服务数据库;所述将所述待挂载磁盘挂载至对应的节点中,包括:
8、获取所述待挂载磁盘的通用唯一识别码和路径信息,将所述通用唯一识别码和路径信息存储至所述键值存储服务数据库中;
9、根据所述通用唯一识别码确定发生磁盘掉线的节点中所述待挂载磁盘所在的存储位置;
10、从所述路径信息读取所述待挂载磁盘中存储的数据对象,将待挂载磁盘中存储的数据对象添加至所述待挂载磁盘所在的存储位置。
11、可选地,所述根据所述待挂载磁盘中的数据对象,对剩余的掉线磁盘中所在的节点中的数据对象进行恢复的步骤之前,还包括:
12、获取所述待挂载磁盘中存储的数据对象中,与所述待挂载磁盘所在节点的剩余磁盘中已恢复的数据对象对应的目标数据对象;
13、获取所述目标数据对象的版本号和所述已恢复的数据对象的版本号;
14、判断所述目标数据对象的版本号是否大于所述已恢复的数据对象的版本号;
15、若所述目标数据对象的版本号大于所述已恢复的数据对象的版本号,则将所述已恢复的数据对象从所述剩余磁盘中删除;
16、若所述目标数据对象的版本号小于或等于所述已恢复的数据对象的版本号,则将所述目标数据对象从所述待挂载磁盘中删除,并确定所述已恢复的数据对象在发生磁盘掉线的节点中的原始存储磁盘,若所述原始存储磁盘与所述已恢复的数据对象对应的磁盘不同,则将所述已恢复的数据对象迁移至所述原始存储磁盘。
17、可选地,所述确定所述已恢复的数据对象在发生磁盘掉线的节点中的原始存储磁盘,包括:
18、通过二层哈希函数确定所述已恢复的数据对象在发生磁盘掉线的节点中的原始存储磁盘。
19、可选地,所述根据所述待挂载磁盘中的数据对象,对剩余的掉线磁盘中所在的节点中的数据对象进行恢复,包括:
20、确定集群中需要添加数据对象的目标节点;
21、根据所述目标节点未恢复的数据对象,确定所述待挂载磁盘中需要进行备份的数据对象;
22、将所述需要进行数据备份的数据对象复制至所述目标节点的任一磁盘中。
23、可选地,所述确定集群中需要添加数据对象的目标节点,包括:
24、通过一层哈希函数确定集群中剩余的掉线磁盘所在的节点中需要添加数据对象的节点。
25、可选地,所述将所述目标磁盘中存储的副本,恢复至所述掉线磁盘所在的节点的剩余磁盘中,包括:
26、当所述目标磁盘包括多个掉线磁盘的数据对象的副本时,将所述多个掉线磁盘的数据对象的副本,分别从所述目标磁盘复制至所述多个掉线磁盘所在节点的剩余磁盘中。
27、本专利技术还公开了一种数据恢复装置,应用于服务器,所述服务器中设置有分布式存储系统,所述分布式存储系统包括多个节点,所述节点包括至少一个磁盘;所述装置包括:
28、确定模块,当所述多个节点中不同节点上的磁盘发生掉线时,确定其他节点中未掉线的目标磁盘,所述目标磁盘中包含掉线磁盘中的数据对象的副本;
29、第一恢复模块,用于将所述目标磁盘中存储的副本,恢复至所述掉线磁盘所在的节点的剩余磁盘中;
30、挂载模块,用于将所述掉线磁盘中包含的数据类型最多的磁盘确定为待挂载磁盘,并将所述待挂载磁盘挂载至对应的节点中;
31、第二恢复模块,用于当所述待挂载磁盘挂载完成后,根据所述待挂载磁盘中的数据对象,对剩余的掉线磁盘中所在的节点中的数据对象进行恢复。
32、本专利技术还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的数据恢复方法的步骤。
33、本专利技术还公开了一种非易失性可读存储介质,所述非易失性可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的数据恢复方法的步骤。
34、本专利技术实施例包括以下优点:
35、本专利技术公开了一种检测方法,本专利技术通过当多个节点中不同节点上的磁盘发生掉线时,集群将目标磁盘中存储的副本恢复至掉线磁盘所在的节点的剩余磁盘中,再通过待挂载磁盘进行挂载,在挂载完成后再对剩余的掉线磁盘中所在的节点中的数据对象进行恢复,本专利技术通过在待挂载磁盘挂载完成后进行节点间的数据均衡以及集群间的数据均衡,通过本方法可以保证在集群中多副本数据同时丢失的情况下,找回数据副本,保证集群中的数据完整性,以确保用户数据在意外场景下能够找回并完成修复。
本文档来自技高网...【技术保护点】
1.一种数据恢复方法,其特征在于,应用于服务器,所述服务器中设置有分布式存储系统,所述分布式存储系统包括多个节点,所述节点包括至少一个磁盘;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述分布式存储系统包括键值存储服务数据库;所述将所述待挂载磁盘挂载至对应的节点中,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述待挂载磁盘中的数据对象,对剩余的掉线磁盘中所在的节点中的数据对象进行恢复的步骤之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述确定所述已恢复的数据对象在发生磁盘掉线的节点中的原始存储磁盘,包括:
5.根据权利要求3所述的方法,其特征在于,所述根据所述待挂载磁盘中的数据对象,对剩余的掉线磁盘中所在的节点中的数据对象进行恢复,包括:确定集群中需要添加数据对象的目标节点;
6.根据权利要求5所述的方法,其特征在于,所述确定集群中需要添加数据对象的目标节点,包括:
7.根据权利要求1所述的方法,其特征在于,所述将所述目标磁盘中存储的副本,恢复至所述掉线磁盘所在的节点的
8.一种数据恢复装置,其特征在于,应用于服务器,所述服务器中设置有分布式存储系统,所述分布式存储系统包括多个节点,所述节点包括至少一个磁盘;所述装置包括:
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的数据恢复方法的步骤。
10.一种非易失性可读存储介质,其特征在于,所述非易失性可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的数据恢复方法的步骤。
...【技术特征摘要】
1.一种数据恢复方法,其特征在于,应用于服务器,所述服务器中设置有分布式存储系统,所述分布式存储系统包括多个节点,所述节点包括至少一个磁盘;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述分布式存储系统包括键值存储服务数据库;所述将所述待挂载磁盘挂载至对应的节点中,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述待挂载磁盘中的数据对象,对剩余的掉线磁盘中所在的节点中的数据对象进行恢复的步骤之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述确定所述已恢复的数据对象在发生磁盘掉线的节点中的原始存储磁盘,包括:
5.根据权利要求3所述的方法,其特征在于,所述根据所述待挂载磁盘中的数据对象,对剩余的掉线磁盘中所在的节点中的数据对象进行恢复,包括:确定集群中需要添加数据对象的目标节点;
【专利技术属性】
技术研发人员:徐正阳,
申请(专利权)人:郑州浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。