SQL Server2012中新增的AlwaysOn是一个新增高可用性解决方案。在AlwaysOn之前,SQL Server已经有的高可用性和数据恢复方案,比如数据库镜像,日志传送和故障转移集群.都有其自身的局限性。而AlwaysOn作为微软新退出的解决方案,提取了数据库镜像和故障转移集群的优点。本文旨在通过实现一个AlwaysOn的实例来展现AlwaysOn。
Windows2012群集要求作为群集运行的所有节点都必须采用投票算法确定该节点在指定时间是否有仲裁。因此,仲裁配置有了更多的选项,主要有4种。
1、节点多数
推荐用于含有奇数个节点的群集。
可以承受的故障节点数为节点数的一半(四舍五入)减去一。例如,7个节点的群集可以承受3个节点出现故障。
2、节点和磁盘多数
推荐用于含有偶数个节点的群集。
在见证磁盘保持联机时可以承受的故障节点数为节点数的一半(四舍五入)。例如,在见证磁盘联机时,6个节点的群集可以承受有3个节点出现故障。
在见证磁盘脱机或出现故障时可以承受的故障节点数为节点数的一半(四舍五入)减去一。例如,见证磁盘有故障的6个节点的群集可以承受两 (3-1=2) 个节点故障。
3、节点和文件共享多数
适合有特殊配置的群集。
与“节点和磁盘多数”的工作方式类似,但是此群集使用见证文件共享,而不是见证磁盘。
注意:如果使用“节点和文件共享多数”,则至少必须有一个可用的群集节点包含群集配置的最新副本,然后才能启动群集。否则,您必须通过特定节点来强制启动群集。
4、无多数:仅磁盘
不推荐
可以承受除一个节点外的所有节点出现故障(如果磁盘联机)
但是,建议不使用此配置,因为磁盘可能成为单一故障点。
基于Windows Server 2012 R2部署SQL 2012的AlwaysOn群集
1 SQL部署平台架构图
服务器配置信息
部署文档说明
以下配置均为群集AlwaysOn Cluser(服务器:VMSQLSRV01~VMSQLSRV04)节点,共四组,群集节点Cluster1名VMSQLSRV01(服务器:SQLDB01~SQLDB03)、群集节点Cluster2名VMSQLSRV02(服务器:SQLDB04~SQLDB06)、群集节点Cluster3名VMSQLSRV03(服务器:SQLDB07~SQLDB09)、群集节点Cluster4名VMSQLSRV04(服务器:SQLDB10~SQLDB12)的配置信息和步骤。
2 安全和账户规划
所有的SQLDB服务器使用管理员帐号gzmetro\administrator进行系统部署
SQLDB(01,02,03~12)
管理账户:gzmetro\administrator、gzmetro\SQLadmin、gzmetro\admin-slq01、gzmetro\admin-slq02、gzmetro\admin-slq03、gzmetro\admin-slq04
服务账户:gzmetro\administrator
SQL Server Analysis Services管理账户:gzmetro\administrator、gzmetro\SQLadmin、gzmetro\admin-slq01、gzmetro\admin-slq02、gzmetro\admin-slq03、gzmetro\admin-slq04、gzmetro\admin-slq05、gzmetro\admin-slq06、gzmetro\admin-slq07、gzmetro\admin-slq08、gzmetro\admin-slq09
3 SQL服务器硬件分配
SQL服务器,共12台,虚拟机默认配置全是一样的,全使用域管理员帐号administrator进行功能配置
类列 |
CPU |
硬盘 |
内存 |
显卡 |
操作系统 |
数量 |
虚拟机 |
双核 |
260G |
8G |
默认 |
Windows Server 2012 R2 Datacenter |
12台 |
4 群集服务器具体配置
VMSQLSRV01群集(SQLDB01, SQLDB02, SQLDB03)
VMSQLSRV02群集(SQLDB04, SQLDB05, SQLDB06)
VMSQLSRV03群集(SQLDB07, SQLDB08, SQLDB09)
VMSQLSRV04群集(SQLDB010, SQLDB11, SQLDB12)
5 SQL服务器网络分配
服务器名称 |
群集外部通讯地址 |
群集内部通讯地址 |
群集地址 |
SQLDB01 |
175.100.20.101 |
10.10.10.1 |
175.100.20.131 |
SQLDB02 |
175.100.20.102 |
10.10.10.2 |
175.100.20.131 |
SQLDB03 |
175.100.20.103 |
10.10.10.3 |
175.100.20.131 |
SQLDB04 |
175.100.20.104 |
10.10.20.1 |
175.100.20.132 |
SQLDB05 |
175.100.20.105 |
10.10.20.2 |
175.100.20.132 |
SQLDB06 |
175.100.20.106 |
10.10.20.3 |
175.100.20.132 |
SQLDB07 |
175.100.20.107 |
10.10.30.1 |
175.100.20.133 |
SQLDB08 |
175.100.20.108 |
10.10.30.2 |
175.100.20.133 |
SQLDB09 |
175.100.20.109 |
10.10.30.3 |
175.100.20.133 |
SQLDB010 |
175.100.20.110 |
10.10.40.1 |
175.100.20.134 |
SQLDB011 |
175.100.20.111 |
10.10.40.2 |
175.100.20.134 |
SQLDB012 |
175.100.20.112 |
10.10.40.3 |
175.100.20.134 |
6 SQL高可用平台配置服务器网络
SQLDB01配置服务器网络
配置心跳网络IP地址
配置网络适配器使用顺序,将群集外部网卡设置为优先
同样的方法,配置其它SQLDB服务器
7 安装并创建故障转移群集
打开添加角色和功能向导
选择基于角色和功能的安装
选择当前服务器
跳过角色选择
选择故障转移群集功能
确认额外的组件
下一步继续安装
确认安装摘要
完成安装
同样的方法,安装其它的SQLDB服务器。
打开故障转移群集管理器,跳过验证,直接使用创建群集向导
输入群集管理名称和IP地址
确认配置并开始创建
完成创建并查看结果
有警告信息,暂时忽约。
打开群集管理器,查看群集创建后状态
使用相同方式创建VMSQLSRV02 (SQLDB03,SQLDB05,SLQDB06)
IP:175.100.20.132
使用相同方式创建VMSQLSRV03 (SQLDB07,SQLDB08,SLQDB09)
IP:175.100.20.133
使用相同方式创建VMSQLSRV04 (SQLDB10,SQLDB11,SLQDB12)
IP:175.100.20.134
8 安装新的SQL Server故障转移群集节点
打开SQL Server安装界面并选择安装新的SQL Server全新安装
跳过检查SQL更新
检查SQL Server安装程序支持文件
SQL Server 安装程序支持规3则
选择SQL Server功能进行安装
检查功能规则
输入SQL Server实例故障转移群集名称
磁盘空间要求信息
配置群集服务帐户
配置群集管理帐号
配置分析服务管理帐户
配置分析服务数据目录
配置Reporting Servicces
配置错误报告
安装摘要检查
确认配置并开始安装
完成安装
以同样方式创建SQL群集节点SQLDB02,SQLDB03,SQLDB04….SQLDB12
9 启动Always On高可用性功能
10 附加SQL数据库
启动SQL
附加数据库完成
另一Always on群集组VMSQLSRV02,可以参考进行本方案,进行数据库迁移恢复
11 Always On高可用添加节点
新建可用性向导
指定可用性组名称
如条件不满足,需要做一次完整的数据库备份
分别添加副本服务器SQLDB02\SQLDB03
共享数据库存放路经中的C:\DB01,分别在SQLDB02\SQLDB03中新建DB01目录
使用同样方式将VMSQLSRV02、VMSQLSRV03、VMSQLSRV04分别添加到SQL故障转移群集SQLDB04,SQLDB05…SQLDB12
本文出自 “Jonethon” 博客,谢绝转载!