V1.0
Sunney Wang
2013.01.30
目录
SQL Server 2012 AlwaysOn高可用性组配置 1
V1.0 1
说明: 3
一、 准备环境 3
二、 配置WSFC 3
1. 安装WSFC群集组件 4
2. 配置WSFC 6
三、 安装SQL Server 2012实例 13
1. 安装SQL Server 2012 13
2. 启用AlwaysOn功能 33
四、 配置AlwaysOn高可用性组 37
1. 数据库设置 38
2. 创建高可用性组 41
3. 高可用性组管理 50
说明:
-
本文是基于Windows Server 2008 R2 SP1 的Windows Server Failover Cluster(WSFC)配置的,如果使用Windows Server 2012则不需要添加.net framework 3.5.1的步骤。
-
本文是实现1主2备,配置成节点多数模式,如果节点为偶数,需要添加1块仲裁盘配置成节点和磁盘多数模式。
-
1主1备+仲裁盘,配置成节点和磁盘多数的模式,配置方法和本文类似,没有特别需要注意的地方,只是WSFC群集资源上会有仲裁盘,但不需要手动干预。
-
准备环境
在Windows域中,部署3台成员服务器用作SQL Server服务器,因为SQL Server 2012的高可用性组需要Windows的群集服务支持,所以必须预先在这些成员服务器上实现WSFC。服务器的操作系统均为Windows Server 2008 R2 SP1,因此其WSFC的仲裁配置有多数(奇数)节点、节点(偶数)和磁盘多数、多数节点(偶数)和文件共享、非多数:仅磁盘等4种。在此,为了体现SQL Server AG无需要各节点共享存储设备这一特性,准备使用3个节点实现。由于是奇数,所以选择多数节点仲裁配置。虽然这种仲裁配置不是被SQL Server 2012 AG推荐的,但是并不影响AG的实现和使用。
域控服务器:所有节点都需要加入同一个域中。
节点1:SQL01
公网IP:10.86.xx.01
内网IP:192.168.0.11
节点2:SQL02
公网IP:10.86.xx.02
内网IP:192.168.0.22
节点3:SQL03
公网IP:10.86.xx.03
内网IP:192.168.0.33
如果配置节点和磁盘多数模式,还需要准备一块仲裁盘。
-
配置WSFC
AlwaysOn高可用性组依赖于WSFC,因此首先要在每个节点安装WSFC组件,并配置WSFC。
-
安装WSFC群集组件
-
打开服务器管理器,选择”功能”,在右边窗口中点击”添加功能”。
-
在添加功能向导中,勾选”故障转移群集”,点击”下一步”。
-
在”确认安装选择”页面中,点击”安装”,进行安装操作。
-
完成并关闭”故障转移群集”的安装。
-
配置WSFC
为所有节点均安装完“故障转移群集“服务后,在任意节点服务器的“服务器管理器“中展开“故障转移群集管理器“对WSFC进行配置。
-
通过”故障转移群集管理器”窗口点击”创建一个群集”打开”创建群集向导”
-
在”开始之前”页中,点击”下一步”。
-
添加所有服务器节点,即将环境中的2台成员服务器添加为群集节点服务器。点击”下一步”。
-
在”验证警告”页面中,如果需要对基本环境(包括硬件)进行WSFC需求验证,可以选择”是”。在本示例中由于不必进行验证,所以选择”否”。点击”下一步”。
-
定义”用于管理群集的访问点”,为群集进行名,并指定群集IP地址。点击”下一步”。
-
确认之前配置信息,若无误,点击”下一步”,开始群集创建。
-
完成群集创建,点击”完成”关闭向导。
-
在”故障转移群集管理器”会显示成功创建的群集,展开其”节点”,显示现有节点情况。
-
右击群集节点,在上下文菜单中点击”更多操作”,在扩展菜单中选择”配置群集仲裁设置”为该群集配置仲裁。
-
在”开始之前”页面中点击”下一步”。
-
根据此前的设计,由于是奇数节点,并且没有共享磁盘存储和共享文件夹存在,所以可以选择”多数节点”,点击”下一步”。
-
在”确认”页面中,点击”下一步”。
-
完成WSFC的仲裁配置。
-
安装SQL Server 2012实例
-
安装SQL Server 2012
SQL Server 2012需要.net framework 3.5的支持,Windows Server 2008 R2 SP1默认没有添加该组件,首先应该安装该组件。
本文是安装SQL Server 2012默认的功能,如果自定义安装功能,可能有些界面不会出现。
-
在节点服务器上,插入SQL Server 2012安装介质。运行”SQL Server安装中心”,选择”安装”,点击”全新SQL Server独立安装或向现有安装添加功能”。
-
使用安装程序支持规则验证是否通过。
-
指定产品密钥,或选择Evaluation版本。
-
接受许可协议
-
运行检查”安装程序支持规则”,验证SQL Server 2012运行环境是否符合要求。
与之前版本相同,需要对SQL Server必要的端口打开Windows防火墙的入站规则,比如TCP- 1433端口等。
Note: |
特别注意:由于AG默认需要用到TCP-5022端口,所以该端口务必保证在Windows防火墙中开启,允许其入站访问。 |
-
设置SQL Server 2012服务器角色为”具有默认值的所有功能”,点击”下一步”。
这里也可以选择”SQL Server功能安装”,自定义选择安装功能。
-
在”功能选择”列表中选择实际所需功能,在此,为了简便不再进行自定义。直接使用默认选中组件。并且,需要指定相应的”共享功能目录”,即SQL Server的安装位置。
-
再次检查安装规则是否能正常执行通过。
-
选择并指定实例名,在此使用默认实例来进行示范,并且指定”实例根目录”。
-
检查磁盘空间要求是否达到SQL Server 2012的安装需求,点击”下一步”。
-
指定”服务账户”和”排序规则”,在此选择默认设置。如果需要在完成安装后进行自定义配置,点击”下一步”。
这里SQL Server数据库引擎的账户名最好使用域管理员账户,或者将
NT Service\MSSQLSERVER账户加入域管理员组。
-
在”数据库引擎配置”页面中,指定服务器配置身份验证为默认的”Windows身份验证模式”,”添加当前用户”为SQL Server的管理员,若有需要可进行响应的自定义配置。此外还可在”数据目录”选项卡中指定相应该实例默认的数据库文件存储路径。点击”下一步”。
-
在”Analysis Services配置”页面进行和”数据库引擎配置”页面中类似的配置。点击”下一步”。
-
在”Reporting Services配置”页面中,选择默认设置,点击”下一步”。
-
“添加当前用户”为”分布式重播控制器”的管理员。点击”下一步”。
-
为”分布式重播客户端”指定相应控制器和数据库目录。在此,采用默认配置,控制器名称可不填写。点击”下一步”。
Note: |
注意:以上第13-16步根据第7步中所选功能不同,配置情况有所差异。 |
-
是否发送错误报告页面中可选择是否将错误报告发送给微软。
-
在进行安装前,执行最后一次”安装配置规则”检查,确认是否符合安装需求。
-
在”准备安装”页面中,确认之前进行的各种参数配置是否正确,如果无误,点击”安装”,启动安装进程。
-
安装完成后,得到成功完成的页面。如果在该页面中显示所有功能均为绿色对勾,那么证明SQL Server 2012安装无误。
-
可能在某些环境中安装,会收到如下提示,只需重启服务器即可。
-
启用AlwaysOn功能
默认情况下,AlwaysOn功能不启用,如果要配置AlwaysOn高可用性组,必须对所有节点启用AlwaysOn功能。
-
在”开始”菜单中点击”所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打开”SQL Server配置管理器”。
-
在控制台中点击”SQL Server服务”节点,在右边窗口中右击”SQL Server (MSSQLSERVER)”,在上下文菜单中选择”属性”。
-
在弹出窗口中选择”AlwaysOn 高可用性”选项卡中勾选”启用AlwaysOn 可用性组”。点击”确认”。
-
在弹出警告对话框中提示该修改需要重启SQL Server数据库引擎服务才能生效,点击”确定”。
-
再次右击”SQL Server (MSSQLSERVER)”,在上下文菜单中选择”重新启动”,对数据库引擎执行重启操作。
-
为了避免在实现AlwaysOn Group时带来复杂的权限设置,建议将相关的SQL服务(如:SQL Server数据库引擎服务)启动登录身份由默认的”内置账户”改为指定的域账户。
-
建议为该域账户授予各节点SQL Server登录权限,并将各节点服务器账户指派为SQL Server登录账户。
以上步骤在所有节点上均进行相同的操作。
-
配置AlwaysOn高可用性组
创建AlwaysOn可用性组的过程中可以自动将主节点上的数据库还原到备节点,你也可以为备节点手动准备数据库。本文采用自动的方式。
详情见官方文档:
-
数据库设置
AlwaysOn需要数据库符合一定的条件,才能进行相关的配置。
-
主数据库的恢复模式必须是”完整”恢复模式。
-
主数据库已进行了一次完整备份。
-
需要一个共享路径提供给备份文件存储,并允许所有节点服务器(SQL Server数据库引擎服务登录账户)能够通过UNC路径进行读/写访问。
-
创建高可用性组
-
在”开始”菜单中点击”所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打开”SQL Server Management Studio”。
-
展开”AlwaysOn高可用性”节点,右击”可用性组”,在上下文菜单中,选择”新建可用性组向导”。
-
在”简介”页面点击”下一步”。
-
为将要创建的高可用性组指定名称。
-
选择满足加入高可用性组条件的数据库,点击”下一步”。
-
为高可用性组添加其它SQL Server服务器节点为副本。点击”添加副本”按钮,一次添加所需SQL Server服务器,并且指定初始角色为”主”或”辅助”。最多可选2个副本实现自动故障转移,这两个副本将同时使用同步提交可用性模式。最多可支持3个副本进行同步提交可用性模式,若使用异步提交必须强制手动故障转移。对于可读辅助副本设置来讲,可选择其为是否可读或仅读意向,需要注意只有主数据库副本才可写。
-
点击”端点”选项卡,可以设置高可用性组的端点URL。使用默认设置即可。
-
在”备份首选项”中,指定作为备份副本的节点。默认是在”首选辅助副本”中进行备份。可以通过副本备份优先级来指定首选。默认所有节点均为50。
-
为高可用性组创建侦听器,指定其DNS名称的Host Name和端口,建议IP地址使用静态IP,并且添加新的群集IP作为高可用性组使用,如此可以指定SQL Server的默认端口1443,以便简化客户端访问的配置。
-
初始化数据同步首选项,建议选择”完整”,并指定之前创建的UNC共享路径。点击”下一步”。
-
验证是否满足高可用性组创建需求,如果结果全为绿色对勾,点击”下一步”。
-
检查并确认之前的配置信息,若无误,点击”完成”。另外,此处也可保存建组脚本,以便分步诊断故障之用。
-
等待向导完成创建SQL Server 2012高可用性组。
-
知道最终完成,所有摘要均成功完成,显示绿色对勾。如果出现黄色警告,则需进行进一步判断是否成功。若出现红色错误,表示创建AG不成功。
在此,出现了黄色告警,点击“警告“,在弹出对话框中显示如下:
可以表明高可用性组成功创建,但WSFC的仲裁模式不是被推荐的。我们可以忽略。
-
返回SSMS窗口,在”可用性组”节点下显示”AG01″的面板,可以观察该高可用性组的状态。
-
高可用性组管理
创建完成高可用性组后,可用通过SSMS对高可用性组进行基本的管理。
-
直接右击需要管理的高可用性组,在上下文菜单中可以选择为其”添加新数据库”、”添加副本”、”添加侦听器”及手动执行”故障转移”等操作。点击”属性”,也可以编辑该AG的各种属性值。
-
在高可用性组的属性”常规”选项卡中,可以为其添加/删除数据库、副本节点,并配置各可用性副本节点的参数设定值。
-
在”备份首选项”选项卡中,可以修改相应副本节点的备份优先级和备份执行的位置。
-
针对高可用性组中具体的副本节点配置,可以展开该组中”可用性副本”,右击需要配置的副本节点,在上下文菜单中点击”属性”。
-
在其”常规”选项卡中可以修改配置当前副本节点”可用性模式”、”故障转移模式”以及”会话超时”时间等。
-
可以通过右击”可用性组侦听器”中的具体侦听器,打开其”属性”,对侦听器进行相应配置。
-
可以修改侦听器的侦听端口,从而指定客户端访问AG中数据库所需要连接的服务端口。
至此,基于WSFC实现SQL Server 2012高可用性组的主要操作介绍完毕。总结关键步骤如下,首先配置WSFC,然后在各节点独立安装SQL Server 2012实例(非群集实例),完成安装后在SQL Server配置管理器中针对数据库引擎服务启用“高可用性组“功能,最后通过SQL Server Management Studio创建和维护高可用性组。