GPFS 之 Quorum 深入解析

转载自Mr_Ben8的博客,链接请戳GPFS之Quorum深入分析

1.Quorum原理

       GPFS使用集群机制——quorum在节点失败的情况下保证数据的一致性。

     Quorum操作原则是:少数服从多数原则。也就是说,在任何节点能够挂载并且访问文件系统后,集群中的大多数节点必须能够相互通讯。当节点出现故障时,

quorum需要被维护并且保证集群在线,反之,GPFS会umount已经挂载在节点上的FS,此时fs恢复发生,并试图重新建立quorum。鉴于此,所以在设计GPFS集

群时,必须重点考虑quorum节点的个数。

2.Quorum方式

    GPFS使用两种方式来确定quorum:

2.1 Node quorum 

    Node quorum是quorum默认的方式,Node quorum 是通过主机状态的来判断系统可用性,其机制:

    ①.GPFS 文件系统集群中,可以设置多个主机节点为 Quorum node。Node Quorum 的机制是通过判断 Quorum node 的状态来判断系统是否正常,当

超过半数的 Quorum node 在线时,判断系统为正常,反之,将关闭文件系统。

    ②.GPFS集群中默认是没有quorum 节点,所以必须指定节点,使之拥有此quorum功能。

    下图为:3 个quorum节点的GPFS构架图,只需要保证两个或两个以上的节点正常,那么GPFS就工作正常
GPFS 之 Quorum 深入解析

2.2 Node quorum with tiebreaker disks

      当你运行一个”小“的GPFS集群,有想做到的是:保证多个集群在线但是只需要一个成活的节点(就是多个集群共享一个节点的意思),这种情况下,就必须使

用Node quorum with tiebreaker disks方式。

     Tiebreaker quorum 是通过磁盘的状态来判断系统的可用性。我们可以设置系统通过监视指定的一些磁盘作为 Tiebreaker Disk。当超过半数的

 Tiebreaker Disk 掉线时,则判断系统故障,将自动关闭文件系统。Tiebreaker 最多只能配置两个用来监控磁盘状态的 quorum 主机,当两台 quorum 主机

都宕机的话,GPFS 系统也将会关闭。

其优势在于节点数较少时可用性较高,但节点数较多的情况建议采用 Node quorum 模式

GPFS 之 Quorum 深入解析

Node quorum with tiebreaker disks必须设置一个或多个节点作为quorum节点。其他三分之一的NSD作为tiebreaker disk,通过mmchconfig命令,指定


tiebreaker Disks参数即可。

3.Node quorum with tiebreaker disks 定则

   当quorum方式为tiebreaker disks时,clusters 节点个数和tiebreaker磁盘个数必须满足相关定则,请看

3.1 cluster节点个数定则:

     a.quorum节点数最多只能是8个.

     b.所有的quorum节点必须能够访问所有的tiebreaker磁盘.

     c.必须包括初级和次级集群配置服务器为quorum节点

     d.非non-quorum节点个数不受到限制

     e.如果网络连接失败,那么quorum将会出现错误,并且quorum由tiebreaker磁盘进行维护,以下原理用于重建quorum:

3.1.1 quorum重建原理

     如果一个集群组中有cluster manager,那么我们称这个组是“survivor”,当这个组小于与minQuorumNode指定的最小的quorum节点数的节点进行通讯时,这个组是可以放弃这个manager角色,同时其他组的quorum节点(如果存在的话)可以重新选择新的cluster manager。


3.2 变更Quorum 语义 —— 关闭或开启tiebreaker disks

3.2.1 当配置大于8个quorum节点的GPFS集群时,必须关闭quorum node with tiebreaker disks并且重启GPFS服务,其关闭步骤为:
a. mmshutdown -a  (关闭所有节点上的GPFS)
b.mmchconfig tiebreakerdisk=no (更改quorum语义)
c.添加额外的quorum 节点
d.mmstartup -a (启动GPFS)

3.2.2  在大于8个quorum节点的gpfs集群中,删除几个quorum节点,使得quorum节点数小于8,此时,通过以下步骤打开quorum node with tiebreaker disks:
a.mmshutdown -a
b.delete合适的quorum节点 或者使用 mmchnode --nonquorum 
c.mmchconfig tiebreakerdisks=“disklist”(disklist为指定tiebdisk的名字)
d.mmstartup -a(重启GPFS)

3.3 tiebreaker disk 规则:

a.tiebreaker disk个数可以为一个,两个或者三个,当然其个数最好是 奇数个
b.若quorum节点组之间出现互连故障,那么只有获得大多数tiebreaker磁盘个数 才能被候选为“survivor”
c.tiebreaker disks 必须能够被所有的quorum节点访问



4.quorum节点选择依据:

1.选择节点可能仍然活跃
——如果一个节点可能重启或者需要维护,请不要选择该节点作为一个集群节点

2.选择有不同故障点的节点
——节点位于不同的机架上
——节点连接到不同的电路板上

3.选择拥有管理和服务功能的节点
——主配置服务器
——次配置服务器
——NSD(网络共享磁盘服务器)

4.选择奇数个节点数作为quorum节点数
——不要超过7个

5.拥有太多个quorum节点数会增加启动节点和故障恢复时间
——超过7个时,并不保证其高可用