MSSQL 20212 高可用集群方案--2012的AlwaysOn高性能组件

简介:
AlwaysOn取数据库镜像和故障转移集群之长。AlwaysOn不再像故障转移集群那样需要共享磁盘,从而主副本和辅助副本可以更容易的部署到不同的地理位置;AlwaysOn还打破了镜像只能1对1的限制,
支持最多5个可用性伙伴,使得辅助副本不仅能用于高可用性的目的,还能用于只读访问,甚至可以在辅助副本上进行数据库备份。

1,在一台服务器上升级成域服务器(测试用的Win 2008 R2),配置3个域账号,作为目标服务器的登陆用户
2,安装一台服务器的“故障转移群集管理器”开始“创建群集向导”,添加另外2个服务器集群节点。(必须在域账户下登陆配置)
3,安装SQL 2012 ,并开启always on高性能组件
4,在每个SQL 2012启动账户分别设置成域账户启动,并将域账户设置成数据库管理员权限(SysAdmin)权限
5, 备份数据库到路径中,共享给其他域用户访问权限
6,按always on高性能组件一步步配置
7,如果配置监听有问题,可能是IP地址有冲突,默认设置一个其他没有使用的IP

问题:
   1,升级域后,发现无法登陆,原来创建了dba.ics.com登陆名要改成dba.ics.com/s21才能登陆
   2,创建的账户赋予admin权限和域管理员权限
   3,failover后发现主库服务器关机了。

如果是Windows 2012 R2 会有些不一样

   1,  3台服务器都安装“故障转移群集管理器”,只需配置集群就可,不需要配置多数仲裁
    2,3台SQL Server都按域账号启动,(否则不能配置成功AlwaysOn)
    3,可以还原备份和日志后,使用连接进行配置
    4,配置完always on会在“故障转移群集管理器” 有AlwaysOn的名称角色里,如果暂停角色,always on就会出现故障


一、具体的环境如下

在Windows域中,部署3台成员服务器用作SQL Server服务器,因为SQL Server 2012的高可用性组需要Windows的群集服务支持,所以必须预先在这些成员服务器上实现WSFC。服务器的操作系统均为Windows Server 2008 R2,
因此其WSFC的仲裁配置有多数(奇数)节点、节点(偶数)和磁盘多数、多数节点(偶数)和文件共享、非多数:仅磁盘等4种。在此,为了体现SQL Server AG无需要各节点共享存储设备这一特性,准备使用3个节点实现。
由于是奇数,所以选择多数节点仲裁配置。虽然这种仲裁配置不是被SQL Server 2012 AG推荐的,但是并不影响AG的实现和使用。

另外,由于本文着重讲述SQL Server 2012 AG的实现,所以对于服务器基本配置和网络设置,以及Windows活动目录和域的实现在此略去。

二、实现SQL Server 2012高可用性组必须的WSFC环境

首先在每台成员服务器上安装并配置WSFC,以配置SQL03为例:

1、安装WSFC群集组件

1)打开服务器管理器,选择“功能”,在右边窗口中点击“添加功能”。

图片1


2)在添加功能向导中,勾选“故障转移群集”,点击“下一步”。

图片1

3)在“确认安装选择”页面中,点击“安装”,进行安装操作。

图片1


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

图片1

2、配置WSFC

为所有节点均安装完“故障转移群集”服务后,在任意节点服务器的“服务器管理器”中展开“故障转移群集管理器”对WSFC进行配置。

1)通过“故障转移群集管理器”窗口点击“创建一个群集”打开“创建群集向导”

图片1

2)在“开始之前”页中,点击“下一步”。

图片1

3)添加所有服务器节点,即将环境中的3台成员服务器添加为群集节点服务器。点击“下一步”。

图片1

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

图片1

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

图片1

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

图片1

7)完成群集创建,点击“完成”关闭向导。

图片1

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

图片1

9)右击群集节点,在上下文菜单中点击“更多操作”,在扩展菜单中选择“配置群集仲裁设置”为该群集配置仲裁。

图片1

10)在“开始之前”页面中点击“下一步”。

图片1

11)根据此前的设计,由于是奇数节点,并且没有共享磁盘存储和共享文件夹存在,所以可以选择“多数节点”,点击“下一步”。

图片1

12)在“确认”页面中,点击“下一步”。

图片1

13)完成WSFC的仲裁配置。

图片1

至此,为SQL Server 2012 AG准备的WSFC环境已经完成。



三、为各节点服务器安装并配置SQL Server 2012,以SQL03为例进行如下操作。

1、安装SQL Server 2012

1)在节点服务器上,插入SQL Server 2012安装介质。运行“SQL Server安装中心”,选择“安装”,点击“全新SQL Server独立安装或向现有安装添加功能”。

注意:这里不要选择“新的SQL Server故障转移群集安装”,如果是故障转移群集安装的话最终将实现的是早期的SQL数据库群集,并且需要共享数据存储磁盘整列,导致所有SQL节点共享同一个数据存储副本。

图片1

2)使用安装程序支持规则验证是否通过。

图片1

3)指定产品密钥,或选择Evaluation版本。

图片1

4)接受许可协议

图片1

5)运行检查“安装程序支持规则”,验证SQL Server 2012运行环境是否符合要求。

图片1

与之前版本相同,需要对SQL Server必要的端口打开Windows防火墙的入站规则,比如TCP- 1433端口等。

特别注意:由于AG默认需要用到TCP-5022端口,所以该端口务必保证在Windows防火墙中开启,允许其入站访问。


6)设置SQL Server 2012服务器角色为“具有默认值的所有功能”,点击“下一步”。

图片1

7)在“功能选择”列表中选择实际所需功能,在此,为了简便不再进行自定义。直接使用默认选中组件。并且,需要指定相应的“共享功能目录”,即SQL Server的安装位置。

图片1

8)再次检查安装规则是否能正常执行通过。

图片1

9)选择并指定实例名,在此使用默认实例来进行示范,并且指定“实例根目录”。

图片1

10)检查磁盘空间要求是否达到SQL Server 2012的安装需求,点击“下一步”。

图片1

11)指定“服务账户”和“排序规则”,在此选择默认设置。如果需要在完成安装后进行自定义配置,点击“下一步”。

图片1

12)在“数据库引擎配置”页面中,指定服务器配置身份验证为默认的“Windows身 份验证模式”,“添加当前用户”为SQL Server的管理员,若有需要可进行响应的自定义配置。此外还可在“数据目录”选项卡中指定相应该实例默认的数据库文件存储路径。点击“下一步”。

图片1

13)在“Analysis Services配置”页面进行和“数据库引擎配置”页面中类似的配置。点击“下一步”。

图片1

14)在“Reporting Services配置”页面中,选择默认设置,点击“下一步”。

图片1

15)“添加当前用户”为“分布式重播控制器”的管理员。点击“下一步”。

图片1

16)为“分布式重播客户端”指定相应控制器和数据库目录。在此,采用默认配置,控制器名称可不填写。点击“下一步”。

图片1

注意:以上第13-16步根据第7步中所选功能不同,配置情况有所差异。


17)是否发送错误报告页面中可选择是否将错误报告发送给微软。

图片1

18)在进行安装前,执行最后一次“安装配置规则”检查,确认是否符合安装需求。

图片1

19)在“准备安装”页面中,确认之前进行的各种参数配置是否正确,如果无误,点击“安装”,启动安装进程。

图片1

20)安装完成后,得到成功完成的页面。如果在该页面中显示所有功能均为绿色对勾,那么证明SQL Server 2012安装无误。

图片1

21)可能在某些环境中安装,会收到如下提示,只需重启服务器操作系统即可。

图片1

2、为高可用性组配置SQL Server 2012数据库引擎服务。

1)在“开始”菜单中点击“所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打开“SQL Server配置管理器”。

图片1

2)在控制台中点击“SQL Server服务”节点,在右边窗口中右击“SQL Server (MSSQLSERVER)”,在上下文菜单中选择“属性”。

图片1

3)在弹出窗口中选择“AlwaysOn 高可用性”选项卡中勾选“启用AlwaysOn 可用性组”。点击“确认”。

图片1

4)在弹出警告对话框中提示该修改需要重启SQL Server数据库引擎服务才能生效,点击“确定”。


图片1

5)再次右击“SQL Server (MSSQLSERVER)”,在上下文菜单中选择“重新启动”,对数据库引擎执行重启操作。

图片1

6)为了避免在实现AlwaysOn Group时带来复杂的权限设置,建议将相关的SQL服务(如:SQL Server数据库引擎服务)启动登录身份由默认的“内置账户”改为指定的域账户。

图片1

7)建议为该域账户授予各节点SQL Server登录权限,并将各节点服务器账户指派为SQL Server登录账户。

图片1

posted @ 2021-11-26 11:23  DavidChild  阅读(829)  评论(0编辑  收藏  举报