用于存储的方法、装置及存储系统制造方法及图纸

技术编号:37674734 阅读:30 留言:0更新日期:2023-05-26 04:38
本说明书实施例提供用于存储的方法、装置及存储系统,其中所述方法应用于故障处理节点,所述存储系统包括多个存储节点,所述存储节点用于存储数据块,所述数据块的至少两个副本分别存储于不同的存储节点,所述方法包括:获取多个存储节点的元数据,元数据包括数据块与存储位置之间的映射关系;当监测到第一存储节点故障时,暂停对第一存储节点的读写访问,当监测到第一存储节点恢复正常时,利用元数据,检测第一存储节点中的数据是否完整;如果不完整,利用元数据,将缺失的数据块的副本从其他存储节点传输到第一存储节点;当第一存储节点中的数据完整的情况下,恢复对第一存储节点的读写访问。点的读写访问。点的读写访问。

【技术实现步骤摘要】
用于存储的方法、装置及存储系统


[0001]本说明书实施例涉及计算机
,特别涉及一种用于存储的方法。

技术介绍

[0002]在存储集群中,存储节点存在出现故障的概率,因此,存储集群存在需要下线、维修、再次上线的故障节点。目前,当存储节点出现故障时,通常需要先将存储节点下线,完成维修后,将所有存储盘格式化,重新安装操作系统。之后,再按照一个新的存储节点扩容进入存储集群,存储集群再向新上线的存储节点注入全量数据。
[0003]随着存储节点配置的硬盘数目逐渐增大,硬盘的容量增长,存储节点出现故障而下线维修时,所影响的数据量及维修时间均因单机存储容量增大而变得显著。由于维修时间长,恢复数据量大,增大了系统可用性和数据一致性出现故障的风险。

技术实现思路

[0004]有鉴于此,本说明书实施例提供了一种用于存储的方法。本说明书一个或者多个实施例同时涉及一种用于存储的装置,一种存储系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0005]根据本说明书实施例的第一方面,提供了一种存储系统,包括:一个或多个故障处理节点以及多个存储节点;所述存储节点,被配置为用于存储数据块,所述数据块的至少两个副本分别存储于不同的存储节点;所述故障处理节点,被配置为获取所述多个存储节点的元数据,所述元数据包括所述数据块与存储位置之间的映射关系,当监测到第一存储节点故障时,暂停对所述第一存储节点的读写访问,所述第一存储节点为所述多个存储节点中的任意存储节点,当监测到所述第一存储节点恢复正常时,利用所述元数据,检测所述第一存储节点中的数据是否完整,如果不完整,利用所述元数据,将缺失的数据块的副本从其他存储节点传输到所述第一存储节点,当所述第一存储节点中的数据完整的情况下,恢复对所述第一存储节点的读写访问。
[0006]根据本说明书实施例的第二方面,提供了一种用于存储的方法,应用于存储系统中的故障处理节点,所述存储系统还包括多个存储节点,所述存储节点用于存储数据块,所述数据块的至少两个副本分别存储于不同的存储节点,所述方法包括:获取所述多个存储节点的元数据,所述元数据包括所述数据块与存储位置之间的映射关系;当监测到第一存储节点故障时,暂停对所述第一存储节点的读写访问,所述第一存储节点为所述多个存储节点中的任意存储节点;当监测到所述第一存储节点恢复正常时,利用所述元数据,检测所述第一存储节点中的数据是否完整;如果不完整,利用所述元数据,将缺失的数据块的副本从其他存储节点传输到所述第一存储节点;当所述第一存储节点中的数据完整的情况下,恢复对所述第一存储节点的读写访问。
[0007]根据本说明书实施例的第三方面,提供了一种用于存储的装置,配置于存储系统中的故障处理节点,所述存储系统还包括多个存储节点,所述存储节点用于存储数据块,所
述数据块的至少两个副本分别存储于不同的存储节点,所述装置包括:元数据获取模块,被配置为获取所述多个存储节点的元数据,所述元数据包括所述数据块与存储位置之间的映射关系;故障处理模块,被配置为当监测到第一存储节点故障时,暂停对所述第一存储节点的读写访问,所述第一存储节点为所述多个存储节点中的任意存储节点;数据检测模块,被配置为当监测到所述第一存储节点恢复正常时,利用所述元数据,检测所述第一存储节点中的数据是否完整;数据传输模块,被配置为如果数据检测模块确定不完整,利用所述元数据,将缺失的数据块的副本从其他存储节点传输到所述第一存储节点;访问恢复模块,被配置为当所述第一存储节点中的数据完整的情况下,恢复对所述第一存储节点的读写访问。
[0008]根据本说明书实施例的第四方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述用于存储的方法的步骤。
[0009]根据本说明书实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述用于存储的方法的步骤。
[0010]根据本说明书实施例的第六方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述用于存储的方法的步骤。
[0011]本说明书一个实施例实现了用于存储的方法,该方法应用于存储系统中的故障处理节点,所述存储系统还包括多个存储节点,所述存储节点用于存储数据块,所述数据块的至少两个副本分别存储于不同的存储节点,由于故障处理节点获取所述多个存储节点的元数据,所述元数据包括所述数据块与存储位置之间的映射关系,当监测到第一存储节点故障时,暂停对所述第一存储节点的读写访问,所述第一存储节点为所述多个存储节点中的任意存储节点,当监测到所述第一存储节点恢复正常时,利用所述元数据,检测所述第一存储节点中的数据是否完整,如果不完整,利用所述元数据,将缺失的数据块的副本从其他存储节点传输到所述第一存储节点,当所述第一存储节点中的数据完整的情况下,恢复对所述第一存储节点的读写访问。可见,根据该方法,存储系统中的故障处理节点能够快速利用元数据检测从故障恢复正常的存储节点是否需补齐数据,如果是,则通过后台存储节点间副本复制的方式快速将数据对齐,以确保数据一致性与存储高可用,避免了直接格式化所有存储盘的粗粒度流程,降低了复制数据量,缩短了上线所经历的故障恢复时间,并节省了大量数据复制所引发的存储读写及网络传输等可观开销,保证了存储集群的性能稳定性。
附图说明
[0012]图1是本说明书一个实施例提供的一种用于存储的方法的应用场景示意图;
[0013]图2是本说明书一个实施例提供的一种用于存储的方法的流程图;
[0014]图3是本说明书一个实施例提供的元数据的示意图;
[0015]图4a是本说明书一个实施例提供的读请求处理过程示意图;
[0016]图4b是本说明书一个实施例提供的写请求处理过程示意图;
[0017]图4c是本说明书一个实施例提供的存储节点补齐数据的示意图;
[0018]图5是本说明书一个实施例提供的一种用于存储的方法的处理过程流程图;
[0019]图6是本说明书另一个实施例提供的一种用于存储的方法的处理过程流程图;
[0020]图7是本说明书一个实施例提供的一种用于存储的装置的结构示意图;
[0021]图8是本说明书一个实施例提供的一种存储系统的结构示意图;
[0022]图9是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0023]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0024]在本说明书一个或更多的实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储系统,包括:一个或多个故障处理节点以及多个存储节点;所述存储节点,被配置为用于存储数据块,所述数据块的至少两个副本分别存储于不同的存储节点;所述故障处理节点,被配置为获取所述多个存储节点的元数据,所述元数据包括所述数据块与存储位置之间的映射关系,当监测到第一存储节点故障时,暂停对所述第一存储节点的读写访问,所述第一存储节点为所述多个存储节点中的任意存储节点,当监测到所述第一存储节点恢复正常时,利用所述元数据,检测所述第一存储节点中的数据是否完整,如果不完整,利用所述元数据,将缺失的数据块的副本从其他存储节点传输到所述第一存储节点,当所述第一存储节点中的数据完整的情况下,恢复对所述第一存储节点的读写访问。2.根据权利要求1所述的系统,所述故障处理节点为用于维护所述多个存储节点的元数据的元数据节点。3.一种用于存储的方法,应用于存储系统中的故障处理节点,所述存储系统还包括多个存储节点,所述存储节点用于存储数据块,所述数据块的至少两个副本分别存储于不同的存储节点,所述方法包括:获取所述多个存储节点的元数据,所述元数据包括所述数据块与存储位置之间的映射关系;当监测到第一存储节点故障时,暂停对所述第一存储节点的读写访问,所述第一存储节点为所述多个存储节点中的任意存储节点;当监测到所述第一存储节点恢复正常时,利用所述元数据,检测所述第一存储节点中的数据是否完整;如果不完整,利用所述元数据,将缺失的数据块的副本从其他存储节点传输到所述第一存储节点;当所述第一存储节点中的数据完整的情况下,恢复对所述第一存储节点的读写访问。4.根据权利要求3所述的方法,还包括:当监测到第一存储节点故障时,维持所述第一存储节点面向前端应用的在线状态。5.根据权利要求3或4所述的方法,所述当监测到第一存储节点故障时,暂停对所述第一存储节点的读写访问,包括:在所述第一存储节点故障的情况下,当接收到对所述第一存储节点中存储的第一数据块的读请求时,根据所述元数据,查找出所述第一数据块的副本在其他存储节点上的存储位置;从所述第一数据块的副本在其他存储节点上的存储位置,读取出所述第一数据块的副本。6.根据权利要求3或4所述的方法,当监测到第一存储节点故障时,暂停对所述第一存储节点的读写访问,包括:在所述第一存储节点故障的情况下,当接收到写请求时,从所述多个存储节点中其他正常的存储节点中选择存储节点,基于多副本机制存储所述写请求对应的数据。7.根据权利要求6所述的方法,还包括:在所...

【专利技术属性】
技术研发人员:李舒
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1