SQL 2014 AlwaysOn 搭建
AlwaysOn底层依然采用Windows 故障转移群集的机制进行监测和转移,因此也需要先建立Windows Cluster,只不过可用性组中的数据库不一定非要再存放在共享存储上了。可以是存储在本地磁盘上。
下面,先看一下AlwaysOn的关键特性:
1. 同故障转移群集一样,也需要一个虚拟网络名称用于客户端的统一连接。
2.一个主服务器可以最多对应四个辅助服务器,总数达到五个,而且辅助服务器支持只读功能。
3.辅助服务器可以独立执行备份和DBCC维护命令。通过配置,可以实现客户端的只读请求可以被自动定向到辅助服务器。
4.主服务器和辅助服务器之间的数据会被加密和压缩,以提高安全性和网络传输效率。
5..支持自动、手动和强制三种故障转移方式。
6.有仪表盘用于监控AlwaysOn的运行状态。
7.可以实现多站点的部署,即主站点和辅助站点可以跨物理网络。
AlwaysOn最多可以支持五个副本,有两种类型的可用性副本:一个“主副本”和一到四个“辅助副本”。但只有一个可用性副本上运行的数据库是处于可读写状态。这个可读写的数据库被称为主数据库(PrimaryDatabase),同时这个可用性副本被称为主副本(primaryreplica)。其余的副本都被称为辅助副本(secondaryreplica),辅助副本上的数据库可能是不可访问的,或者是只能接受只读操作(取决于可用性组的配置),这些数据库被称为辅助数据库。一但发生故障转移,任何一个辅助副本都可以成为新的主副本实例。主副本会不断地将主数据库上的数据变化发送到辅助副本,来实现副本间的数据库同步。
摘自:http://dufei.blog.51cto.com/382644/1384210/
搭建
参考http://www.cnblogs.com/lyhabc/p/4678330.html
环境准备
1、服务器:准备4台虚拟机。DomainServer 10.58.8.98 DB1 10.58.8.99 DB2 10.58.8.102 DB3 10.58.8.103
2、操作系统:windows2008 R2 SP2或者以上版本。
3、数据库:Sqlserver 2014。
DomainServer
DB1 DB2 DB3
步骤1:建立域服务器:
在DomainServer服务器上建立域服务alwayson.com,并将DB1、DB2、DB3的DNS设置为10.58.8.98,然后加如域alwayson.com。
然后下一步,下一步安装完成。
安装完成后,单击域服务安装向导
检查AD域服务和Netlogon服务是否正常启动
创建域管理账户
将这个域用户加入到域计算机组和域管理员组
将DB1/DB2/DB3加入到域服务器
步骤2:DB1 安装故障转移集群
安装完成后DB1创建群集管理
如果出现 OpenService “RemoteRegistry” 失败 错误
解决方法如下:1.域账户登录 2.三台机器时间必须一致
如果集群安装失败,或者节点退出不了,可以参考 http://www.cnblogs.com/woxpp/p/5604488.html
步骤3:配置群集仲裁
DomainServer 配置共享文件夹
步骤4:配置sqlserver 2014账户
修改DB1/DB2/DB3数据库 SQL代理服务和SQL 引擎服务为域账户
注销集群节点计算机,然后使用域用户登录,然后设置SQL Server的启动账户为域用户
打开服务管理器,先修改SQL代理的启动账户为域用户,然后再修改SQL 引擎的启动账户为域用户
如果启动不了参见:http://www.cnblogs.com/woxpp/p/5607908.html
添加域账户为sql登录用户,并给予sysadmin权限
用sa登录后添加SQL登录用户,跟SQL 服务添加启动账户的步骤一样,将域用户添加为登录用户
步骤5:配置sqlserver AlwaysOn
DB1/DB2/DB3 SQL Server配置管理器,启用AlwaysOn可用性组
关闭DB1/BD2/BD3防火墙
查看有效性
SELECT * FROM sys.dm_hadr_cluster_members;
DB1创建数据库TestDB
DB1创建AlwaysOn高可用性
添加副本
将辅助副本设置为可读,能够自动故障转移,同步提交模式
“备份首选项”和“侦听器”不需要设置,保持默认就行
点击“是”
选择初始数据同步
点击“下一步”来验证配置,对应侦听器配置警告可以忽略,后期来添加侦听器
如果出现以下错误
DB1/DB2/DB3 禁用AlwaysOn 然后 重新启动服务 再开启AlwaysOn再重启服务即可
如果出现这个错误,将数据库重现还原
再看一下故障转移集群管理器
步骤6:添加侦听器
在AD里的Computers容器里会添加一个故障转移集群虚拟网络名称账户
在故障转移集群管理器里的角色节点,可以看到客户端访问名称和IP地址,客户端通过这个访问名称进行访问数据库
使用侦听器名称进行登录SQL Server
至此SQL 2014 AlwaysOn 搭建完成,修改主数据库的数据,两个副本会同步相关数据
步骤7:手动故障转移