2019年12月集群崩溃原因:
微软更新了最新的2019年12月安全补丁(业务要求开启update自动更新),这个补丁或许关闭了TLS1.0-1.1加密,仅支持tls1.2加密算法.造成数据库集群无法和节点之间通讯,数据库完全崩溃。
那么为啥会折腾这么久呢。
1、方案一:想到了补丁回退,奈何这次更新的补丁是栈更新,无法进行回退
2、方案二:想到的解决方案是升级节点版本以满足TLS1.2,但是节点不是连机状态。无法升级,这条路PASS
3、方案三:通过SQL大版本更新,直接覆盖掉当前的版本,并且大版本原生支持TLS1.2,结果由于win2008r2不支持sql2016以上,这条路又PASS
4、方案四:那我就升级windows版本(项目有License),windows版本升级到2012后发现,集群的SCSI-3永久保留 校验过不去无法创建集群。经过检查是由于我们的磁盘阵列华为S2600 需要刷固件。于是到华为官网去查了相关驱动,发现自2018年10月份起,华为下架了S2600的全部资源,并且不提供任何技术支持。又一次GG。现在摆在我们面前只有一条路,要么更换磁盘阵列,要么退回到windows2008r2。
5、方案五:由于磁盘阵列硬件替换采购流程较长,紧急排障肯定是不是和得,最终我们的选择只有使用win2008r2操作系统一条路。最终解决方案,win2008r2+sql2008r2sp3cu2。由于sql2008r2的sp版本没有出过官方整合包,只能自己制作。
参考此文档:https://blogs.msdn.microsoft.com/petersad/2011/07/13/how-to-slipstream-sql-server-2008-r2-and-a-sql-server-2008-r2-service-pack-1-sp1/
制作完成以后,用新的镜像来安装,发现安装成功。故障转移群集创建成功。
这次的坑主要围绕着
1、栈更新补丁无法降级
2、数据库节点必须联机(正常运行)才能升级
3、操作系统不支持高版本的原生支持TLS1.2的数据库版本,2016以上数据库原生支持TLS1.2
4、磁盘阵列由于固件和官方下架问题不支持win2008r2以上系统的集群验证
5、微软官方没有制作官方镜相包,只能自己研究自己整合。
总结一下:为什么会出现这个问题
1、Windows开启了自动更新
2、数据库没有更新SP更没有更新CU
还好最后在团队得努力下解决了这次故障。共享出来给遇到相同问题得小伙伴们一点参考