win Server 那些天建立群集和SQL AlwaysOn踩到的雷……

Posted 爆栈攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win Server 那些天建立群集和SQL AlwaysOn踩到的雷……相关的知识,希望对你有一定的参考价值。

这是一篇悲伤的博

因为前几天一直在折腾群集配置和AlwaysOn,踩雷有数,但是死到现在没成功。。。

 

搭建AlwaysOn环境需要:

1. windows Server2012 DataCenter版本(因为支持故障转移群集)

2. 每个服务节点加域,似乎AlwaysOn最大支持3个节点,按照小成本的考虑,两台服务器吧。这里我选的Dell R730,双E5

3. 共享存储(用于做群集的仲裁见证),如果是奇数的节点配置,需要共享存储,偶数的话共享文件夹即可。这里选择使用一台普通Dell 3010单机上创建共享文件夹解决。

4. 一个域控制器,这里我用一个虚拟机解决。(生产环境不要把域控和仲裁见证共享存储放一起)

 

踩到的雷包括如下:

1. 建立域环境出问题(第一遍就是不听劝,直接把域控放在节点A上,猝)

2. 双网段环境下 SQL 无法在内网上被windows身份验证方式访问,AlwaysOn配置猝

3. 改单网环境,直接改了域控IP、物理节点IP(就是禁用了原来的内网网卡)、共享存储IP,结果故障转移群的访问出问题了(原先设置的在内网路由上访问,直接改外网后猝)

4. 退群集,重建故障转移群集(第一遍是报告过,配置时挂掉了,原因是有退群失败的节点)

5. Clear-ClusterNode工具失败(无解)

6. 按某博文所说,干掉了Cluster相关两个注册表项,这下重建集群连验证都过不了了。

7. 重装节点A,完事后建群集,发现其实B也彻底挂了 (目前重装Bing)

 

上述问题依次给记录一些分析和解决思路的Tip

1. 域控必须是独立的,因为所有的域账户验证要经它实现。

2. 其实后来想了下,如果一开始只给一个内网网段建集群,而不是使用双网段配置,先把AlwaysOn的配置搞起来就对了。 只是考虑到就两台服务器,必须有外网接入以便一个数据采集中间件的正确工作,就没想到这点。

  关于SQL Server到底支不支持多网卡,这点毋庸置疑。但是加域后域账户似乎只能接收单个网卡的路由通信,导致使用ip地址+sa账户登陆没问题, windows计算机名+Windows身份验证只在一个网段上有效,另一个会超时报错。(而且报错是访问不到)

3. 同事也做了这个,不过他一开始是单网段配置,所以直接改了没出问题,我推测我这里出问题是因为原本的配置里有双网的记录,所以直接改了域网段、群集地址后,群集到两个节点的通信都是断了的。那退群更是免谈。 还是一开始没想过这个问题,所以继续走弯路     了。(果然搭环境要拼人品)

    综合分析下来,退群一定要在不破坏原有群集结构的时候做,直接调用清理后应该是能不重装的。

4. 上边的坑导致退群无效,群集无法正确清理了。

5. Clear-ClusterNode工具报错是无法加载某个dll这个类型的错,按做软件开发的经验,要么本身windows的环境不全,要么参数不对。可惜这个参数用户无法修改,bing和百度也是无解。(大家运气都很好呀。。。)

6. 实际上,456的雷都是连锁的。因为群集挂了,所以这些操作都是无效的。

 

一定要慎重。。小心谨慎的搭集群。。。哎。。。。。

 

以上是关于win Server 那些天建立群集和SQL AlwaysOn踩到的雷……的主要内容,如果未能解决你的问题,请参考以下文章

如何卸载 2012 r2 故障转移群集

64位win7下安装SQL Server 2008(图文解说版)

几个技巧解析SQL Server群集的难题[2]

SQL Server AlwaysON从入门到进阶——存储

SQL server 2008 express安装失败 数据库引擎 sql server复制安装失败

如何使用MSCS建立SQL Server集群