估计是春节前最后一次写博客,也估计是本年值班最后一次踩雷,感叹下成也SQL SERVER,败也SQL SERVER。

--==============================================================

场景描述:

操作系统版本 :Windows Server 2012 数据中心版本

数据库版本 :SQL SERVER 2012 企业版,版本号:11.0.5582.0

问题描述:数据库配置Alwayson环境,同机房2节点同步自动切换+跨机房异步,实现高可用性自动故障转移,由于有四个节点,因此选择奇数即3节点的群集仲裁,但当其中一节点(仲裁节点或非仲裁节点)发生硬件故障导致重启,便可能“引发”群集之间香菇丢失通信,然后群集开始对各个群集节点"已从活动故障转移群集成员身份中删除群集节点XXX",最终群集把所有仲裁节点删掉,群集自身挂掉,群集发生故障,导致上层依赖的Alwayson无法正常提供服务,处于“正在解析”状态,直到重启的节点恢复正常==>群集正常==》Alwayson正常。

假设有ABCD四个节点,AB和CD分别在两个机房,ABC三节点配置为仲裁节点,C节点发生故障,从群集时间中发现:

ABC三节点先后从故障群集中被移除,然后仲裁丢失群集服务关闭。

--=====================================================================

根据MS专家给出的分析,怀疑网络问题,事件1135也明显提示由于网络问题导致,而机房也查出部分出现该类故障的服务器使用了有问题的AOC线缆。

但是,问题总是在但是之后,为什么网络中喜欢在服务器宕机的时候出来凑热闹呢?一组Windows故障转移,当不出现问题的时候,一年多没有出现网络问题,就偏偏恰好在服务器宕机的时候网络“抖动”呢?因为服务器宕机产生的兴奋还是恐惧导致抖动呢?

同机房的网络应该比较值得信赖吧,一个异地机房的服务器宕机导致同一机房的网络抖动也不太科学吧。

--=====================================================================

另外一个错误提示为:A与挂掉的C握手未在40秒内完成握手

难道群集节点之间这么重感情么?跟一个挂掉的节点握手都等待这么长时间?要不要等到地老天荒呢?

科普下,如果出现类似状况,如果发生宕机的服务器无法尽快重启成功,在故障转移群集无法正常启动下,可以使用 net stop clussvc来停止本地群集服务器,然后再使用net start clussvc /fq来强制将本地群集服务启动,以便尽快使Alwayson回复正常提供服务。

--====================================================================

一些不太靠谱的建议,供各位参考:

1. 对于跨机房的仲裁节点,能不用还是别用吧,实在不行在同机房弄个服务器做文件共享仲裁也行

2. 两节点的故障转移群集,一定要配置文件共享或磁盘见证

3. 群集属性中策略一栏,尽量配置下““指定时段内重新启动的最多次数”:

--====================================================================

吐槽下,Alwayson号称秒级别的故障转移啊,很诱惑,的确很多时候这个让DBA很放心,收到故障短信的时候,早已自动转移并恢复提供服务,DBA可以放心地洗个澡刷个牙换身衣服再来处理故障。但是理想是美好的,现实是残酷的,AO大部分情况下还算给力,出现BUG无法正常切换的几率较低(注意是较低不是没有),但架不住坑爹的Windows故障转移群集,地基不好,楼再结实也容易塌啊!

期望SQL SERVER能再次崛起,也期望作为SQL SERVER DBA能再像以前那样骄傲地说“SQL SERVER,肯定没问题”。

SQL Server--疑难杂症之坑爹的Windows故障转移群集(转)的更多相关文章

  1. SQL Server--疑难杂症之坑爹的Windows故障转移群集

    --============================================================== 估计是春节前最后一次写博客,也估计是本年值班最后一次踩雷,感叹下成也S ...

  2. SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之建立活动目录域、DNS服务器和Windows故障转移群集(准备工作)

    因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...

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

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  4. 搭建Windows故障转移群集

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/windows 概述 本章内容主要讲述搭建windows故障转移群集 环境: 域服务器:windows server 2008 R ...

  5. SQL Server ->> 高可用与灾难恢复(HADR)技术之 -- Windows故障转移群集

    WSFC 群集 (WSFC cluster)“Windows Server 故障转移群集”(WSFC) 群集是一组独立的服务器,它们共同协作以提高应用程序和服务的可用性. 故障转移群集实例 (Fail ...

  6. Windows故障转移群集(WSFC)的备份和恢复

    使用wbadmin进行备份和恢复将C盘数据备份到E盘查看备份的版本以及包含的items模拟群集角色被误删除进行恢复操作检查恢复的效果 WSFC群集的备份和恢复功能是使用Windows Server B ...

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

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

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

    这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...

  9. Windows Server 2008 R2+SQL Server 2014 R2升级到Windows Server 2016+SQL Server 2016

    环境: 操作系统:Windows Server 2008 R2 数据库:SQL Server 2014 因SQL Server 2016可以无域创建AlwaysOn集群,集群只剩下单节点也不会挂掉,故 ...

随机推荐

  1. 仿迅雷播放器教程 -- 封装VLC (5)

        虽然上个教程中10多行代码便做出了一个播放器,但如果加上快进快退等功能的话,代码都会挤在一团,阅读性很差,所以这个版本将对VLC进行封装,由于第一个教程已经进行了ffmpeg的封装,所以这里将 ...

  2. php文件缓存方法总结

    为大家分享很全的php文件缓存,供大家参考,具体内容如下 <?php class cache {  private static $_instance = null;    protected ...

  3. Hadoop安装教程_集群/分布式配置

    配置集群/分布式环境 集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项: slav ...

  4. 用SpannableString打造绚丽多彩的文本显示效果

    extends:http://www.jianshu.com/p/84067ad289d2 引语 TeXtView大家应该都不陌生,文本展示控件嘛! 就用TextView显示普普通通的文本,OK,很简 ...

  5. ASP.NET Core奇遇记:无用户访问,CPU却一直100%

    这是5月11日遇到的一个问题,1台1核1G阿里云Linux服务器运行着生产环境中的ASP.NET Core站点,出现CPU 100%问题. 开始以为是这台服务器负载高引起的,于是将这台服务器从负载均衡 ...

  6. CH 1602 - The XOR Largest Pair - [字典树变形]

    题目链接:传送门 描述在给定的 $N$ 个整数 $A_1, A_2,\cdots,A_N$ 中选出两个进行xor运算,得到的结果最大是多少? 输入格式第一行一个整数 $N$,第二行 $N$ 个整数 $ ...

  7. [No000014E]提问的智慧How To Ask Questions The Smart Way

    原文版本历史 目录 声明 简介 在提问之前 当你提问时 慎选提问的论坛 Stack Overflow 网站和 IRC 论坛 第二步,使用项目邮件列表 使用有意义且描述明确的标题 使问题容易回复 用清晰 ...

  8. [No0000D9]删除指定文件夹.bat改命或合并文件

    set /p 目录=目录,拖入= rd /s /q %目录% ::ren *.txt *.html ::copy /B *.html aaa.txt pause

  9. python:turtle绘图模块

    turtle模块 海龟绘图(Turtle Graphics),python内置模块,非常简单好玩的一个库. 一.导入库 import turtle from turtle import * 二.画布的 ...

  10. 看数据库的文件大小 MySQL Binlog日志的生成和清理规则

    小结: 1.避免并行大大事务对磁盘.内存的消耗: MySQL数据文件导致实例空间满的解决办法_空间/内存_常见问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/kno ...