具有多个集群级别的分解式存储制造技术

技术编号:37422082 阅读:15 留言:0更新日期:2023-04-30 09:44
示例实施方式涉及分解式存储系统。示例方法可以包括初始化分解式存储系统中的多个1级(L1)集群,其中,每个L1集群包括多个计算节点。该方法还可以包括选出每个L1集群中的L1领导者节点,以及形成包括该L1领导者节点的2级(L2)集群。该方法可以包括由被包括在L2集群中的L1领导者节点来选出L2领导者节点。的L1领导者节点来选出L2领导者节点。的L1领导者节点来选出L2领导者节点。

【技术实现步骤摘要】
具有多个集群级别的分解式存储

技术介绍

[0001]一些计算系统可以在存储网络中存储和访问数据。存储网络可以包括经由通信介质(例如网络)耦接的一组设备或本文中的“节点”。在一些示例中,每个节点可以包括硬件和软件部件。
附图说明
[0002]关于以下附图描述了一些实施方式。
[0003]图1是根据一些实施方式的示例节点集群的示意图。
[0004]图2是根据一些实施方式的示例过程的图示。
[0005]图3A至图3J是根据一些实施方式的示例系统的图示。
[0006]图4A至图4D是根据一些实施方式的示例操作的图示。
[0007]图5是根据一些实施方式的示例数据结构的图示。
[0008]图6A至图6B是根据一些实施方式的示例计算节点的图示。
[0009]图7是根据一些实施方式的示例过程的图示。
[0010]图8是根据一些实施方式的存储有指令的示例机器可读介质的图。
[0011]图9是根据一些实施方式的示例计算节点的示意图。
[0012]在所有附图中,相同的附图标记指代相似但不一定相同的元件。附图不一定是成比例的,并且一些部分的尺寸可以被放大以更清楚地图示所示的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
[0013]在本公开中,除非上下文另外明确指示,否则使用术语“一个(a)”、“一种(an)”或“该(the)”旨在同样包括复数形式。同样地,当在本公开中使用时,术语“包括(includes/including/comprises/comprising)”或“具有(have/having)”指明存在所陈述的元件,但不排除存在或添加其他元件。
[0014]在一些示例中,分解式存储系统(disaggregated storage system)可以包括经由网络链路耦接的计算节点和存储设备。例如,分解式存储系统可以包括物理存储设备、物理计算节点、一个或多个虚拟存储设备、一个或多个虚拟计算节点、或者一个或多个虚拟存储设备和一个或多个虚拟计算节点的组合。存储设备可以包括或管理任何数量的存储部件以持久地存储数据。每个计算节点可以是可以访问被存储在存储设备中的数据的计算设备(例如,服务器、控制器等)。在一些示例中,存储设备可以共同地提供多个卷(例如,虚拟卷)或其他数据对象(例如,区域、部分、单元、文件)等用于数据存储。在这种示例中,一次只有一个计算节点可以有权限修改任何给定卷的数据(在本文中可以被称为“拥有”或被“被分配”给定卷的计算节点)。虽然本文描述了与卷相关的示例,但是在其他示例中,相应节点可以拥有或被分配本文示例中的分解式存储系统中的任何其他类型的数据对象。然而,这种分解式存储系统的一个潜在问题是高效且可靠地建立关于在给定时间哪些计算节点拥有
分解式存储系统的哪些卷(或其他部分等)的协议。在一些示例中,计算节点可以加入集群,并且集群管理技术可以使用共识技术来操作,以确保在计算节点之间关于卷的所有权达成协议,其中该协议能够承受集群内节点的失效。这种集群管理技术的一个潜在问题是使得共识技术能够在被管理的集群中有相对大量的计算节点时高效地执行,并且能够承受计算节点失效。
[0015]如上所述,在一些示例中,分解式存储系统可以实施基于共识的集群管理技术,以在节点失效的情况下保持集群管理数据的一致性(例如,包括在给定时间哪些计算节点拥有哪些卷的指示)。在一些示例中,一些或所有计算节点可以分组在集群中,并且集群中的计算节点可以进行选举以选择集群的特定计算节点作为集群的领导者。作为集群领导者的计算节点可以负责更新集群的集群管理数据,并负责管理集群管理数据到集群中其他计算节点(本文也称为“跟随者”)的复制。例如,当领导者计算节点(例如,响应于请求)要修改所存储的集群管理数据时,领导者计算节点可以将该修改(或请求)记录在日志条目中,并且可以将日志条目传送给所有跟随者计算节点,从而向跟随者计算节点通知集群管理数据的期望改变。当日志条目由最小百分比的跟随者计算节点确认时(称为“达成共识”),领导者计算节点可以认为日志条目被提交。因此,领导者计算节点然后可以使得对集群管理数据执行期望的修改。
[0016]在一些示例中,增加集群中的计算节点的数量可以提高在失效事件期间或之后至少最小数量的节点仍在运行的可能性,并且可以由此提高集群的容错性。然而,在包括超过特定数量的计算节点(例如,超过七个计算节点)的单个集群中,达成共识的过程可能涉及相对大量的消息,以将日志条目传送给跟随者计算节点并从跟随者计算节点接收确认,从而可能消耗大量的时间和带宽。因此,具有相对大量计算节点的单个集群的性能可能在涉及在计算节点之间达成共识的操作期间受到影响。
[0017]根据本公开的一些实施方式,分解式存储系统可以包括存储设备和被布置在两个或更多个集群级别中的相对大量的计算节点(例如,超过七个计算节点)。计算节点可以被分成多个1级(或本文中的“L1”)集群,其中每个L1集群包括多个计算节点。在每个L1集群中,可以由该L1集群中的计算节点选出L1集群的节点作为L1集群的领导者(本文称为“L1领导者”或“L1领导者节点”)。在一些实施方式中,来自每个L1集群的一个计算节点(例如,L1领导者节点)可以被分组成2级(或本文中的“L2”)集群,其中L2集群中的每个计算节点既是L2集群的节点(或“成员”)也是相应的L1集群的节点(或“成员”)。L2集群的计算节点可以选出L2集群的领导者(本文称为“L2领导者”或“L2领导者节点”)。如上所述,L2集群中的计算节点可以负责维护和更新分解式存储系统的集群管理数据的多个副本。例如,由L2集群的计算节点维护和更新的集群管理数据可以是针对分解式存储系统中的所有计算节点的集群管理数据,或者是L1集群中的计算节点的集群管理数据。例如,由L2集群的计算节点维护的集群管理数据可以指示对于分解式存储系统(和/或L1集群之一中)的所有计算节点,哪些计算节点拥有分解式存储系统的哪些卷(或其他部分)。更新集群管理数据的多个副本可以涉及在L2集群中的计算节点(例如,L1领导者)之间达成共识。在这种实例中,L1集群的剩余计算节点(即,不在L2集群中的计算节点)不参与达成该共识。如此,可以在不涉及L1集群中所有计算节点之间的相对大量的消息的情况下达成共识。在一些示例中,不在L2集群中的L1集群计算节点(例如,L1集群跟随者节点)可以负责选出L1领导者,包括替换在操作期
间失效的任何L1领导者。在一些示例中,L1集群的每个L1领导者可以是L2集群的成员。在这种示例中,L1集群中的跟随者节点可以用于从L1领导者的失效中恢复,从而从L2集群中的计算节点的失效中恢复。以这种方式,L1和L2集群的层次结构可以通过包括相对大量的计算节点来提高分解式存储系统的容错性,但是不会承受与在单个集群中使用相对大量的计算节点相关联的性能损失(即,由于在单个集群中的所有成员节点之间达成共识涉及大量消息)。
[0018]在一些本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:初始化分解式存储系统中的多个1级(L1)集群,其中,每个L1集群包括多个计算节点;对于所述多个L1集群中的每个L1集群,由该L1集群中的多个节点从该L1集群中的所述多个节点中选出L1领导者节点;形成包括所述多个L1集群的所述L1领导者节点的2级(L2)集群;以及由被包括在所述L2集群中的所述L1领导者节点从被包括在所述L2集群中的所述L1领导者节点中选出L2领导者节点。2.如权利要求1所述的方法,包括:由所述L2集群中的所述L1领导者节点将数据写入所述分解式存储系统的至少一个存储设备。3.如权利要求2所述的方法,包括:由所述L2集群中的所述L1领导者节点装配用于将所述数据写入所述至少一个存储设备的文件系统,其中,所述L1集群中的跟随者节点缺少用于写入所述数据的所述文件系统。4.如权利要求2所述的方法,包括:由所述L2领导者节点接收将数据写入所述至少一个存储设备的请求;由所述L2领导者节点将所述请求记录在日志条目中;由所述L2领导者节点将所述日志条目传送给所述L2集群中的其他L1领导者节点;由所述L2领导者节点确定是否所述L2集群的至少最小数量的所述其他L1领导者节点已经确认了所述日志条目;以及响应于确定所述L2集群的至少所述最小数量的所述其他L1领导者节点已经确认了所述日志条目,执行将所述数据写入所述至少一个存储设备的所述请求。5.如权利要求1所述的方法,其中,所述分解式存储系统包括N个集群级别的层次结构,并且其中,N是大于二的整数。6.如权利要求1所述的方法,包括:确定所述L2领导者节点已经失效,其中,所述L2领导者节点被包括在第一L1集群中,并且其中,所述L2集群包括一个或多个仍在运行的L1领导者节点;以及响应于确定所述L2领导者节点已经失效而进行以下操作:由所述一个或多个仍在运行的L1领导者节点选出新的L2领导者节点;在选出所述新的L2领导者节点之后,为所述第一L1集群选出新的L1领导者节点,其中,所述新的L1领导者节点被包括在所述L2集群中。7.如权利要求1所述的方法,包括:确定所述L2集群是否具有法定数量的L1领导者节点;以及响应于确定所述L2集群不具有所述法定数量的L1领导者节点而进行以下操作:在所述L2集群中重新建立所述法定数量的L1领导者;由所述L2集群中的所述法定数量的L1领导者选出新的L2领导者节点。8.如权利要求1所述的方法,包括:确定特定L1集群的特定L1领导者节点已经失效,其中,所述L2领导者节点仍在运行;以及响应于确定所述特定L1领导者节点已经失效而进行以下操作:
由所述特定L1集群的可用计算节点为所述特定L1集群选出新的L1领导者节点,其中,所述新的L1领导者节点被包括在所述L2集群中。9.一种存储有指令的非暂态机器可读介质,所述指令在执行时使处理器进行以下操作:将特定1级(L1)集群加入分解式存储系统中,所述分解式存储系统包括多个L1集群;参与所述特定L1集群的L1领导者节点的选举;响应于被选为所述L1领导者...

【专利技术属性】
技术研发人员:M
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:

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

1