故障转移集群的仲裁

Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)使用仲裁投票(Quorum Voting)决定集群的健康状况,或使故障自动转移,或使集群离线。当集群中的结点发生故障时,会由其他结点接手继续提供服务,不过,当结点之间通信出现问题,或大多数结点发生故障时,集群就会停止服务,可是集群可以容忍多少个结点发生故障呢?这要由仲裁配置(Quorum Configuration)决定,仲裁配置使用多数(Majority)原则,只要集群中健康运行的结点数量达到仲裁规定的数量(多数结点投赞成票),集群就会继续提供服务,否则集群就停止提供服务。在停止提供服务期间,正常结点持续监控故障结点是否恢复正常,一旦正常结点的数量恢复到仲裁规定的数量,集群就恢复正常,继续提供服务。仲裁投票默认是启用的(Cluster Manged Voting:Enable)。

一,仲裁模式

仲裁模式是在WSFC 集群级别配置的,规定仲裁投票的方法,默认情况下,故障转移集群管理器会基于集群结点的数量,自动推荐一个仲裁模式。仲裁配置影响集群的可用性,在集群中,重组的集群结点必须在线,否则集群将由于仲裁不足而必须停止服务。

1,术语解释

仲裁(Quorum):法定数量,预先规定具有投票权的结点或见证(Witness)的数量;

仲裁投票(Quorum Voting)是指:法定数量的结点和见证进行投票,如果多数投赞成票,那么判断集群处于健康状态;

投票节点(Voting Node):在集群中,拥有投票权的结点称作投票结点,如果投票结点投赞成票,代表该结点认为集群是健康的;但是,单个结点不能决定集群整体的健康状态。

投票见证(Voting Witness):除了投票结点能够进行投票之外,共享的 File 和 Disk 也能投票,称作投票见证,共享的File 投票见证,称作文件共享见证(File Share Witness);共享的Disk 投票见证,称作硬盘见证(Disk Witness);

仲裁结点集合(Quorum Node Set):拥有投票的结点和Witness统称仲裁结点集合;由仲裁结点集合的投票结果决定集群整体的健康状态。

2,仲裁模式

仲裁模式多数原则是指所有投票结点进行投票,如果赞成票占比在50%以上,那么WSFC认为集群处于健康状态,执行故障转移,继续提供服务,否则,WSFC认为集群出现严重故障,WSFC使集群离线,停止提供服务。根据仲裁结点集合的组成类型,将仲裁模式分为以下四种类型:

  • 结点多数(Node Majority):在集群中,投票结点都是集群的结点服务器,如果一半以上的投票结点(Voting Node)投赞成票,那么WSFC判定集群是健康的;
  • 结点和文件共享多数(Node and File Share Majority):和Node Majority模式相似,除了将远程文件共享配置为一个投票见证(Voting Witness)之外,该共享文件称作仲裁文件,或见证文件。使用仲裁文件,远程文件拥有投票权,如果其他结点能够连接到该共享文件,那么认为该文件投一个赞成票。如果投票结点和文件共享投的赞成票占一半以上,那么WSFC判定集群是健康的。作为一个最佳实践,文件共享见证(File Share Witness)不要存储在集群中的任何一个结点服务器上,并且设置任何一个结点服务器都有权限访问。
  • 结点和硬盘多数(Node and Disk Majority):和Node Majority模式相似,除了将共享硬盘配置为一个投票见证(Voting Witness)之外,该共享硬盘称作仲裁硬盘,或见证硬盘。仲裁硬盘需要共享存储,集群中各个结点都需要挂载同一个共享硬盘。
  • 只硬盘(Disk Only):没有多数,仅仅把一个共享的硬盘作为唯一见证,集群中的任何一个结点能够访问该共享硬盘,这意味着,一旦仲裁硬盘脱机,集群就会停止提供服务。

常见的仲裁模式是结点多数(Node Majority) 和 结点和文件共享多数(Node and File Share Majority),如果集群结点数量是奇数,那么使用结点多数仲裁模式;如果集群结点数量是偶数,那么使用结点和文件共享多数仲裁模式,该模式需要配置一个共享文件夹,集群中的各个结点都有权限访问该共享文件夹,并且该共享文件夹不能创建是集群的结点上。

二,仲裁配置(Quorum Configuration)

打开故障转移管理器(Failover Cluster Manager),右击集群结点,在上下文菜单中点击“More Actions”,在扩展菜单中选择“Configure Cluster Quorum Settings”,打开仲裁配置向导(Wizard),为该集群配置仲裁

Step1,打开仲裁配置向导(Wizard),开始配置仲裁

step2,选择仲裁配置选项

仲裁配置共有三个选项:

  • 使用默认的仲裁配置:该选项将仲裁配置选项的选择权交由集群系统;
  • 仲裁见证:该选项将集群中添加仲裁见证,由集群决定其他仲裁管理选项;
  • 高级仲裁配置:由用户控制仲裁配置的所有选项

本例选择高级仲裁配置(Advanced quorum configuration),自主控制仲裁的所有配置选项

Step3,选择投票设置(Voting)

默认情况下,集群中的每一个结点都是投票结点,通过显式的移除结点的投票权,用户可以调整投票仲裁的设置,本例选择默认选项:All Nodes,这意味着,集群中的所有结点都拥有投票权。

Step4,选择仲裁见证(Quorum Witness)

在集群中,能够添加两类仲裁见证:文件共享见证(File Share Witness) 和 硬盘见证(Disk Witness),硬盘见证是指增加一个共享的硬盘作为一个仲裁投票结点,文件共享见证是指增加一个文件共享作为一个仲裁投票结点,如果集群中的其他结点能够访问该结点,那么认为该结点

Step5,选择文件共享路径

三,投票仲裁

默认情况下,故障转移集群中的每一个结点都是集群仲裁结点,每一个结点都拥有投票权,如果一个结点投赞成票,那么代表该结点认为集群是健康的,但是,单个结点不能决定集群整体的健康状态,而是由集群中的所有仲裁结点的投票结果来决定。

在任何时刻,从每一个的结点的角度来看,其他结点可能处于离线状态,或正在进行故障转移,或由于网络连接失败而处于不响应状态,仲裁投票的关键在于确定所有投票结点的真实状态。除了“Disk Only”仲裁模式之外,其他仲裁模式都依赖于投票结点之间周期性的心跳信号通信,一旦某个结点因为网络通信故障,系统宕机,硬件损坏,机房停电等异常而无法回应心跳信号,那么剩余的结点就认为该结点出现异常,把该结点从当前集群排除。WSFC统计所有投票结点的仲裁结果,决定集群的健康状态。

如果集群的结点位于不同的子网(Subnet)中,当一个结点在子网1中被认为是故障结点时,实际上,该结点可能是由于网络通信故障而不能被子网1的结点感知,但是该结点在子网2中是在线的,健康的。如果投票结点在不同的子网中能够建立多个投票仲裁,那么将产生脑裂场景。在该场景中,位于不同仲裁的结点有不同的表现,使仲裁产生冲突,WSFC不能正确的执行故障转移,可能产生数据不同步。脑裂场景只可能在系统管理员手动执行强制仲裁(Forced Quorum)操作时发生。

四,健康检测和仲裁投票

WSFC在集群的结点之间进行健康检测和仲裁投票,每一个结点通过周期性地发送心跳信号,检测其他其他结点的健康状态,并和其他结点共享健康数据,无法响应心跳信号的结点被认为处于异常状态,集群的所有健康结点都会很快知道该结点出现故障。

仲裁结点集合是投票结点和见证结点(Witness)结合,仲裁结果由多数(Majority)结点决定,集群整体的健康状态是由周期性的仲裁投票的结果决定的,WSFC根据仲裁投票的结果,执行自动故障转移或者使集群离线:如果仲裁结点集合(Quorum Node Set)的投票结果表明大多数结点是健康的,那么集群将进行故障转移,继续提供服务;如果投票结果是少数结点,那么集群将处于离线状态。

引用MSDN:

Each node in a WSFC cluster participates in periodic heartbeat communication to share the node‘s health status with the other nodes. Unresponsive nodes are considered to be in a failed state.

A quorum node set is a majority of the voting nodes and witnesses in the WSFC cluster. The overall health and status of a WSFC cluster is determined by a periodic quorum vote. The presence of a quorum means that the cluster is healthy and able to provide node-level fault tolerance.

WSFC uses a quorum-based approach to monitoring overall cluster health and maximize node-level fault tolerance. A fundamental understanding of WSFC quorum modes and node voting configuration is very important to designing, operating, and troubleshooting your AlwaysOn high availability and disaster recovery solution.

参考文档:

WSFC Quorum Modes and Voting Configuration (SQL Server)

Failover Cluster Step-by-Step Guide: Configuring the Quorum in a Failover Cluster

时间: 2024-08-03 02:50:47

故障转移集群的仲裁的相关文章

部署AlwaysOn第一步:搭建Windows服务器故障转移集群

在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)有基本的了解.WSFC必须部署在域管理环境中,由多台服务器组成,每台服务器称作一个"结点"(Node),每个结点上都运行了Windows服务器故障转移集群服务,整个集群系统允许部分结点掉线.故障或损坏而不影响整个系统的正常运作.集群自动检测结点的健康状态,一旦活跃结点发生异常,变

System Center 2012 R2 POC部署之故障转移集群(一)

System Center 2012 R2 POC部署之故障转移集群(一) 模拟存储安装部署 运行starwind安装程序,安装过程很简单 接受许可协议 选择安装路径 选择安装的组件,完全按照安装 创建桌面快捷方式 需要先开启iscsi服务 从开始屏幕中打开iscsi发起程序 启动iscsi服务 继续starwind安装 允许添加starwind设备 安装完成 安装完成后再系统服务里面把starwind服务停掉,然后把破解文件拷贝到安装目录下覆盖原文件破解就完成了,64位系统的starwind是

Windows 故障转移集群之DFS

故障集群配置 先配置两块用于集群的磁盘,一个做仲裁盘,一个做数据盘. 目前测试环境模拟共享磁盘,使用微软的ISCSIsoftware target 软件在模拟共享磁盘的主机上. 安装完毕后,配置 ISCSI target,先创建ISCSI目标 选择"高级"->分别添加用于集群的两个文件服务器地址 模拟创建共享磁盘 进入其中一台文件服务器,链接共享磁盘.配置服务器上的iscsi 发起程序,链接共享磁盘:在目标中输入模拟虚拟磁盘的主机名称即可:两台文件服务器都要链接共享磁盘,而后分别

VMware 虚拟环境下微软的故障转移集群测试

VMware 虚拟环境下微软的故障转移集群测试 主机配置 两台win2008 R2企业版服务器 test01 public10.10.1.146  private 172.16.0.1 test02 public10.10.1.147  private 172.16.0.2 存储 在EMC存储中划分两个LUN,一个用于集群仲裁盘,一个用于存储数据. 在EMC存储中创建两个LUN 把新建的LUN加入的存储组中: 安装上述步骤再建一个LUN. 2.把两个LUN分别挂载到两台服务器中 Test01 挂

从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html 第二篇http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 下面图片来自<Wind

(转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 下面图片来自<Windows Server2012系统配置指南> 四种集群的仲裁配置: 1.多数节点:这种配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的情况下,集群才会提供

从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)

本篇主要讲配置Windows 故障转移集群及遇到的相关问题(坑),因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 四种集群的仲裁配置: 1.多数节点:这种配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的情况下,集群才会提供服务,否则就停止服务.这种配置适用于奇数节点的集群,例如5个节点的集群,其正常节点数量必须至少3个,集群才会提供服务 2.多数节点和磁盘:适用于偶数节点的集群,他在计算法定数量时会将仲裁磁盘计算进来,例如,

Windows 2012 系统搭建高可用故障转移集群

Windows 2012 系统搭建高可用故障转移集群 一.故障转移集群介绍 2 1.1 系统介绍 2 1.2 工作原理 2 二.实验目的 2 2.1 验证故障转移功能 2 2.2 验证高可用集群的可用性,以及支持的服务类型 2 三.实验原理 3 3.1 实验拓扑 3 3.2 实验环境设备 3 四.配置步骤 4 4.1 配置域服务器 4 4.2  iSCSI 虚拟存储配置 18 4.3 配置故障转移集群服务 45 4.4  验证集群 63 五.实验结果验证 68 5.1  验证故障转移 68 5.

SQL Server Alwayson搭建四:故障转移集群配置

确定仲裁模式配置故障转移集群的时候,如果集群节点是奇数,那么使用多数节点:如果集群节点是偶数,那么使用多数节点和文件共享 (配置一个共享文件夹,各个节点都能访问这个共享文件夹)因为是偶数节点(sql01和sql02),因此选择多数节点和文件共享模式2.安装故障转移集群,sql01和sql02都安装(可用域账号登录安装,如果是本地账户,安装完成后用域账号重新登录)勾选Failover Clustering勾选必要时重启 配置故障转移集群点击Failover Cluster Manager点击Val