0
点赞
收藏
分享

微信扫一扫

SQLServer AlwaysOn FCI与AG组合

RIOChing 2023-01-10 阅读 144


在搭建了  AlwaysOn FCI 后,MSSQL 拥有了实例界别的高可用了。但是数据访问仍然存储在单个节点中,异地容灾还无法高可用。


如下图,在搭建 AlwaysOn FCI与AG组合 前,先搭建 Failover Cluster Instance(FCI):

SQLServer AlwaysOn FCI与AG组合_数据库


若此时磁盘损坏,或者双节点都宕机,这就需要异地的灾备中心上线了。为了保证异地的高可用,在本地高可用 FCI 上,搭建 alwayson 可用性组。

架构如下图:

SQLServer AlwaysOn FCI与AG组合_IP_02

注意:在配置可用性组时,所有节点都加入同一个群集中。使用的是 FCI 的虚拟IP。


异地节点的计算机先加入域,配置网络,配置防火墙,安装故障转移工具,安装数据库实例,设置账号等。

在现有的群集中,添加节点:

SQLServer AlwaysOn FCI与AG组合_数据库_03

SQLServer AlwaysOn FCI与AG组合_数据库_04

验证添加完成后,节点 “server112” 则添加到群集中。

接下来激活 alwayson 可用性组,在FCI的主节点实例中激活,新的节点也要激活,都需要重启一次实例。

SQLServer AlwaysOn FCI与AG组合_高可用_05

右键群集中 SQL server 应用属性,在首先所有者中,不需选择新增的节点。因为此实例是故障转移实例,不必把AG的节点选中。

SQLServer AlwaysOn FCI与AG组合_IP_06

现在好了,这样像正常一样配置可用性组了!访问时使用的是 FCI 的虚拟IP连接到群集实例中。

先在FCI的主节点实例中备份数据库,还原到新增的节点 (如 server112),按正常方法配置AG,完成如下。

SQLServer AlwaysOn FCI与AG组合_高可用_07

此时群集中的实例如下:

SQLServer AlwaysOn FCI与AG组合_高可用_08

搭建完成!!

在开放上线前测试一遍,进行FCI间的故障转移,注意别转到AG节点112(当然也会报错)

SQLServer AlwaysOn FCI与AG组合_数据库_09

在数据库内部,进行一次来回的 AG 故障转移:

SQLServer AlwaysOn FCI与AG组合_数据库_10

确定没什么问题,那就上线吧!

此外,还可以在AG 的单节点中再配置 FCI,当然AG只能在一个节点中读写,其他可设置只读。

SQLServer AlwaysOn FCI与AG组合_数据库_11


参考:​​Adding SQL Server AlwaysOn Availability Groups to existing Failover Clusters​​



举报

相关推荐

0 条评论