一种低成本的多集群仲裁系统的制作方法

文档序号:24392554发布日期:2021-03-23 11:28阅读:93来源:国知局
一种低成本的多集群仲裁系统的制作方法

本实用新型涉及多集群管理技术领域,尤其涉及一种低成本的多集群仲裁系统。



背景技术:

在去中心化的高可用存储或计算集群中,为保证集群可以正常对外提供服务,需要使用高可用技术,以保证集群可以稳定运行。在集群提供服务的过程中,会因各种(但不仅限于)问题导致集群故障,如网络波动,节点故障等。通常集群使用仲裁投票确定集群与节点的健康情况,或使故障自动转移,或使集群离线。

标准仲裁:默认情况下,集群中的每一个节点都是集群的仲裁节点,每个节点都拥有投票权。对于n个节点的集群,在集群正常运行时,每个节点都会有n票,集群发生节点故障后,每个节点都只能收到正常节点数m票。如果m<n/2,则整个集群发生故障。

为了提高允许集群中节点故障数量,则需使用外部仲裁技术。目前外部仲裁有文件仲裁和硬盘仲裁两种方式,结合标准仲裁,可分为三种仲裁方式:

(1)、节点加共享文件仲裁:该方案中,需要将远程文件共享配置为一个投票见证,该共享文件称为仲裁文件。使用仲裁文件,远程文件拥有投票权,如果其他节点能够连接到所述共享文件,则集群可以获取该票。如果正常的节点和仲裁文件票数满足标准仲裁条件,则认为集群状态正常。

(2)、节点加磁盘仲裁:与节点加共享文件仲裁方案类似,需要将共享文件替换为一个共享磁盘,该共享磁盘称为仲裁磁盘。仲裁硬盘需要共享存储,集群中各个节点都需要挂载同一个共享磁盘。

(3)、仅磁盘仲裁:该方案中没有标准仲裁配置,仅仅把一个共享的磁盘作为唯一见证,集群中的任何一个节点都能访问该共享磁盘。

现有技术存在以下缺点:

(1)、采用节点和文件共享多数与节点和磁盘多数这两种方案,需要额外的节点配置共享文件或共享磁盘,配置过程复杂且容易出错。所述配置方案配置固定,共享文件和磁盘固定为集群提供一票。

(2)、上述两种方案中,当共享文件和磁盘出现故障时,相当于一个物理节点出现错误。假设集群中有三个节点和一个仲裁磁盘,当仲裁磁盘发生故障,为满足标准仲裁条件,故不允许其他节点发生故障,此方案起到负面效果。

(3)、仅磁盘仲裁方案中,可以维持一个节点之外所有节点的故障,但当仲裁磁盘发生故障时,集群就会停止服务。

因此,现有技术存在问题,需要进一步改进。



技术实现要素:

针对现有技术存在的问题,本实用新型提供一种低成本的多集群仲裁系统。本实用新型旨在提供一种低成本的多个集群仲裁方案、系统及设备,通过增加外部仲裁设备,提高集群的高可用性和稳定性。允许集群承受比标准仲裁规则所允许的更多的节点故障,有效的解决集群中节点故障(包括但不限于网络故障,硬件损坏等)导致剩余节点不能提供服务的问题。

为实现上述目的,本实用新型的具体技术方案如下:

一种低成本的多集群仲裁系统,包括:若干集群、及外部仲裁装置,各集群之间相互独立,外部仲裁装置分别与所有集群相连;

所述外部仲裁装置根据各集群的投票数按预定策略分别提供投票,以保证当所述集群中的节点发生故障时,未发生故障的节点和外部仲裁装置一起可以满足标准仲裁,保证集群正常提供服务。

可选的,所述预定策略为:外部仲裁装置通过网络服务为各集群提供m票,其中,0<m≤n-1,n为集群所包含的节点数。

进一步地,所述预定策略为:偶数节点会提供一票,即m=1,奇数节点会提供n-1票,即为m=n-1。

其中,当所述集群中半数或以上节点发生故障时,仲裁装置或系统会为集群提供额外的投票,当所述集群中正常的节点提供的票数加上所述仲裁装置提供的票数再次大于n/2,集群可以正常的提供服务。

进一步地,若所述集群出现脑裂,则从当前脑裂集群选取一个子集群,为该子集群提供投票,未被选择的子集群将从集群中剔除。

可选的,从当前脑裂集群中选取一个子集群的策略为:

从当前脑裂集群中选取获取投票数最多的子集群。

可选的,所述从当前脑裂子集群中选取一个子集群的过程,包括:

从当前脑裂集群中选取具有最小节点id或最大节点id的一个子集群。

可选的,每个节点提供的投票数,可以根据各节点的物理配置灵活的提供票数。

优选的,本实用新型提供的所述集群的外部仲裁装置中:

所述集群中的节点数为偶数状态的集群中为开启状态;

所述集群中的节点数为奇数状态的集群为关闭状态。

本实用新型中,所述外部仲裁装置发生故障时,不会对集群产生影响,集群自动使用标准仲裁方式。

采用本实用新型的技术方案,具有以下有益效果:

(1)、本实用新型可以允许所述集群承受比标准仲裁所允许的更多的节点故障;

(2)、本实用新型通过网络服务,可以为多个集群提供外部仲裁服务,并几乎没有配置和状态;为新集群提供仲裁服务时,不需要对所述设备或装置进行配置;

(3)、本实用新型在为集群提供外部仲裁时,不会对集群产生任何影响。当所述外部仲裁设备发生故障时,相当于集群没有配置外部仲裁,集群总票数不会计算外部仲裁票数。

附图说明

图1为本实用新型实施例方式的应用场景示意图;

图2为本实用新型实施例方式的集群外部仲裁装置配置过程流程图。

具体实施方式

以下结合附图和具体实施例,对本实用新型进一步说明。

如图1所述,在所述实施例中,包括第一集群10,第二集群11和外部仲裁装置12。第一集群10和第二集群11相互独立。第一集群10和第二集群11分别与外部仲裁装置12相连,图1中双箭头虚线表示通信链路,该通信链路可以是有线链路或无线链路。

根据本实用新型的实施例,第一集群10包括偶数数量的节点,第二集群11包括奇数数量的节点,外部仲裁装置12分别根据第一集群的投票数和第二集群的投票数为两个集群分别提供投票,以保证当上述两个集群中的节点发生故障时,未发生故障的节点和外部仲裁装置一起可以满足标准仲裁,保证集群正常提供服务。

在应用系统中,第一集群10包括四个节点,默认配置中,每个节点都为集群提供1票。当集群没有连接外部仲裁装置时,集群总票数为4票。在所述集群中,要满足标准仲裁(m>n/2),需要保证集群中至少三个节点保证正常,所以集群中仅允许一个节点发生故障。当第一集群10连接到外部仲裁装置12时,外部集群仲裁装置12节点同样会为集群提供1票,第一集群10中共拥有5票。需要满足标准仲裁的条件,所以集群可以允许两个节点出现故障。

在应用系统中,第二集群11包括三个节点,默认配置中,每个节点都为集群提供1票。当集群没有连接外部仲裁装置时,集群总票数为3票。在所述集群中,要满足标准仲裁(m>n/2),需要保证集群中至少两个节点保证正常,所以集群中仅允许一个节点发生故障。当第二集群11连接到外部仲裁装置12时,外部仲裁装置12节点会为集群提供2票(默认设置中外部仲裁设备为奇数集群提供n-1票),第二集群中共拥有5票。需要满足标准仲裁的条件,所以集群可以允许两个节点出现故障。

如图1所述,在所述实施例中,外部仲裁装置12可以同时为第一集群10和第二集群11同时提供外部仲裁服务。当第一集群11或第二集群12中出现节点错误时,外部仲裁装置12会同时为两个集群提供外部仲裁服务,并且互不干扰,保证集群可以正常对外提供服务。

图2为本实用新型中外部仲裁装置配置过程流程图:

s201、通过集群中节点数确定外部仲裁装置为集群提供票数,默认情况下,偶数节点会提供一票,奇数节点会提供n-1票;

s202、在外部仲裁装置中注册集群,并将注册文件安装到集群的每个节点中;

s203、重启心跳服务和外部仲裁服务,此时集群可以获得外部仲裁。

本实用新型具有以下特点:

(1)、本实用新型支持为多个集群提供外部仲裁服务;

(2)、本实用新型通过网络服务为集群提供外部仲裁;

(3)、在使用本实用新型设配时,仅需根据所需在集群中配置票数和所述设配的ip地址,而所述外部仲裁设备不需要配置就可为集群提供外部仲裁;

(4)、本实用新型只有在集群中存在故障节点时才生效,集群正常时或者所述仲裁装置出现故障时,不会对集群产生任何影响。

以上所述仅为本实用新型的优选实施例,并非因此限制本实用新型的专利范围,凡是在本实用新型的实用新型构思下,利用本实用新型说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本实用新型的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1