Sqlserver实现故障转移 — AlwaysOn实现故障转移(4)
目的:在已经加域的计算机上安装sqlserver2012,并配置系统级故障转移及数据库,实现AlwayOn。
域控的建立详见:https://www.cnblogs.com/xiaoerlang90/p/9224745.html
计算机加域:https://www.cnblogs.com/xiaoerlang90/p/9234805.html
域控:
名称:dcTest.com
IP: 192.168.31.20
用户名:sql_admin
密码:dcTest2018
操作系统:windows server。
集群主节点(已加域):
计算机名:db01-PC
IP: 192.168.31.201
域用户/密码:sql_admin/dcTest2018
操作系统:windows server。
数据库:sqlserver2012 R2。
网卡:双网卡。
集群辅节点(已加域):
计算机名:db02-PC
IP: 192.168.31.202
域用户/密码:sql_admin/dcTest2018
操作系统:windows server。
数据库:sqlserver2012 R2。
网卡:双网卡。
步骤:
一、两台数据库服务器安装服务器故障转移群集及.Net framework3.5:
1、 选中.Net framework3.5。
2、选中故障转移群集
二、配置故障转移群集
1、打开故障转移群集管理器,右键-新建可用性组,如下图所示:
2、选定待验证服务器:db01-PC,db02-PC 点击下一步
3、选择运行所有测试项目(会有警告),点击下一步
4、测试完成之后直接创建群集,点击完成。
5、配置群集名称和所分配的IP地址:
6、完成群集创建后,开始配置仲裁:
7、如下图所示,选择第二项“选择仲裁见证” 点击下一步
8、选择第二项“配置文件共享见证”,点击下一步
9、在域控服务器上创建共享文件夹,选择该服务器上的文件夹:
10、完成故障转移群集仲裁的配置。
三、安装MSSQL server (具体安装步骤不再赘述)
1、配置数据库防火墙,新增出入站规则如下图所示:
四、配置SQL server 的Always ON:
1、打开数据库配置管理器,启用always on 可用性组,并将三个服务的登录名更改为与用户登录,如下图所示:
2、db01-PC上新建测试数据库TEST,并进行完整备份,在db02-PC上以”RESTORE WITH NORECOVERY“状态还原,如下图所示:
3、在db01-PC上新建可用性组向导,如下图所示:
4、录入可用性组名称,点击下一步:
5、选择数据库 Test
6、点击“下一步”,使用添加副本来将其他节点添加到可用性组中,并选择自动故障转移节点和同步提交节点,因为我们只有两个节点
7、我们将辅助副本设置为可读,能够自动故障转移,同步提交模式
8、点击“端点”tab页面设置端点
9、“备份首选项”和“侦听器”不需要设置,保持默认就行,可用性侦听器我们后面再添加,可以直接点击“下一步”,点击“是”。
10、选择初始数据同步,这里选择“仅联接”模式
11、点击“下一步”来验证配置,对应侦听器配置警告可以忽略,后期来添加侦听器
因为使用的是“仅联接”数据库初始化方式,验证跳过像可用磁盘空间这样的检查
12、点击“下一步”来检查并确认之前的配置信息,若无误,点击“完成”。另外,此处也可保存建立可用性组脚本,以便分步诊断故障之用
完成always on 高可用配置:
13、查看服务器和数据库的变化
主副本数据库变为已同步
14、再看一下故障转移集群管理器
可用性组变为一个集群角色:
五、添加侦听器:
1、在创建可用性组后,在“可用性组侦听器”上右键添加侦听器来创建侦听器,选择静态IP的网络模式(尽量不要选择DHCP网络模式),
输入一个从未使用过的名称(该名称将被用来创建网络名称资源)和访问端口
2、如下图所示,配置侦听器名称、端口号及IP地址:
3、点击”确定“ 后完成侦听器的创建,创建完成后,如下图所示:
4、域控计算机可以看到故障转移群集高可用性组及Always On 高可用性组两台机器,如下图所示。
六、配置心跳网卡与数据网卡分开,右键网络节点,选择心跳网卡右键-属性:
用一根网线直接连接群集中两台物理机,并自定义IP地址。
public网络: 客户端可以通过此网络与群集节点通信,也要让群集节点之间可以通过此网络进行通信(当作private网络的备用网络 心跳的备用网络),(选择允许在此网络上进行群集网络通信+允许客户端通过该网络连接)
private网络:此网络只用作心跳(选择允许在此网络上进行群集网络通信)
iSCSI网络:利用iSCSI通信协议与目标服务器通信的专用网络,不可以群集节点之间通信网络,也不可以用来与客户端通信。
配置完成后如下图所示:
自此 MSSQL 的always on 已全部配置完成,可尝试便写应用程序通过连接侦听器的IP连接到MSSQL数据库进行操作,也可通过在数据库的连接字符串中设置属性ApplicationIntent=ReadOnly (ReadWrite 为可读可写)进行读写分离。
以上为此次基于域的两台物理机配置Always On 的全部过程,由于此文章为后来补写,部分图片来源于网络网友的分享,就不一一列举,在此一并感谢!
此次Always on 基于一台域控,一个共享文件夹的仲裁,当域控服务器宕机或共享文件夹所在服务器宕机都会造成该群集的故障,解决方案将在后续列出,详见:配置辅助域控,配置DFS文件服务器。