一种分布式存储系统的元数据同步方法、系统及设备技术方案

技术编号:36330349 阅读:52 留言:0更新日期:2023-01-14 17:39
本申请提供了一种分布式存储系统的元数据同步方法、系统及设备,本申请通过共识协议集群确定元数据服务主节点和元数据服务从节点;在发生元数据变更时,利用元数据服务主节点将元数据变更操作封装成变更操作日志;将变更操作日志按序写入共识协议集群的segment;在写入成功后,将变更操作日志及其对应的元数据更新到元数据主节点的本地存储引擎中;当共识协议集群中有新的segment被创建或间隔预设时长时,按照预设同步规则将变更操作日志及其对应的元数据同步到元数据服务从节点的本地存储引擎中。本申请元数据服务可以直接从本地存储引擎读取元数据,不需要经过网络调用和共识过程,降低了延时,提高了同步效率。提高了同步效率。提高了同步效率。

【技术实现步骤摘要】
一种分布式存储系统的元数据同步方法、系统及设备


[0001]本申请涉及数据存储
,尤其涉及一种分布式存储系统的元数据同步方法、系统及设备。

技术介绍

[0002]分布式存储系统通过网络将多台独立的服务器连接在一起组成分布式集群,并将集群内各台服务器的机械磁盘、固态硬盘等存储资源组成资源池进行统一管理和对外服务。分布式存储系统通常从存储资源池中分配出虚拟卷,iSCSI LUN、文件等存储对象提供给存储使用方,而一个虚拟卷或者文件的数据容量可能比单独一台服务器上的全部存储容量还要大。例如,一个虚拟卷64TB,而集群内单独一台服务器上的物理磁盘容量仅32TB。为了支持数据量超过单独一台服务器的存储容量的虚拟卷,分布式存储系统会将虚拟卷或者文件等存储对象再划分为更细粒度的数据分片,例如将一个64TB的卷划分成多个256MB、4MB或1M等固定的小尺寸数据分片,并将数据分片放置到集群内多台服务器中,这样一个存储对象就能利用多台服务器的存储资源。为了数据安全和提高读性能,分布式存储系统通常还会基于数据分片做数据冗余,一般用副本技术或者纠删码技术。以副本技术为例,假设副本数是3,分布式存储系统从统一资源池中分配出一个较大的存储对象,将这个存储对象划分成多个更细颗粒度的数据分片,并以一定的策略将每个数据分片的3个副本分配到集群内3台不同的服务器上。为了对卷或者文件这类数据对象进行正常的数据读写,就得知道所需的数据在该数据对象的哪个数据分片,以及相应的数据分片有哪些副本,这些副本分别在哪几台服务器上。这类定位数据的信息是分布式存储系统的重要元数据。另外,分布式存储系统的元数据信息还包括文件、目录属性、组成集群的数据节点信息等。
[0003]元数据对分布式存储系统至关重要,如果元数据丢失可能造成分布式存储系统的业务数据无法访问,对用户的业务造成重大影响。因此这类元数据通常也会采用集群的方式(多副本等)进行持久化存储。此外,分布式存储系统对元数据的一致性要求非常严格,不能容忍数据不一致,因此对元数据进行更新时需要确保集群中各个服务器保存的元数据是强一致的。
[0004]目前业界的分布式存储系统对元数据的存储大多采用多副本存储的机制,为了确保元数据多副本的一致性,常用的方式为基于Paxos/Raft分布式一致性算法实现副本同步,整个元数据的访问都采用分布式共识机制完成(例如直接使用etcd、zookeeper或cassandra托管全部的元数据,直接通过这样的共识读写元数据),在这个模式中,数据访问都需要经历共识过程,更新元数据时只能先写入主节点,并将元数据更新同步到大多数从节点后才能返回更新成功,读的时候也需要经过Raft模块的Leader提供数据。
[0005]直接基于分布式一致性协议实现的元数据同步机制存在的主要问题是,元数据的查询相对代价较大。共识协议集群通常仅提供Key

value粒度的单个尺度对象查询,而每个对象查询都是相对独立的动作,都需要经过共识确认的过程,在进行范围查询或者较为复杂的包含数据语义的条件查询时,就需要以较大的代价获取较多的数据结果再进行二次拆
分。其中每个小对象的查询根据具体共识算法的不同都需要经历共识过程,耗费的时间较高。而在分布式存储系统中,元数据读请求的频率通常情况下也远大于写请求。因此元数据读请求的性能对分布式存储的性能至关重要。

技术实现思路

[0006]本申请实施例的目的在于提供一种分布式存储系统的元数据同步方法、系统及设备,以解决目前元数据同步效率低,且元数据读请求性能低的问题。具体技术方案如下:
[0007]第一方面,提供了一种分布式存储系统的元数据同步方法,所述方法包括:
[0008]通过共识协议集群确定元数据服务主节点和元数据服务从节点;
[0009]在发生元数据变更时,利用所述元数据服务主节点将元数据变更操作封装成变更操作日志;
[0010]将所述变更操作日志按序写入所述共识协议集群的segment;
[0011]在写入成功后,将所述变更操作日志及其对应的元数据更新到元数据主节点的本地存储引擎中;
[0012]当所述共识协议集群中有新的segment被创建或间隔预设时长时,按照预设同步规则将所述变更操作日志及其对应的元数据同步到所述元数据服务从节点的本地存储引擎中。
[0013]可选地,所述通过共识协议集群确定元数据服务主节点和元数据服务从节点,包括:
[0014]在共识协议集群的同一个目录中为每个元数据服务节点创建一个node,并按照创建时间排序;
[0015]将排在首位的node对应的元数据服务节点确定为元数据服务主节点,其他的则确定为元数据服务从节点。
[0016]可选地,所述方法还包括:
[0017]当所述元数据服务主节点发生故障或网络分区时,删除代表所述元数据服务主节点的node;
[0018]将当前排在首位的node对应的元数据服务节点确定为新的元数据服务主节点。
[0019]可选地,所述预设同步规则为:
[0020]在元数据服务从节点的本地存储引擎中获取最新的变更操作日志序号;
[0021]从共识协议集群中拉去所有的segment信息;
[0022]根据所述segment内部第一个变更操作日志的序号将所有的segment进行排序;
[0023]找到第一个不小于所述最新的变更操作日志序号的segment;
[0024]判断该segment是否是最后一个,且该segment的第一个日志的序号大于所述最新的变更操作日志序号;
[0025]若是,则将该segment的上一个segment作为目标segment;
[0026]若否,则将该segment作为目标segment;
[0027]从目标segment开始,同步所有segment的变更操作日志。
[0028]可选地,在按照预设同步规则将所述变更操作日志及其对应的元数据同步到所述元数据服务从节点的本地存储引擎中后,所述方法还包括:
[0029]通过排在首位的node对应的元数据服务从节点对共识协议集群中已经同步到各元数据服务从节点的变更操作日志进行回收处理。
[0030]可选地,所述排在首位的node对应的元数据服务从节点会定时执行变更操作日志回收操作。
[0031]可选地,所述方法还包括:
[0032]当有新的元数据服务节点加入共识协议集群时,从其他元数据服务节点的本地存储引擎中同步全量元数据。
[0033]第二方面,本申请提供一种分布式存储系统的元数据同步系统,所述系统包括:
[0034]确定单元,用于通过共识协议集群确定元数据服务主节点和元数据服务从节点;
[0035]封装单元,用于在发生元数据变更时,利用所述元数据服务主节点将元数据变更操作封装成变更操作日志;
[0036]写入单元,用于将所述变更操作日志按序写入所述共识协议集群的segment本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式存储系统的元数据同步方法,其特征在于,所述方法包括:通过共识协议集群确定元数据服务主节点和元数据服务从节点;在发生元数据变更时,利用所述元数据服务主节点将元数据变更操作封装成变更操作日志;将所述变更操作日志按序写入所述共识协议集群的segment;在写入成功后,将所述变更操作日志及其对应的元数据更新到元数据主节点的本地存储引擎中;当所述共识协议集群中有新的segment被创建或间隔预设时长时,按照预设同步规则将所述变更操作日志及其对应的元数据同步到所述元数据服务从节点的本地存储引擎中。2.根据权利要求1所述的方法,其特征在于,所述通过共识协议集群确定元数据服务主节点和元数据服务从节点,包括:在共识协议集群的同一个目录中为每个元数据服务节点创建一个node,并按照创建时间排序;将排在首位的node对应的元数据服务节点确定为元数据服务主节点,其他的则确定为元数据服务从节点。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述元数据服务主节点发生故障或网络分区时,删除代表所述元数据服务主节点的node;将当前排在首位的node对应的元数据服务节点确定为新的元数据服务主节点。4.根据权利要求1所述的方法,其特征在于,所述预设同步规则为:在元数据服务从节点的本地存储引擎中获取最新的变更操作日志序号;从共识协议集群中拉去所有的segment信息;根据所述segment内部第一个变更操作日志的序号将所有的segment进行排序;找到第一个不小于所述最新的变更操作日志序号的segment;判断该segment是否是最后一个,且该segment的第一个日志的序号大于所述最新的变更操作日志序号;若是,则将该segment的上一个segment作为目标segment;若否,则将该segment作为目标segment;从目标segment开始,同步所有segment的变...

【专利技术属性】
技术研发人员:罗杰彬徐文豪王弘毅张凯
申请(专利权)人:北京志凌海纳科技有限公司
类型:发明
国别省市:

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

1