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

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

第一篇
http://www.cnblogs.com/lyhabc/p/4678330.html
第二篇
http://www.cnblogs.com/lyhabc/p/4682028.html
第三篇
http://www.cnblogs.com/lyhabc/p/4682986.html
第四篇
http://www.cnblogs.com/lyhabc/p/6136227.html
搭建非域AlwaysOn win2016+SQL2016
http://www.cnblogs.com/lyhabc/p/6498712.html
SQL Server AG集群启动不起来的临时自救大招
http://www.cnblogs.com/lyhabc/p/6953255.html

 

这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的

 

在讲解步骤之前需要了解一下故障转移集群仲裁配置

下面图片来自《Windows Server2012系统配置指南》

四种集群仲裁配置:

1、多数节点:这种配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的情况下,集群才会提供服务,否则就停止服务。这种配置适用于奇数节点的集群,例如5个节点的集群,其正常节点数量必须至少3个,集群才会提供服务

2、多数节点和磁盘:适用于偶数节点的集群,他在计算法定数量时会将仲裁磁盘计算进来,例如,4个节点+1个仲裁磁盘节点的集群,可以将其视为5个节点的集群,这时正常节点数量必须至少3个,集群才会提供服务

3、多数节点和文件共享:它和(多数节点和磁盘)类似,不过仲裁磁盘改为共享文件夹内的文件

4、没有多数:只有磁盘,只要仲裁磁盘脱机,集群就会停止提供服务(不建议使用,这种方式很早之前已经有了)

 

简单说一下见证磁盘和见证共享文件夹

见证共享文件夹是Windows 2008才推出的见证方式,因为以前的见证磁盘(简称仲裁盘)需要共享存储,也就是各个节点需要挂载同一个磁盘,这个磁盘叫见证磁盘,是放在共享存储上面的

推出见证共享文件夹之后我们可以不需要高大上的共享存储,用共享文件夹就可以了

 

 

我们在使用故障转移集群的时候,只用两种WSFC集群仲裁配置:(多数节点) 和 (多数节点和文件共享)

如果集群节点是奇数,那么使用多数节点

如果集群节点是偶数,那么使用多数节点和文件共享 (需要配置一个共享文件夹,各个节点都能访问这个共享文件夹,并且共享文件夹所在机器不需要加入域)

 

注意:

域控不需要安装故障转移集群服务和SQL Server,也不需要加入到故障转移集群
所有机器防火墙都关掉
两个节点都需要安装相同的更新程序,建议不要开启自动更新功能,由系统管理员手动更新

SQL Server 2012  AlwaysOn只支持最多一个主副本和四个辅助副本,最多允许三个同步提交的可用性副本(包括主副本),最多允许两个自动故障转移副本(包括主副本)

 


步骤

这次也是step by step的方式向大家展示

 

1、 安装故障转移集群,两个节点都同时安装故障转移集群服务

 

2、两个节点都安装完故障转移集群之后,在其中一个节点上进行注销操作,然后使用DCADMIN这个域用户登录计算机

 

3、打开故障转移集群管理器

 

 

 

4、在“选择服务器或群集”界面中,单击“浏览”按钮将所有要加入群集的服务器添加进来,然后单击“下一步”按钮。

 

 

 

5、在验证配置向导中最好选择运行所有测试,进行全部检测就可以查看到服务器之间建立群集的所有设置,包括网络、共享磁盘、操作系统等。

 

可以查看一下报告

 

报告里面一定不能出现失败,否则你需要检查是什么问题导致失败,失败是建立不了故障转移集群的

出现警告要看情况,对于存储的警告,由于目前为止没有添加任何的存储设备,这里可以忽略,还有网络警告

由于各个节点只有一个网卡,正常来说还需要一个心跳网卡,所以这里会出现警告,由于实验环境这个警告可以忽略

集群报告会存放在这个路径下,WSFC的日志文件就保存在这个路径下

C:\Windows\Cluster\Reports

f

wsfc的日志文件

C:\Windows\Cluster\Reports\Cluster.log

 

6、点击完成

 

7、创建集群向导

 

 

8、输入集群名称和vip

注意:这个只是集群的管理名称和管理IP,跟AlwaysOn无关

由于我们当前还没有任何共享存储,所以不勾选将所有符合条件的存储添加到群集

如果你的环境中存在多个存储设备或者需要特定的存储配置,不勾选并手动添加存储会更合适。

 

查看报告可以看到 找不到磁盘见证的相应磁盘,因为我们还没加见证共享文件夹或仲裁盘,这里可以忽略

 

9、群集创建完成

可以在域控的AD用户和计算机里看到集群的virtual name

 

 

10、由于我们是两个节点的故障转移集群,所以需要加上共享文件夹,在域控上建立一个共享文件夹,让两个集群节点都可以访问

注意:如果是奇数节点,这一步是不需要做的!

共享文件夹所在机器入域(域网络)和不入域(独立机器)都无所谓

生产环境不要把共享文件夹放在域控上!

注意集群停止服务的条件

 

 

11、在域控上的C盘新建一个quorumshare文件夹作为共享文件夹

quorumshare文件夹的权限为everyone完全控制和DCADMIN域用户的读写权限(保险起见)

 

12、UNC路径:\\WIN-FELBG10UU7F\quorumshare

在quorumshare文件夹下随便建一个文本文件

 

13、在两个集群节点上测试能否访问共享文件夹

两个节点都用域用户DCADMIN登录,并测试另外两个节点能否访问这个quorumshare共享文件夹

 

14、回到故障转移集群管理器,填写文件共享路径:\\WIN-FELBG10UU7F\quorumshare

 

注意:如果quorumshare文件夹没有写入权限,那么在填写文件共享路径的时候会被拒绝

 

 

15、可以看到共享文件夹下面会生成VerifyShareWriteAccess.txt和Witness.log两个文件,至于这两个文件的作用大家看它们的文件名就知道了

故障转移集群到这里就已经配置完成

 

 

Windows Server2012系统配置指南

配置群集网络(SQL CLUSTER的情况,不是alwayson的情况)

public网络:192.168.8.0   客户端可以通过此网络与群集节点通信,也要让群集节点之间可以通过此网络进行通信(当作private网络的备用网络 心跳的备用网络),菠萝说过换alwayson的镜像ip非常麻烦,需要停机

private网络:192.168.9.0   此网络只用作心跳

iSCSI网络:192.168.10.0   利用iSCSI通信协议与目标服务器通信的专用网络,不可以群集节点之间通信网络,也不可以用来与客户端通信

 

public网络
允许在此网络上进行群集网络通信 and 允许客户端通过该网络连接

 

private网络
允许在此网络上进行群集网络通信

 

iSCSI网络
不允许在此网络上进行群集网络通信

 

本地盘不用共享存储的情况下

最佳做法:不分开网段,只有一个public192.168.8.0,两个网卡做teaming,最好是负载均衡那种,不用active-backup主备模式,分担压力

如果分开网段,比如

主副本 网卡1:192.168.8.20 ;网卡2:192.168.9.20

辅助副本 网卡1:192.168.8.21;网卡2:192.168.9.21

一旦辅助副本的网卡2坏了,要用网卡1来代替,变成了跨子网,而且辅助副本的网卡1也要承担客户端流量

如果不分开网段但是没做网卡teaming

主副本 网卡1:192.168.8.20 ;网卡2:192.168.8.21

辅助副本 网卡1:192.168.8.22;网卡2:192.168.9.23

一旦辅助副本的网卡2坏了,要用网卡1来代替,只是辅助副本的网卡1承担客户端流量

 

最佳设置:不分开网段,不管网卡是否做了teaming

都设置为允许在此网络上进行群集网络通信 and 允许客户端通过该网络连接,也就是保持默认设置

 

 

 

 

 

 

如果集群节点跟见证共享文件夹不能通信,例如 域控关机了,到达一定时间,在服务器管理器面板里角色和服务器组会显示红色

点击服务可以看到 故障转移集群服务已经挂起

 

权限问题

在AD用户和计算机管理界面 里的  域用户和故障转移集群用户的权限需要添加下面红框的权限,否则创建侦听器的时候有可能报错

 

 

Create failed for Availability Group Listener ‘SQLCDB01Temp’. (Microsoft.SqlServer.Smo)

The WSFC cluster could not bring the Network Name resource with DNS name ‘SQLCDB01Temp’ online. The DNS name may have been taken or have a conflict with existing name services, or the WSFC cluster service may not be running or may be inaccessible. Use a different DNS name to resolve name conflicts, or check the WSFC cluster log for more information. The attempt to create the network name and IP address for the listener failed. The WSFC service may not be running or may be inaccessible in its current state, or the values provided for the network name and IP address may be incorrect. Check the state of the WSFC duster and validate the network name and IP address with the network administrator. (Microsoft SQL Server, Error: 19471)

参考文章:https://blogs.msdn.microsoft.com/alwaysonpro/2013/10/30/create-availability-group-listener-fails-with-message-19471-the-wsfc-cluster-could-not-bring-the-network-name-resource-online/


总结

通过上面的步骤演示,故障转移集群配置就完成了,希望大家能够看清楚截图,一步一步进行配置,基本上就没有问题了

下一篇正式讲SQL Server AlwaysOn搭建了

 

 

相关文章

https://msdn.microsoft.com/zh-cn/library/hh270278(v=sql.110).aspx
https://msdn.microsoft.com/zh-cn/library/hh270280(v=sql.110).aspx
https://msdn.microsoft.com/zh-cn/library/hh270279(v=sql.110).aspx
https://msdn.microsoft.com/zh-cn/library/hh270281(v=sql.110).aspx
https://technet.microsoft.com/zh-cn/library/cc731739.aspx
https://technet.microsoft.com/zh-cn/library/cc733130.aspx
https://technet.microsoft.com/zh-cn/library/cc753341.aspx
https://technet.microsoft.com/en-us/library/cc770620(v=ws.10).aspx
https://msdn.microsoft.com/en-us/library/hh270281.aspx

 

 

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

posted @ 2015-07-29 08:22  桦仔  阅读(50145)  评论(38编辑  收藏  举报