一种分布式集群超冗余对象的标记方法及设备技术

技术编号:36209381 阅读:44 留言:0更新日期:2023-01-04 12:05
本申请公开了一种分布式集群超冗余对象的标记方法及设备,包括:在所述分布式集群的存储介质状态更新的情况下,根据集群的最小冗余策略判断是否发生超冗余;在发生超冗余的情况下,在更新集群pool map的同时,发布一张fault map,以基于所述fault map持久化,且所述fault map仅在退出超冗余的情况下,清除;基于所述fault map,调用对象到存储介质的路由算法,以确定发生超冗余的对象。本申请实施例通过对集群存储介质状态打快照,实现准确标识超冗余,有效地减少了对内存资源的需求。有效地减少了对内存资源的需求。有效地减少了对内存资源的需求。

【技术实现步骤摘要】
一种分布式集群超冗余对象的标记方法及设备


[0001]本申请涉及分布式存储
,尤其涉及一种分布式集群超冗余对象的标记方法及设备。

技术介绍

[0002]保证数据一致性是存储系统的基本要求,而在存储集群系统中若是无法准确的甄别出超冗余状态对象,就会导致客户端获取到不可靠数据,以及无法保证冗余副本间数据一致性,最终影响都是引入数据不一致问题。
[0003]如图1所示,传统的分布式存储系统,将超冗余信息放在归置组(placement group,PG)上面。用户数据对象根据hash算法归属一个PG,PG再根据路由算法按照设定的冗余策略映射到具体的存储介质,在存储服务端也是以PG粒度管理集群对象。
[0004]PG层记录下了映射存储介质的历史变迁。当集群存在服务器/存储介质状态变化,所有的PG均触发查看历史变迁记录,确认是否存在某些记录,映射到的介质全体故障,即发生了PG处于超冗余状态。超冗余状态的PG状态将更新为相应的状态,而非超冗余状态PG将可能新增一条变迁记录备后续检查。
[0005]现有的方案中,每个PG在其映射到的每一个存储介质上都会生成一个实例,并且PG所有信息常驻内存,并且持久化。首当其冲的是需要占用大量内存。为了减少内存以及网络带宽资源消耗,对PG信息维护方便,PG信息通常会避免同步给管理面或者客户端。带来的不足就是,客户端无法直接感知到需要操作的数据对象是否归属于一个超冗余状态的PG——而是服务端返回相应错误码后才得以获取到该信息,客户端存在滞后感知超冗余对象。
专利技术内容
[0006]本申请实施例提供一种分布式集群超冗余对象的标记方法及设备,避免引入PG,以克服其导致的各种大量资源需求的技术问题,对集群存储介质状态打快照,实现准确标识超冗余,有效地减少了对内存资源的需求。
[0007]本申请实施例提供一种分布式集群超冗余对象的标记方法,包括:
[0008]在所述分布式集群的存储介质状态更新的情况下,根据集群的最小冗余策略判断是否发生超冗余;
[0009]在发生超冗余的情况下,在更新集群pool map的同时发布一张fault map,以基于所述faultmap持久化,且所述fault map仅在退出超冗余的情况下,清除;
[0010]基于所述fault map,调用对象到存储介质的路由算法,以确定发生超冗余的对象。
[0011]可选的,基于所述fault map,调用对象到存储介质的路由算法,以确定发生超冗余的对象包括:
[0012]基于所述fault map,调用对象到存储介质的路由算法,若任一对象映射到的所有
存储介质均为故障状态,则判断所述任一对象发生超冗余;
[0013]在判断所述任一对象发生超冗余之后,标记所述任一对象的超冗余状态。
[0014]可选的,在标记所述任一对象的超冗余状态之后,禁止操作所述任一对象。
[0015]可选的,还包括在所述fault map中关联的故障存储介质状态恢复正常的情况下,清除所述faultmap。
[0016]本申请实施例还提出一种计算机设备,包括处理器被配置为:
[0017]在所述分布式集群的存储介质状态更新的情况下,根据集群的最小冗余策略判断是否发生超冗余;
[0018]在发生超冗余的情况下,在更新集群pool map的同时发布一张fault map,以基于所述faultmap持久化,且所述fault map仅在退出超冗余的情况下,清除;
[0019]基于所述fault map,调用对象到存储介质的路由算法,以确定发生超冗余的对象。
[0020]可选的,所述处理器被配置为:
[0021]基于所述fault map,调用对象到存储介质的路由算法,若任一对象映射到的所有存储介质均为故障状态,则判断所述任一对象发生超冗余;
[0022]在判断所述任一对象发生超冗余之后,标记所述任一对象的超冗余状态。
[0023]可选的,所述处理器被配置为:
[0024]在标记所述任一对象的超冗余状态之后,禁止操作所述任一对象。
[0025]可选的,在所述faultmap中关联的故障存储介质状态恢复正常的情况下,清除所述faultmap。
[0026]本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的分布式集群超冗余对象的标记方法的步骤。
[0027]为了避免引入PG,以克服其导致的各种大量资源需求的技术问题,本申请实施例通过对集群存储介质状态打快照,实现准确标识超冗余,有效地减少了对内存资源的需求。
[0028]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0029]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0030]图1为传统的分布式存储系统超冗余信息标记示例;
[0031]图2为本申请实施例Faultmap生成逻辑流程示例;
[0032]图3为本申请实施例的标记超冗余对象逻辑流程示例。
具体实施方式
[0033]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开
的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0034]本申请实施例提供一种分布式集群超冗余对象的标记方法,如图2所示,包括:
[0035]在步骤S201中,在所述分布式集群的存储介质状态更新的情况下,根据集群的最小冗余策略判断是否发生超冗余。在具体实施中,最小冗余策略可以根据常用冗余策略设置,利用分布式集群的最小冗余策略可以初步判断集群的存储介质是否发生了超冗余,本示例中的存储介质可以是磁盘,硬盘,CDROM等用以记录信息的媒介。
[0036]在步骤S202中,在发生超冗余的情况下,在更新集群最新的pool map的同时,发布一张faultmap,以基于所述fault map持久化,且所述fault map仅在退出超冗余的情况下,清除。其中所述pool map是指对集群系统拓扑结构进行描述的元数据。一种简单的pool map示例,例如集群系统的层级结构是集群

机架

服务器节点

存储介质,pool map用以记录下集群下包含哪些机架,每个机架下面有哪些服务器节点,每个节点下搭载有哪些存储介质的信息。所述fault 本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式集群超冗余对象的标记方法,其特征在于,包括:在所述分布式集群的存储介质状态更新的情况下,根据集群的最小冗余策略判断是否发生超冗余;在发生超冗余的情况下,在更新集群pool map的同时,发布一张fault map,以基于所述fault map持久化,且所述fault map仅在退出超冗余的情况下,清除;基于所述fault map,调用对象到存储介质的路由算法,以确定发生超冗余的对象。2.如权利要求1所述的分布式集群超冗余对象的标记方法,其特征在于,基于所述fault map,调用对象到存储介质的路由算法,以确定发生超冗余的对象包括:基于所述fault map,调用对象到存储介质的路由算法,若任一对象映射到的所有存储介质均为故障状态,则判断所述任一对象发生超冗余;在判断所述任一对象发生超冗余之后,标记所述任一对象的超冗余状态。3.如权利要求2所述的分布式集群超冗余对象的标记方法,其特征在于,在标记所述任一对象的超冗余状态之后,禁止操作所述任一对象。4.如权利要求1所述的分布式集群超冗余对象的标记方法,其特征在于,还包括在所述fault map中关联的故障存储介质状态恢复正常的情况下,清除所述fault map。5.一种计算机设备,其特征在于,包括处...

【专利技术属性】
技术研发人员:王昭荣余攀马宁
申请(专利权)人:中电云数智科技有限公司
类型:发明
国别省市:

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

1