搭建SQL server AwaysOn集群

1.环境

系统:windows server 2012 R2

数据库版本:SQL server 2012

三台服务器,IP分别是:10.10.10.111,10.10.10.112,10.10.10.113

2.安装数据库

2.1、三个集群节点都需先安装.NET Framework 3.5(在Windows Server 2012 R2中使用添加功能来安装)。

 报错并解决:

 

解决:双击系统IOS镜像文件,在找到:sources\sxs ,指定到备用源路径,如下图。

 

 

 

2.2、三台服务器分别以administrator管理员账号登录系统,安装单实例数据库,SQL server安装比较简单,下一步--下一步--就行了。如果实在不会,请参考之前的文章《SQL server 2012安装教程 》。

3.配置域控服务器

我的域控是由专门的系统管理人员配置的,没有亲自动手,若有需要,请参考《从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)》。

4.配置故障转移集群

4.1、administrator用户 安装故障转移集群,三个节点都同时安装故障转移集群服务

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

域用户必须在域计算机组和域管理员组,否则创建集群时会报错:

 

 

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

 

 

 

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

三个节点的域控服务器都选上。

 

 

 

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

 

可以查看一下报告

 

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

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

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

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

C:\Windows\Cluster\Reports

 

4.6、点击完成

 

4.7、创建集群向导

 

 

4.8、输入集群名称和vip(VIP是随便输入的没有使用的IP。不知道作用是什么,但必须输入,不然过不去。)

 

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

 

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

 

4.9、群集创建完成

5.配置SQL server的域控

5.1、使用域用户DCADMIN登录,然后设置SQL Server的启动账户为域用户DCADMIN

打开服务管理器,先修改SQL代理的启动账户为域用户DCADMIN,然后再修改SQL 引擎的启动账户为域用户DCADMIN

 

点击“位置”,修改查找位置,选中abc.com

点击“高级”

点击“立即查找”,选中DCADMIN

点击“确定”

 

输入域用户DCADMIN的密码

 

重启一下SQL代理服务

 重启之后可以看到登录用户为DCADMIN@abc.com

 

同样,SQL引擎服务也需要同样的设置

 

这样,SQL引擎服务和SQL代理服务都用域用户DCADMIN启动

另一个集群节点的SQL Server也需要做同样的操作

 

注意:在集群节点脱离域之后,SQL引擎服务和SQL代理服务都要用本地服务帐号来启动,不能再用域用户来启动

 

 

5.2、将DCADMIN域用户加入到两个集群节点的SQL Server登录用户中,服务器角色选择sysadmin

先用sa登录SQL Server

添加登录用户,跟SQL 服务添加启动账户的步骤一样,将DCADMIN域用户添加为登录用户

 

 给予sysadmin权限

两个集群节点都可以用DCADMIN域用户来登录SQL Server

 

 

 

5.3、回到SQL Server配置管理器,启用AlwaysOn可用性组

注意:集群节点一定要能进行通信,如果集群节点之间断开通信,那么启用AlwaysOn的时候会报错

 

重启SQL Server

如果AlwaysOn启用成功,在服务器属性里可以看到启用HADR为True

6.配置awaysOn

6.1、在“Alwayson高可用性”节点上右键选择“新建可用性组向导

注意:加入到AlwaysOn可用性组的数据库必须符合下面要求

(1)数据库的恢复模式必须是“完整”恢复模式

(2)数据库已进行了一次完整备份

(3)需要是用户库,系统库不能加入可用性组

(4)数据库可以读写,只读库不能加入到可用性组

(5)数据库处于多用户模式

(6)数据库没有使用AUTO_CLOSE

(7)不属于任何其他的可用性组

(8)数据库没有配置数据库镜像

一个可用性组最大支持100个数据库

 

6.2、点击“下一步”,输入一个从未使用过的高可用性组名称 testAG

 

 

6.3、点击下一步,选择要添加的数据库

 

6.4、点击“下一步”,使用添加副本来将其他节点添加到可用性组中,并选择自动故障转移节点和同步提交节点,因为我们只有两个节点

我们将辅助副本设置为可读,能够自动故障转移,同步提交模式

6.5、点击“端点”tab页面设置端点

注意:端点URL使用IP的方式,不要用FQDN长名的方式,因为服务器通常会有两个网卡,一个public网卡,一个private网卡,端点建议使用private网卡地址

这样在端点直接传送的数据就会经由private网卡来传送,使用TCP://test.abc.com:5022 这种FQDN长名的方式是不能保证端点数据通过private网卡来传送

SQL Server服务账户使用域用户DCADMIN来进行身份验证,避免使用证书的方式

 

6.6、“备份首选项”和“侦听器”不需要设置,保持默认就行,可用性侦听器我们后面再添加,可以直接点击“下一步”

点击“是”

 

6.7、选择初始数据同步,这里选择“仅联接”模式

 

 

6.8、点击“下一步”来验证配置,对应侦听器配置警告可以忽略,后期来添加侦听器

因为使用的是“仅联接”数据库初始化方式,验证跳过像可用磁盘空间这样的检查

 

 

 

6.9、点击“下一步”来检查并确认之前的配置信息,若无误,点击“完成”。另外,此处也可保存建立可用性组脚本,以便分步诊断故障之用。

 

 

 

6.10、所有摘要均成功完成,显示绿色对勾。如果出现黄色警告,则需进行进一步判断是否成功。若出现红色错误,表示AG创建不成功

 7.到这集群就算搭建完成了,之后就是测试和验证了。

 

 

参考:

第一篇
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

posted @ 2019-12-25 16:14  南帝001  阅读(1017)  评论(0编辑  收藏  举报