Windows Server2012 故障转移集群之动态仲裁(Dynamic Quorum)
本篇文章主要介绍Windows2012的故障转移集群一个新功能“动态仲裁”,默认该功能是开启的; 动态仲裁能在当前群集投票出现分歧的情况下取消某些节点的投票权限,比如偶数个节点的群集环境。仲裁见证和动态仲裁有点相似也可以解决群集投票分歧的问题,但是它不能取消节点的投票权,它能保持群集的投票个数保持奇数个数。
SQLServer版本: SQL Server 2016 SP1
Windows版本:Windows Server 2012 DataCenter
群集节点:HD21DB03,HD21DB04,HD21DB05,HD21DB06
一、动态仲裁
当前群集是4个节点的偶数个群集,采用的是多数节点的仲裁投票方式。
1.全部节点正常
当前集群WSFC26的动态仲裁是开启的,见证动态投票当前是0;开启动态仲裁后,由于当前是4个节点的偶数个节点默认把主节点的当前投票给取消了。
2.模拟1个节点故障
当一个节点故障后,动态仲裁把之前的DB03的投票给启用了,还是保证了有3个节点的投票。
3.模拟2个节点故障
当2个节点故障后,动态仲裁把剩下的DB04节点的投票也取消了,由于当前是2个节点所以只能保证一个节点有投票权,否则会出现投票分歧的情况。
4.模拟3个节点故障
当把3个节点故障后,集群还是保证正常,同时AlwaysOn也是正常的。
注意:第三个故障节点不能是当前有投票权的节点DB05,否则群集就无法保持正常了,因为当前只有DB05有投票权。
AlwaysOn也正常
二、仲裁见证
再看一下当同时启用动态仲裁和见证仲裁的情景。
1.全部节点
当前4个节点都有投票,而且见证动态投票也变成了1,当前群集就有5个投票。
2.模拟1个节点故障
当有一个节点故障后,这时见证动态投票也变成了0,保证了当前奇数个投票。当前有3个投票。所以当两个节点故障后见证动态投票会变成了1
3.模拟2个节点故障
模拟两个节点故障后,见证动态投票变成 了1,当前还是保证了3个投票。而且这时DB04、DB05都可以故障,不影响整个集群,而且如果这个两个节点都是同步提交的话AlwaysOn也能正常切换。比没有加入见证的动态仲裁集群存活几率更大。
4.模拟3个节点故障
注意:这里DB05已经故障了,但是它的当前投票还是为1,而且见证投票也是1,总投票数还是3,可能是个bug;最后的投票数应该只有DB04有且见证投票也应该为0总投票数应该为1。当时整个集群还是正常的。
这里故意把DB05节点故障测试AlwaysOn群集转移情况,事实证明只要群集正常转移也是没问题,前提节点得是同步提交支持自动故障转移。
注意:最后保证只有一个节点群集也正常也是动态仲裁的作用,否则当前群集只能运行2个节点故障。见证投票只是增加了群集的投票几率。
三、关闭动态仲裁
接下来看4个节点且关闭了文件共享见证的场景。
1.全部节点正常
2.模拟1个节点故障
当前群集和AlwaysOn都正常
3.模拟2个节点故障
整个群集群集故障无法访问。
注意:不要存在这种误区以为偶数个节点就无法投票选举,如果4个节点都正常或者两两处于不同的数据库中心的情况下有可能会导致投票无法选举成功。但是当某个节点故障剩下的3个节点还是能选出一个新的主节点,因为剩下的节点可以满足节点多数。
四、命令
1.查看动态仲裁和见证投票
Get-Cluster | ft name,DynamicQuorum,WitnessDynamicWeight
2.开启关闭动态仲裁
--关闭
(Get-Cluster).DynamicQuorum=
--开启
(Get-Cluster).DynamicQuorum=
备注:在其中一个群集节点上执行即可
五、总结
动态仲裁功能可以大大的提高了群集的存活几率,是一个非常有用的功能。反而见证的效果就变的没那么重要的,当然对于如果服务器紧张的情景见证还是可以充当节点投票来使用。以前的大多数节点的投票机制是在整个集群节点的基础上,现在引入了动态仲裁后是以每一次群集仲裁正常后为基础进行仲裁。
参考:http://www.tech-coffee.net/understand-failover-cluster-quorum/
备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。 《欢迎交流讨论》 |
Windows Server2012 故障转移集群之动态仲裁(Dynamic Quorum)的更多相关文章
- 部署AlwaysOn第一步:搭建Windows服务器故障转移集群
在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称 ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
原文地址: http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...
- (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...
- 从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)
本篇主要讲配置Windows 故障转移集群及遇到的相关问题(坑),因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 四种集群的仲裁配置: 1.多 ...
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...
- 在Windows 2008/2008 R2 上配置IIS 7.0/7.5 故障转移集群
本文主要是从:http://support.microsoft.com/kb/970759/zh-cn,直接转载,稍作修改裁剪而来,其中红色粗体部分,是我特别要说明的 若要配置 IIS 7.0 和 7 ...
- windows server 2012R2 故障转移集群配置
配置说明: AD:10.10.1.10/24 Node-2:10.10.1.20/24 Node-3:10.10.1.30/24 zhangsan-PC:10.10.1.50/24 VIP1:10 ...
- sqlserver2008 复制,镜像,日志传输及故障转移集群区别
一, 数据库复制 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步, ...
随机推荐
- [Lugu3380]【模板】二逼平衡树(树套树)
题面戳我 您需要写一种数据结构来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名为k的值 3.修改某一位值上的数值 4.查询k在区间内的前驱(前驱定义为严格小于x ...
- angular编写表单验证
angular编写表单验证 一.整体概述 表单内容如下图,包括常用的用户名.密码.确认密码.手机.邮箱等 整体js代码很少,就一个指令用于写确认密码和密码是否相等.其他 验证都是使用angular自带 ...
- 电路ppt作业
例二 例三 3.例一
- Hive数据仓库笔记(二)
分区和桶: 分区:可以提高查询的效率,只扫描固定范围数据,不用全部扫描 CREATE TABLE logs (ts BIGINT, lineSTRING) PARTITIONED BY (dt S ...
- Redis 桌面管理器
使用Redis桌面管理器,可以方便开发人员进行开发测试,对Redis存储内容进行可视化管理. 下载安装:https://redisdesktop.com/download 1. 为了方便测试,打开re ...
- Unity3D打包 将发布的exe文件打包成一个Windows安装文件(自解压文件)
Unity打包Standalone时 会出现一个exe文件和一个data文件夹 可是我们平常见过的软件 基本没有这种像这种结构的 一般都是一个安装文件,然后点击安装,选择路径,生成快捷方式- 本篇博客 ...
- web前端加载优化-减少HTTP请求 (细节与办法)
减少HTTP请求. 因为手机浏览器同时响应请求为4个请求(Android支持4个,iOS 5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个.a) 合并CSS.JavaScr ...
- 51ak带你看MYSQL5.7源码1:main入口函数
从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...
- JAVAEE——BOS物流项目08:配置代理对象远程调用crm服务、查看定区中包含的分区、查看定区关联的客户
1 学习计划 1.定区关联客户 n 完善CRM服务中的客户查询方法 n 在BOS项目中配置代理对象远程调用crm服务 n 调整定区关联客户页面 n 实现定区关联客户 2.查看定区中包含的分区 n 页面 ...
- 模拟select选中option的效果
大致情况如下:网页上有一个表单,表单中有一个select类型的控件,我要选择option后,表单相对应的input部分会option自动填充选中数据. 我想要的是:实现一个网页上的效果,在这个页面被打 ...