ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL Server 2016 Always On 总结整理

2020-08-13 08:01:56  阅读:675  来源: 互联网

标签:AG Always 备份 192.168 Server SQL SQLCLUSTER


一、Always On简介

从SQL Server 2012开始,SQLServer引入了一种新的高可用技术,它的名字叫做AlwaysOn。AlwaysOn在开发初期代号叫做HADRon。但是AlwaysOn相对于故障转移群集、数据库镜像和日志传送而言,的确是拥有许多优势。甚至可以说,AlwaysOn是这三种技术的集大成者。想要了解更全面的介绍和技术内容,可参考《SQL Server 2012 实践与管理实战指南》和官方文档。

二、Always On 构建

SQL Server 2016 Always On 可以在域环境、非域环境构建,从构建角度来看,最大的不同之处是AG间主要副本和辅助副本间数据同步时,数据库实例间认证方式存在差异。
域环境可以使用Windows认证、证书认证,非域环境可使用证书认证。此处只讨论域环境下两个节点的Always On构建及维护。

1、环境准备

(1)域账号
AD\Administrator --域管理账户,用于创建WSFC集群
AD\sqladmin --普通域账户,用于SQL Server 服务运行

(2)软件
SQL Server 2016 SP2 --直接使用SP2版本,打补丁只需打一次
SQL Server补丁(CU14) --从官网下载最新的补丁

(3)服务器

主机名 NA1 NA2
业务网段IP 192.168.10.131 192.168.10.132
心跳网段IP 192.168.20.131 192.168.20.132
存储网段IP 192.168.30.131 192.168.30.132
操作系统 Windows Server 2016 Windows Server 2016

备注:
· 两台服务硬件配置、系统环境一致
· 实际生产中,存储可能不是通过这种方式连接主机的
· 业务网段网卡,需要“禁用TCP/IP上的NetBIOS",否正在创建可用性组侦听时会报错(具体原因待深究)。

2、WSFC、SQL Server、AG配置规划

(1)故障转移集群
集群名称: SQLCLUSTER --注意命名规范,最好纯字母(若实在需要特殊字符请去官网查阅命名规范,2008的域控不支持“-”,2016的域控可以用“-”)
集群IP : 192.168.10.130
网络规划 :
业务网络 192.168.10.0/24 集群和业务
心跳网络 192.168.20.0/24 仅集群
存储网络:192.168.30.0/24 仅集群

(2)SQL Server
实例名称 : MSSQLSERVER
实例运行账户: AD\sqladmin
代理运行账户: AD\sqladmin
实例端口号 : 1433
端点端口 : 5022 --副本间数据同步通过次端口

(2)可用性组(AG)
AG名称 : AGSQLHR
AG侦听名称 : AGLnsrHR --注意命名规范,最好纯字母(若实在需要特殊字符请去官网查阅命名规范)
AG侦听IP : 192.168.10.136 --注意预留IP地址,防止以后添加节点。

生产中还应关注计算机防火墙、网络防火墙的影响,应整理出OS、WSFC、SQL Server、AG与数据库环境构建和使用的相关端口(待补充)。

2、搭建作业

1.两台服务器配置修改: 修改主机名、配置IP地址,配置业务网卡“禁用TCP/IP上的NetBIOS”。
2.两台服务器配置OS权限: 本地Administrators组添加成员:AD\sqladmin
3.两台服务器安装SQLServer: 以本地账户Administrator登录操作系统,安装SQL Server,打补丁
SSCM中修改实例、代理服务运行账户为 AD\sqladmin (如果时命名实例,还需修改实例访问端口为规划端口)
SSCM中修改实例启用Always On高可用,重启实例。
SSMS连接数据库实例,在登录名中添加登录名AD\sqladmin,同时添加sysadmin角色

4.搭建WSFC: 使用域管理员账户AD\Administrator 登录其中一个服务器
验证、创建故障转移集群
配置仲裁
备注:如果是共享文件仲裁,1.需要确保网络稳定,这种问题发生的概率比较大。2.如果是普通服务器提供的共享文件夹,请考虑服务器是否会出现因打补丁或被他人重启等不可控的情况。
业界通常将仲裁盘或文件夹设为Q

备注:(1)创建WSFC可以用普通的域账户(加入本地Administrator),但需要域控中预先在OU中创建计算机对象SQLCLUSTER,或者给该普通域账户赋予创建计算机对象及DNS权限
(2)WSFC创建过程中,域账户AD\Administrator在域控中做的主要操作有两个。
·在NA1、NA2所在OU创建计算机对象:SQLCLUSTER
·在DNS中添加了解析:SQLCLUSTER - 192.168.10.130
后面将要创建的AG是故障转移集群SQLCLUSTER的资源,而创建AG侦听时,SQLCLUSTER将在域控中也要做两个操作
·在SQLCLUSTER所在OU创建计算机对象:AGLnsrHR
·在DNS中添加了解析:AGLnsrHR - 192.168.10.136
实际生产环境中,域控权限设置,创建的计算机对象可能没有创建计算机对象的权限,因此需要确认SQLCLUSTER的权限。

5.SQLCLUSTER域控权限配置: 在域控中给修改SQLCLUSTER所在OU赋予SQLCLUSTER权限: 创建计算机对象、删除计算机对象、读取所有属性 (名称待修正)

6.配置Always On 可用性组: 使用本地管理账户Administrator登录NA1
在故障转移集群管理器中,确认修改: 业务网络-集群和业务、 心跳网络-仅集群、 存储网络-仅集群
使用SSMS连接到NA1上的数据库实例,创建测试数据库testdb,完整备份testdb
创建可用性组AGSQLHR
创建可用性组AGLnsrHR: 侦听名称-AGSQLHR 侦听IP-192.168.10.136

7.故障转移策略设置: 故障转移集群管理器中,修改角色AGSQLHR的故障转移策略为:6小时10次、取消故障恢复 (以实际需求为准,这里供参考)

8.进行AG功能简单验证: 数据库同步,故障转移。
备注:后期建议进行软硬件、联合应用进行测试。

9.业务系统安装,创建业务数据库

10.添加业务数据库至AG
备注:· 数据量使用的自动种子,实际应考虑网络环境进行判断使用自动种子还是手工还原。 实测50G的数据量,4CPU,万兆网络,磁盘写高达1300MB/s的条件下,自动种子同步速度约200MB/s~300MB/s。
· 曾经遇到这种情况:数据库较多,一次性添加多个数据库至AG,出现部分数据库无法在辅助副本还原的情况,后面在主库移除有问题的可用性数据库,重新一个一个地添加至AG,同步正常。

11.配置数据库备份维护计划:
指定备份策略: (1)每天23点完整备份+日志备份、本地保留1天、NBU保留7天;(2)设置AG备份策略为“优先辅助副本”
主要副本、辅助辅助配置相同地备份维护计划:
(1)仅复制的完整备份 --任务计划不会备份主要副本,辅助副本不支持普通的完整备份
(2)正常日志备份 --任务计划不会备份主要副本,任意副本上备份日志,会截断其他副本日志

12.手动备份系统库

三、Always On 维护

1.故障测试:服务、系统、集群、仲裁等软硬件故障对AG的影响。

2.故障恢复:辅助副本故障如何修复、主要副本故障如何修改
3.副本增减:增加副本、减少副本、修改端点
4.AG监控:
5.AG性能:
6.SQLServer打补丁

标签:AG,Always,备份,192.168,Server,SQL,SQLCLUSTER
来源: https://www.cnblogs.com/skyan/p/13493037.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有