SQL Server AlwaysOn - 故障排查
简要步骤总结
准备工作
软件准备
(1) SQL Server 2016 sp1
(2) Windows Server 2016 DataCenter 64位
准备工作
计算机 |
Node-A(集群节点A) |
Node-B(集群节点B) |
Node-DC(域控) |
IP |
test01 192.168.1.4 255.255.255.0 192.168.1.1 DNS:192.168.1.6 |
test08 192.168.1.5 255.255.255.0 192.168.1.1 DNS:192.168.1.6 |
test09 192.168.1.6 255.255.255.0 |
VIP-cluster |
192.168.1.8 |
||
SQL AlwaysOn VIP |
192.168.1.9 |
步骤
一、 配置域控
1.配置域控端
1) 关闭防火墙、Windows Update
2) 配置网络属性,取消ipv6,设置ipv4,DNS设置为127.0.0.1
3) 安装AD域服务
4) 将服务器提升为域控制器,设置域名、DSMR密码
5) 在AD用户和计算机中新建域用户,并添加属性隶属于Domain Admin、Domain Computer
2.配置客户端
1) 配置网络属性,取消ipv6,设置ipv4,DNS设置为域服务器的ip,并禁用TCP/IP上的NetBIOS
2) 加域
3) 打开计算机管理-》本地用户和组,选择组,选中Administrators组,右键-》添加到组
二、 搭建故障转移集群
- 安装故障转移集群功能;
- 在其中一个节点以域用户登陆,切换为打开Failover Cluster Manager,验证配置(此时出现网络和存储警告可忽略)
- 创建群集(不勾选将所有符合条件的存储添加到群集),需要用到VIP-cluster
- 配置群集仲裁设置,ClusterName->More Actions->Configure Cluster Quorum Settings
(需要用到共享文件夹quorumshare)
三、 搭建AlwaysOn
- 关闭防火墙、Windows Update
- 安装.Net Framework 3.5功能
- 以本地用户安装SQL server、SSMS,切换为域用户,更改SQL server、SQL server Agent的启动用户为域用户,并将域用户添加到登陆用户中
- 启用AlwaysOn Availability Groups
- 创建测试数据库,并完整备份
- 新建可用性组
先决条件:
(1)数据库的恢复模式必须是“完整”恢复模式
(2)数据库已进行了一次完整备份
(3)需要是用户库,系统库不能加入可用性组
(4)数据库可以读写,只读库不能加入到可用性组
(5)数据库处于多用户模式
(6)数据库没有使用AUTO_CLOSE
(7)不属于任何其他的可用性组
(8)数据库没有配置数据库镜像
数据同步方式:
1)完整:需要共享文件夹,无需在辅节点还原数据库
2)仅连接:需要在副本中还原DB with norecovery
7. 创建侦听器,端口1433
故障排查
- 检查防火墙是否关闭
- 防火墙新建入站规则:TCP-1433,59999,5022
- 配置系统账户权限NT Authority/System->Availability Group、Connect SQL、view server stat
- 依然失败可以考虑禁用AlwaysOn后,再启用
5.在Windows Server 2012 中创建故障转移群集在打开roles时出错:
A weak event was created and it lives on the wrong object,there is a very high chance this will fail
解决方案:
安装补丁包:Windows8-RT-KB2803748-x64.msu
https://www.microsoft.com/en-us/download/details.aspx?id=36468