分布式文件系统的元数据恢复方法、装置、设备及介质制造方法及图纸

技术编号:31756365 阅读:30 留言:0更新日期:2022-01-05 16:39
本申请公开了一种分布式文件系统的元数据恢复方法、装置、设备及介质,包括:当监测到元数据更新故障事件,则获取目标文件在本地中对应的当前已保存元数据,所述当前已保存元数据为用于记录文件存储位置信息以及文件大小的元数据;基于所述当前已保存元数据中的文件存储位置信息以及第一文件存储池和/或第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复。通过本申请的上述技术方案,保证了目标文件中的元数据存储位置信息以及文件大小与实际元数据一致,避免了因故障导致的数据不准确,提高了分布式文件系统的稳定性和可靠性。分布式文件系统的稳定性和可靠性。分布式文件系统的稳定性和可靠性。

【技术实现步骤摘要】
分布式文件系统的元数据恢复方法、装置、设备及介质


[0001]本专利技术涉及分布式存储集群领域,特别涉及一种分布式文件系统的元数据恢复方法、装置、设备及介质。

技术介绍

[0002]MDS(Metadata Server,元数据服务器),用于缓存文件系统元数据,提供元数据的各种访问操作。在分布式存储集群中,文件写数据和更新元数据异步分离,即写完数据之后不立即更新元数据,而是异步更新。当客户端没有将新的文件大小等元数据信息及时更新到元数据服务器时,如果客户端模块所在的节点发生断电或宕机,此时会导致元数据服务器记录的文件大小等元数据信息不准确,系统可靠性低。
[0003]综上可见,如何提高分布式文件系统的稳定性和可靠性是目前有待解决的问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种分布式文件系统的元数据恢复方法、装置、设备及介质,能够提高分布式文件系统的稳定性和可靠性。其具体方案如下:
[0005]第一方面,本申请公开了一种分布式文件系统的元数据恢复方法,应用于元数据服务器,包括:
[0006]当监测到元数据更新故障事件,则获取目标文件在本地中对应的当前已保存元数据;所述当前已保存元数据为用于记录文件存储位置信息以及文件大小的元数据,并且,所述目标文件为预先已保存在所述分布式文件系统的第一文件存储池和/或第二文件存储池中的文件,其中,若所述目标文件的文件大小类型在文件写入前已被确定为大文件类型,则通过所述第一文件存储池保存所述目标文件,并将相应的元数据异步更新至所述元数据服务器,若所述目标文件的文件大小类型在文件写入前无法被确定,则利用所述第二文件存储池中的预设存储空间对所述目标文件进行保存,如果所述预设存储空间不足,则将所述目标文件的剩余文件部分保存至所述第一文件存储池,并将相应的元数据异步更新至所述元数据服务器;
[0007]基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;
[0008]利用所述实际元数据对所述当前已保存元数据进行更新恢复。
[0009]可选的,所述基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复,包括:
[0010]如果所述当前已保存元数据中的所述文件存储位置信息表征所述目标文件对应的文件存储池数量为1个,则对所述第一文件存储池进行数据读取以确定所述目标文件的实际文件大小;
[0011]判断所述当前已保存元数据中的文件大小是否与所述目标文件的实际文件大小一致,如果否则利用所述目标文件的实际文件大小对所述当前已保存元数据中的文件大小进行更新恢复。
[0012]可选的,所述基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复,包括:
[0013]如果所述当前已保存元数据中的所述文件存储位置信息表征所述目标文件对应的文件存储池数量为2个,则判断所述分布式文件系统的第二文件存储池中是否存在与所述目标文件对应的数据;
[0014]如果所述第二文件存储池中存在与所述目标文件对应的数据,则对所述第二文件存储池进行数据读取以确定所述目标文件在所述第二文件存储池中的文件部分的第一实际文件大小,并判断所述第一实际文件大小是否小于预设存储空间的大小;
[0015]如果所述第一实际文件大小小于所述预设存储空间的大小,则判断所述当前已保存元数据中的文件大小是否与所述第一实际文件大小一致,如果否则利用所述第一实际文件大小对所述当前已保存元数据中的文件大小进行更新恢复。
[0016]可选的,所述基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复,包括:
[0017]如果所述当前已保存元数据中的所述文件存储位置信息表征所述目标文件对应的文件存储池数量为2个,则判断所述分布式文件系统的第二文件存储池中是否存在与所述目标文件对应的数据;
[0018]如果所述第二文件存储池中存在与所述目标文件对应的数据,则对所述第二文件存储池进行数据读取以确定所述目标文件在所述第二文件存储池中的文件部分的第一实际文件大小,并判断所述第一实际文件大小是否小于预设存储空间的大小;
[0019]如果所述第一实际文件大小不小于所述预设存储空间的大小,则对所述第一文件存储池进行数据读取以确定所述目标文件在所述第一文件存储池中的文件部分的第二实际文件大小,并基于所述第一实际文件大小和所述第二实际文件大小对所述当前已保存元数据中的文件大小进行更新恢复。
[0020]可选的,所述基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复,包括:
[0021]如果所述当前已保存元数据中的所述文件存储位置信息表征所述目标文件对应的文件存储池数量为2个,则判断所述分布式文件系统的第二文件存储池中是否存在与所述目标文件对应的数据;
[0022]如果所述第二文件存储池中不存在与所述目标文件对应的数据,则判断所述第一文件存储池中是否存在与所述目标文件对应的数据;
[0023]如果所述第一文件存储池中存在与所述目标文件对应的数据,则对所述第一文件存储池进行数据读取以确定所述目标文件的实际文件大小,并判断所述当前已保存元数据中的文件大小是否与所述目标文件的实际文件大小一致,如果否则利用所述目标文件的实
际文件大小对所述当前已保存元数据中的文件大小进行更新恢复,以及对所述当前已保存元数据中的文件存储位置信息进行更新,以使得更新后的文件存储位置信息用于表征所述目标文件对应的文件存储池数量为1个以及所述目标文件对应的文件存储池类型为所述第一文件存储池。
[0024]可选的,所述基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复,包括:
[0025]如果所述当前已保存元数据中的所述文件存储位置信息表征所述目标文件对应的文件存储池数量为2个,则判断所述分布式文件系统的第二文件存储池中是否存在与所述目标文件对应的数据;
[0026]如果所述第二文件存储池中不存在与所述目标文件对应的数据,则判断所述第一文件存储池中是否存在与所述目标文件对应的数据;
[0027]如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式文件系统的元数据恢复方法,其特征在于,应用于元数据服务器,包括:当监测到元数据更新故障事件,则获取目标文件在本地中对应的当前已保存元数据;所述当前已保存元数据为用于记录文件存储位置信息以及文件大小的元数据,并且,所述目标文件为预先已保存在所述分布式文件系统的第一文件存储池和/或第二文件存储池中的文件,其中,若所述目标文件的文件大小类型在文件写入前已被确定为大文件类型,则通过所述第一文件存储池保存所述目标文件,并将相应的元数据异步更新至所述元数据服务器,若所述目标文件的文件大小类型在文件写入前无法被确定,则利用所述第二文件存储池中的预设存储空间对所述目标文件进行保存,如果所述预设存储空间不足,则将所述目标文件的剩余文件部分保存至所述第一文件存储池,并将相应的元数据异步更新至所述元数据服务器;基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复。2.根据权利要求1所述的分布式文件系统的元数据恢复方法,其特征在于,所述基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复,包括:如果所述当前已保存元数据中的所述文件存储位置信息表征所述目标文件对应的文件存储池数量为1个,则对所述第一文件存储池进行数据读取以确定所述目标文件的实际文件大小;判断所述当前已保存元数据中的文件大小是否与所述目标文件的实际文件大小一致,如果否则利用所述目标文件的实际文件大小对所述当前已保存元数据中的文件大小进行更新恢复。3.根据权利要求1所述的分布式文件系统的元数据恢复方法,其特征在于,所述基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际元数据对所述当前已保存元数据进行更新恢复,包括:如果所述当前已保存元数据中的所述文件存储位置信息表征所述目标文件对应的文件存储池数量为2个,则判断所述分布式文件系统的第二文件存储池中是否存在与所述目标文件对应的数据;如果所述第二文件存储池中存在与所述目标文件对应的数据,则对所述第二文件存储池进行数据读取以确定所述目标文件在所述第二文件存储池中的文件部分的第一实际文件大小,并判断所述第一实际文件大小是否小于预设存储空间的大小;如果所述第一实际文件大小小于所述预设存储空间的大小,则判断所述当前已保存元数据中的文件大小是否与所述第一实际文件大小一致,如果否则利用所述第一实际文件大小对所述当前已保存元数据中的文件大小进行更新恢复。4.根据权利要求1所述的分布式文件系统的元数据恢复方法,其特征在于,所述基于所述当前已保存元数据中的文件存储位置信息以及所述第一文件存储池和/或所述第二文件存储池中与所述目标文件对应的数据,确定出所述目标文件的实际元数据;利用所述实际
元数据对所述当前已保存元数据进行更新恢复,包括:如果所述当前已保存元数据中的所述文件存储位置信息表征所述目标文件对应的文件存储池数量为2个,则判断所述分布式文件系统的第二文件存储池中是否存在与所述目标文件对应的数据;如果所述第二文件存储池中存在与所述目标文件对应的数据,则对所述第二文件存储池进行数据读取以确定所述目标文件在所述第二文件存储池中的文件部分的第一实际文件大小,并判断所述第一实际文件大小是否小于预设存储空间的大小;如果所述第一实际文件大小不小于所述预设存储空间的大小,则对所述第一文件存储池进行数据读取以确定所述目标文件在所述第一文件存储池中的文件部分的第二实际文件大小,并基于所述第一实际文件大小和所述第二实际文件大小对所述当前已保存元数据中的文件大小进行更...

【专利技术属性】
技术研发人员:孙业宽孟祥瑞
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1