服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

时间:2022-12-02 05:07:32

0 引言

主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的。

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

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

四种集群的仲裁配置:

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

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

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

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

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

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

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

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

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

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

注意:

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

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

步骤1.2:安装故障转移集群

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

集群报告会存放在这个路径下

C:\Windows\Cluster\Reports

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

6、点击完成

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

7、创建集群向导

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

8、输入集群名称和vip

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

9、群集创建完成

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

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

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

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

注意集群停止服务的条件

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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 允许客户端通过该网络连接,也就是保持默认设置

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

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

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

权限问题

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

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移