码迷,mamicode.com
首页 > 数据库 > 详细

部署SQL2012 AlwaysOn可用性组<一>

时间:2016-12-09 20:11:35      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:sql   alwayson   主副本   辅助   故障转移集群   

部署SQL2012 AlwaysOn可用性组<一>

一、准备环境

1、准备3台计算机

   操作系统均为windows server 2008 R2

   数据库:test

  域控制器,IP:192.168.2.218/24

  主节点w65,IP:192.168.2.65/24

  辅助节点w67:IP:192.168.2.67/24

  测试关闭相关防火墙,安装相关组件如:framew 3.5 sp1,同时windows server 2008 R2安装SQL 2012 需要安装组件“Windows Server 2008 R2 Service Pack 1补丁包”


2、准备域环境

  AD02为域sz1card1.com的域控制器,机器都加入相应的域环境

  w65、w67服务器上均安装了SQL Server 2012数据库引擎。安装操作指引请参照http://daisywei.blog.51cto.com/7837970/1878988


二、部署高可用性组AlwaysOn

1、在w65服务器上安装群集组件(w67服务器也类似操作)。

   1)打开服务器管理器,选择“功能”,在右边窗口中点击“添加功能”,勾选“故障转移群集”,点击“下一步”。

   技术分享

   2)完成并关闭“故障转移群集”的安装

   技术分享

   注:W67也必须安装部署“故障转移群集”服务

   3)配置故障转移群集管理器(WSFC),在“故障转移群集管理器”窗口点击“创建一个群集”打开“创建群集向导”

   技术分享

   4)添加w65/w67服务器节点为群集节点服务器。点击“下一步”。

   技术分享

   5)在“验证警告”页面中,如果需要对基本环境(包括硬件)进行WSFC需求验证,可以选择“是”。在本示例中由于不必需进行验证,所以选择“否”。点击“下一步”。

   技术分享

   6)定义“用于管理群集的访问点”,为群集命名为SQLCluter,并指定群集IP地址192.168.2.70。点击“下一步”。

   技术分享

   7)确认之前配置信息,若无误,点击“下一步”,开始群集创建,并完成。

   

技术分享

技术分享


   8)在“故障转移群集管理器”会显示成功创建的群集,展开其“节点”,显示现有节点情况

   技术分享

   注:由于只有主和辅就需要仲裁配置,如果是奇数节点3台以上,建议配置仲裁故障转移!

   9)配置SQL Server 2012数据库启用AlwaysOn可用组。在“开始”菜单中点击“所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打开“SQL Server配置管理器”,在右边窗口中右击“SQL Server (MSSQLSERVER)”,在上下文菜单中选择“属性”。修改登录用户为域用户sz1card1.com\administrator(12345678)需要重启服务,选择“AlwaysOn 高可用性”选项卡中勾选“启用AlwaysOn 可用性组”。点击“确认”,需要重启服务。注:W67也同样操作

技术分享

技术分享

   10)为AlwaysOn高可用性组创建配置数据库test库,并且必须是“完整”恢复模式。

技术分享

   11)主服务器w65数据库test库已进行了一次完整备份,并且创建一个共享路径目录(BackUp),并允许所有节点服务器(SQL Server数据库引擎服务登录账户)能够通过UNC路劲进行可读写访问。

技术分享

技术分享

   12)创建高可用性组,在“开始”菜单中点击“所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打开“SQL Server Management Studio”,展开“AlwaysOn高可用性”节点,右击“可用性组”,在上下文菜单中,选择“新建可用性组向导”。

技术分享

   13)指定高可用性组名称为AGSQL01

技术分享

   14)选择满足条件的数据库,点击“下一步”。

技术分享

   15)为高可用性组添加其它SQL Server服务器节点为副本。点击“添加副本”按钮,一次添加所需SQL Server服务器,并且指定初始角色为“主”或“辅助”。最多可选2个副本实现自动故障转移,这两个副本将同时使用同步提交可用性模式。最多可支持3个 副本进行同步提交可用性模式,若使用异步提交必须强制手动故障转移。对于可读辅助副本设置来讲,可选择其为是否可读或仅读意向,需要注意只有主数据库副本才可写,要支持辅助也可读要选择"是"。

技术分享

技术分享

详细请参考:http://msdn.microsoft.com/zh-cn/library/ff877931.aspx

   16)点击“端点”选项卡,可以设置高可用性组的端点URL。使用默认设置即可。

技术分享

详细请参考:http://msdn.microsoft.com/zh-cn/library/ff878441.aspx

   17)在“备份首选项”中,指定作为备份副本的节点。默认是在“首选辅助副本”中进行备份。可以通过副本备份优先级来指定首选。默认所有节点均为50。

技术分享

   18)转到“侦听器”选项卡。暂时不创建侦听器。

技术分享

   19)初始化数据同步首选项,建议选择“完整”,并指定之前创建的UNC共享路径(BackUp)。点击“下一步”

技术分享

   20)验证是否满足高可用性组创建需求,如果结果全为绿色对勾,点击“下一步”。

技术分享

   21)等待向导完成创建SQL Server 2012高可用性组,并完成

技术分享

技术分享

注:有如下告警,说明高可用性组成功创建,但WSFC的“多数节点”仲裁模式不是被推荐的

技术分享

   22)创建成功后,在“可用性组”节点下显示“AGSQL01”的面板,可查看状态。

技术分享

2、可对AlwaysOn高可用性组的基本管理

   1)直接右击需要管理的高可用性组AGSQL01,在上下文菜单中可以选择为其“添加新数据库”、“添加副本”、“添加侦听器”及手动执行“故障转移”等操作。点击“属性”,也可以编辑SQLCluter的各种属性值。

技术分享

   2)在高可用性组的属性“常规”选项卡中,可以为其添加/删除数据库、副本节点,并配置各可用性副本节点的参数设定值。

技术分享

   3)在“备份首选项”选项卡中,可以修改相应副本节点的备份优先级和备份执行的位置。

技术分享

  注:由于上述没有创建侦听器,对侦听器操作暂时不做介绍。同时实际环境中建议不是奇数高可用组,并且创建侦听器实现故障自动转移。


3、插入数据同步验证

   1)在主库w65test数据库对表username插入一条记录,查看辅助库是否正常得到数据

   INSERT INTO username VALUES(1,‘TOM‘)

   技术分享

   2)在辅助W67数据库test库对表username插入记录或删除记录测试

   INSERT INTO username VALUES(2,‘JOIN‘)

   或

   DELETE username WHERE ID=1

   

技术分享

技术分享


三、故障转移测试

   1、在线手动故障切换

   1)w65服务器--AlwaysOn高可用性-->可用性组-->AGSQL01右键--故障转移,进入向导

   技术分享

   2)选择可用的新主副本,由于这里只有1台副本w67,默认勾选即可

   技术分享

   3)指定副本的连接,w67服务器,账号默认会是实例启动账号(sz1card1\administrator)

   技术分享

   4)完成,并等待切换(秒级大概在3s)

   

技术分享

技术分享

技术分享


   5)查看w67服务器SQL,AlwaysOn高可用性-->可用性组-->AGSQL01,已经从之前辅助变为主要,而w65变为辅助副本

   技术分享

   6)验证,这时向w67服务器test数据库,插入记录,w65查看同步情况;并向w65服务器test数据库尝试插入或删除记录(正常应该是只读)

   INSERT INTO username VALUES(2,‘JOIN‘)

   或

   INSERT INTO username VALUES(65,‘Jack‘)

技术分享

技术分享

   2、离线故障切换(模拟这时主副本w67故障,中断SQL服务或关闭w67服务器/断网)

   1)停止w67 SQL服务

   技术分享

   2)这时刚才w65服务器test库状态为变成“未同步”,并且AGSQL01组状态为“正在解析”(表示在尝试连接主副本)

   

技术分享

技术分享


   3)准备手动切换主副本至w65,AlwaysOn高可用性-->可用性组-->AGSQL01右键--故障转移,进入向导,选择默认主副本为w65

   技术分享

   4)完成,并等待切换

   

技术分享

技术分享


   5)查看w65AlwaysOn高可用性,从辅助变为主要,数据库test变为已同步,但是查看AGSQL01组状态面板,可以看到w67还是离线的不可用的

   技术分享

   6)验证,w65服务器test库是否可正常插入测试数据

   INSERT INTO username VALUES(65,‘Jack‘)

   技术分享

   7)恢复w67服务器,并观察AGSQL01组显示面板状态。w67会自动变为辅助服务器,test库数据自动同步,w65AGSQL01组状态显示面板主/辅副本自动恢复正常

  

技术分享

技术分享



本文出自 “一万小时定律” 博客,请务必保留此出处http://daisywei.blog.51cto.com/7837970/1881175

部署SQL2012 AlwaysOn可用性组<一>

标签:sql   alwayson   主副本   辅助   故障转移集群   

原文地址:http://daisywei.blog.51cto.com/7837970/1881175

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!