一. AlwaysOn简介

AlwaysOn可用性组是在SQL Server 2012开始提供的全新功能,确保了应用程序数据的可用性,实现零数据丢失。AlwaysOn可用性组技术融合了数据库群集和数据库镜像的优点,此技术的一大好处是提供非共享存储,可以避免因为存储的单点故障而造成的整个可用性方案失效。

AlwaysOn可用性组基于数据库(组)级别,是将一组用户数据库(可以是一个或多个)划到一个组中。每组可用性数据库都由一个可用性副本承载。可用性副本包括一个主副本和一到四个辅助副本。 主副本用于承载主数据库,辅助副本则承载一组辅助数据库并作为可用性组的潜在故障转移目标。主副本使主数据库可用于客户端的读写连接,实现对数据库的更改操作。同时在数据库级别进行同步。 主副本将每个主数据库的事务日志记录发送到每个辅助数据库。 每个辅助副本缓存事务日志记录,然后将它们还原到相应的辅助数据库。 主数据库与每个连接的辅助数据库独立进行数据同步。因此,一个辅助数据库可以挂起或失败而不会影响其他辅助数据库,一个主数据库可以挂起或失败而不会影响其他主数据库。

部署 AlwaysOn 可用性组需要一个 Windows Server 故障转移群集 (WSFC) 群集。 给定可用性组的每个可用性副本必须位于相同 WSFC 群集的不同节点上。部署AlwaysOn可用性组时,系统会为每个可用性组创建一个 WSFC 资源组。WSFC 群集将监视此资源组,判断节点间的状态,以便评估主副本的运行状况。 当发生失败时实现故障的转移,针对 AlwaysOn 可用性组的仲裁基于 WSFC 群集中的所有节点,而与某一给定群集节点是否承载任何可用性副本无关。

用户可以通过创建一个可用性组侦听器来提供到给定可用性组的主副本的客户端连接。 “可用性组侦听器”采用DNS名称的方式连接给定可用性组的资源,以便将客户端连接定向到相应的可用性副本。

AlwaysOn 可用性组允许将一组数据库同步到最多4个只读副本,这是SQL Server 2012 引入的新特性。SQL Server 2014 将只读副本的数量提升到8个

SQL Server AlwaysOn部署_第1张图片

二. 部署环境准备

1. 部署环境

计算机名

IP地址

操作系统

角色

备注

DC01.contoso.com

10.0.0.2

Win2012R2

DC、DNS服务器

提供仲裁文件夹

SQL01.contoso.com

10.0.0.3,20.0.0.2

Win2012R2

SQL Server 2014,WSFC群集节点

AlwaysOn可用性组名称SG01

SQL02.contoso.com

10.0.0.4,20.0.0.3

Win2012R2

SQL Server 2014,WSFC群集节点


SQLCluster

10.0.0.5



故障转移群集名称

SQL

10.0.0.10



侦听器名称

2. 创建故障转移群集

配置SQL01和SQL02的LAN和心跳网络

SQL Server AlwaysOn部署_第2张图片

SQL Server AlwaysOn部署_第3张图片SQL Server AlwaysOn部署_第4张图片SQL Server AlwaysOn部署_第5张图片

在SQL01和SQL02中添加角色和功能性向导,选择故障转移群集

SQL Server AlwaysOn部署_第6张图片

创建故障转移群集名称计算机SQLCluster

SQL Server AlwaysOn部署_第7张图片SQL Server AlwaysOn部署_第8张图片

把群集节点SQL01和SQL0添加到安全属性中并赋予完全访问权限

SQL Server AlwaysOn部署_第9张图片

创建完成后,禁用账号

SQL Server AlwaysOn部署_第10张图片

打开故障转移群集管理器,创建群集

SQL Server AlwaysOn部署_第11张图片SQL Server AlwaysOn部署_第12张图片

添加成员服务器节点

SQL Server AlwaysOn部署_第13张图片SQL Server AlwaysOn部署_第14张图片SQL Server AlwaysOn部署_第15张图片SQL Server AlwaysOn部署_第16张图片

输入之前创建群集计算机账号SQLCluster

SQL Server AlwaysOn部署_第17张图片SQL Server AlwaysOn部署_第18张图片SQL Server AlwaysOn部署_第19张图片SQL Server AlwaysOn部署_第20张图片SQL Server AlwaysOn部署_第21张图片

群集创建成功后,会自动启用计算机账号和创建dns记录

SQL Server AlwaysOn部署_第22张图片wKioL1hOWeuCQGrfAAAL2-3ENxM539.png

在域控创建仲裁见证文件夹

SQL Server AlwaysOn部署_第23张图片

SQL Server AlwaysOn部署_第24张图片

配置群集仲裁

SQL Server AlwaysOn部署_第25张图片SQL Server AlwaysOn部署_第26张图片SQL Server AlwaysOn部署_第27张图片SQL Server AlwaysOn部署_第28张图片SQL Server AlwaysOn部署_第29张图片SQL Server AlwaysOn部署_第30张图片SQL Server AlwaysOn部署_第31张图片SQL Server AlwaysOn部署_第32张图片

三. 安装SQL Server

在SQL01和SQL02上安装本地独立SQL

SQL Server AlwaysOn部署_第33张图片SQL Server AlwaysOn部署_第34张图片SQL Server AlwaysOn部署_第35张图片SQL Server AlwaysOn部署_第36张图片SQL Server AlwaysOn部署_第37张图片SQL Server AlwaysOn部署_第38张图片SQL Server AlwaysOn部署_第39张图片

四. 启用AlwaysOn

SQL Server AlwaysOn部署_第40张图片SQL Server AlwaysOn部署_第41张图片

新建数据库

SQL Server AlwaysOn部署_第42张图片SQL Server AlwaysOn部署_第43张图片

恢复模式必须是完整模式

SQL Server AlwaysOn部署_第44张图片SQL Server AlwaysOn部署_第45张图片

备份此数据库

SQL Server AlwaysOn部署_第46张图片SQL Server AlwaysOn部署_第47张图片

对Backup启用文件夹共享

SQL Server AlwaysOn部署_第48张图片SQL Server AlwaysOn部署_第49张图片

打开新建可用性组向导

SQL Server AlwaysOn部署_第50张图片SQL Server AlwaysOn部署_第51张图片

输入可用性组名称

SQL Server AlwaysOn部署_第52张图片

选择需要添加至可用性组的数据库

SQL Server AlwaysOn部署_第53张图片

添加副本,选择节点二SQL02

SQL Server AlwaysOn部署_第54张图片SQL Server AlwaysOn部署_第55张图片SQL Server AlwaysOn部署_第56张图片SQL Server AlwaysOn部署_第57张图片SQL Server AlwaysOn部署_第58张图片SQL Server AlwaysOn部署_第59张图片SQL Server AlwaysOn部署_第60张图片SQL Server AlwaysOn部署_第61张图片

五. 创建侦听器

输入侦听器的名称和IP,后续我们访问SQL就通过此FQDN和IP地址进行访问管理

SQL Server AlwaysOn部署_第62张图片SQL Server AlwaysOn部署_第63张图片SQL Server AlwaysOn部署_第64张图片SQL Server AlwaysOn部署_第65张图片

六. 测试群集

当前SQL运行节点为SQL01

SQL Server AlwaysOn部署_第66张图片

关闭SQL01的LAN网卡进行测试

SQL Server AlwaysOn部署_第67张图片

当网卡禁用后,SQL自动切换到SQL02上,变成主动节点

SQL Server AlwaysOn部署_第68张图片

此时我们访问SQL,会发现原来SQL02辅助节点,而现在则是主要节点

SQL Server AlwaysOn部署_第69张图片SQL Server AlwaysOn部署_第70张图片