默认情况下,集群中的每一个结点都是投票结点,通过显式的移除结点的投票权,用户可以调整投票仲裁的设置,本例选择默认选项: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.