最近看网上写SQL 2012 AlwaysOn的文章比较少,我也着手测试了一下,测试过程中也参考了一些大神的测试文档,感觉过程并不那么复杂,当然,在部署过程中也发现了一些需要注意的细节问题,做了一些总结,放到博客上,有总结才有进步嘛。
AlwaysOn 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案。 SQL Server 2012 中引入了 AlwaysOn 可用性组功能,此功能可最大程度地提高一组用户数据库对企业的可用性。 “可用性组”针对一组离散的用户数据库(称为“可用性数据库”,它们共同实现故障转移)支持故障转移环境。 一个可用性组支持一组读写主数据库以及一至四组对应的辅助数据库。 (可选)可使辅助数据库能进行只读访问和/或某些备份操作。
下图显示一个可用性组,该组包含最大数目的可用性副本,即一个主副本和四个辅助副本。
------------------------------------------分割线-----------------------------------------------
本次本人做的测试截图已经上传到51CTO下载中心,如果有需要查看原图的,可以访问下面的链接下载:
51CTO文档下载地址
我觉得以后产品的测试部署就直接给大家上截图了,需要注意的我会在博客里面说出来,就不搞成系列了,没啥意思。截图中包含的内容如下。
------------------------------------------分割线-----------------------------------------------
本次部署所需要的虚拟机数量和IP地址规划如下表。
------------------------------------------分割线-----------------------------------------------
部署注意事项
在新建alwayson可用性组的过程中,碰到了“检查共享的网络位置”的错误,如图。
经过排查,确定是sql服务账户的问题,我当初安装SQL的时候使用的服务账户为localsystem账户,导致其他两个SQL被动节点在访问主动SQL节点的共享的时候,没有权限访问,所以这里提醒大家,如果数据库要启用alwayson,服务账户一定要最好使用domain user账户,后来,我分别登陆三个SQL节点,把SQL服务账户手动修改为域账户,如图。
再次选择初始数据同步的位置为共享,如图。
验证成功通过,如图。
------------------------------------------分割线-----------------------------------------------
SQL serveralwayson部署的参考资源,网上的资料还是比较丰富的,以technet库和msdn资源为主,当然也可以参考微软的MVP博客或者团队博客来进行测试,下面我搜集的一些入门资源提供给大家。
Justin Gao’s blog:http://blogs.technet.com/b/justin_gao/
SQL technet资源中心 :
Alwayson的优点
支持最多五个可用性副本。 “可用性副本”是可用性组的实例化,此可用性组由特定的 SQL Server 实例承载,该实例维护属于此可用性组的每个可用性数据库的本地副本。 每个可用性组支持一个主副本和最多四个辅助副本。
支持替代可用性模式,如下所示:异步提交模式。 此可用性模式是一种灾难恢复解决方案,适合于可用性副本的分布距离较远的情况。同步提交模式。 此可用性模式相对于性能而言更强调高可用性和数据保护,为此付出的代价是事务延迟时间增加。 一个给定的可用性组可支持最多三个同步提交可用性副本(包括当前主副本)。
支持几种形式的可用性组故障转移:自动故障转移、计划的手动故障转移(通常简称为“手动故障转移”)和强制的手动故障转移(通常简称为“强制故障转移”)。
利用只读连接访问,与副本的只读连接可以在此副本作为辅助副本运行时访问和读取其数据库。
当副本作为辅助副本运行时,对副本的数据库执行备份操作。通过使用活动辅助功能,可更好地利用辅助硬件资源,从而提高 IT 效率并降低成本。 此外,通过将读意向应用程序和备份作业转移到辅助副本,有助于提高针对主副本的性能。
支持每个可用性组的可用性组侦听器。 “可用性组侦听器”是一个服务器名称,客户端可连接到此服务器以访问 AlwaysOn 可用性组的主副本或辅助副本中的数据库。 可用性组侦听器将传入连接定向到主副本或只读辅助副本。 侦听器在可用性组故障转移后提供快速应用程序故障转移。
关于alwayson的相关术语解释
可用性组 (availability group):一个容器,用于一组共同实现故障转移的数据库(“可用性数据库”)。
可用性数据库 (availability database):属于可用性组的数据库。 对于每个可用性数据库,可用性组将保留一个读写副本(“主数据库”)和一个到四个只读副本(“辅助数据库”)。
主数据库 (primary database):可用性数据库的读写副本。
辅助数据库 (secondary database):可用性数据库的只读副本。
可用性副本 (availability replica):可用性组的实例化,该可用性组由特定的 SQL Server 实例承载,并维护属于该可用性组的每个可用性数据库的本地副本。 存在两种类型的可用性副本:一个“主副本”和一至四个“辅助副本”。
主副本 (primary replica):可用性副本使主数据库可用于来自客户端的读写连接,还用于将每个主数据库的事务日志记录发送到每个辅助副本。
辅助副本 (secondary replica):维护各可用性数据库的辅助副本的可用性副本,充当可用性组的潜在故障转移目标。 或者,辅助副本可以支持对辅助数据库进行只读访问,并支持对辅助数据库创建备份。
可用性组侦听器 (availability group listener):一个服务器名称,客户端可连接到此服务器以访问 AlwaysOn 可用性组的主副本或辅助副本中的数据库。 可用性组侦听器将传入连接定向到主副本或只读辅助副本。
详情参考:
Alwayson故障转移群集实例
作为 SQL Server AlwaysOn 产品/服务的一部分,AlwaysOn 故障转移群集实例利用 Windows Server 故障转移群集 (WSFC) 功能通过冗余在服务器实例级别(故障转移群集实例 (FCI))提供了本地高可用性。 FCI 是在 Windows Server 故障转移群集 (WSFC) 节点上和(可能)多个子网中安装的单个 SQL Server 实例。 在网络上,FCI 表现得好像是在单台计算机上运行的 SQL Server 实例,但它提供了从一个 WSFC 节点到另一个 WSFC 节点的故障转移(如果当前节点不可用)。
详情参考:
Alwayon可用性组概述
详情参考:
Alwayson可用性组入门
建议大家在部署时候,参考入门的步骤进行配置。
详情参考:
本文出自 “曾垂鑫的技术专栏” 博客,谢绝转载!