从0开始搭建SQL

SQL Server的AlwaysOn错误19456和41158

从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

 

第一篇

第二篇

第三篇

第四篇

搭建非域AlwaysOn win2016 SQL2016

SQL Server AG集群启动不起来的临时自救大招

 

 

这一篇是从0开始搭建SQL Server AlwaysOn 的第四篇,这一篇开始搭建异地机房节点

 

注意点1

注意异地节点最好至少有2个AG节点,否则在本地节点进行手动故障转移的时候会出现仲裁警告,提示WSFC集群有脱机危险

在异地节点只有一个的情况下,虽然Windows2012R2有动态仲裁机制,但是,当本地节点非优雅宕机的情况下,整个WSFC集群有可能得不到任何票数

也就是异地节点也得不到票数而导致整个WSFC集群脱机!!

 

注意点2

当进行手动故障转移的时候,更新DNS缓存需要10分钟,所以当进行手动故障转移之后,用侦听器ip连接SQL Server会很慢,这是因为还在更新DNS缓存

 

 


步骤

这一篇依然使用step by step的方式介绍怎麽搭建AlwaysOn异地机房节点

 

新加异地机房节点机器名:

 

1、在异地节点上安装故障转移集群

 

 

2、在本地机房节点机器上打开故障转移集群管理器,添加一个节点

图片 1

 

3、验证配置

 图片 2

 

4、解决新加节点OU不同问题,只需修改组织单位ou,不需要修改站点site,因为如果本地机房和异地机房的域设置了site,在验证配置的时候会警告,当然可以忽略也可以修正

因为只是警告已而,忽略也无所谓

 

 

5、添加节点成功

图片 3

 

6、在新节点上安装好SQL Server并优化SQL Server,这里忽略安装和优化步骤

 

7、把异地机房新节点添加到alwayson可用性组里,打开alwayson的可用性属性界面,可用性组名称为:AGWMSJXC

 图片 4

可以看到添加了异地机房节点之后,这个异地机房节点还没有联接到可用性组,也就是当前可用性组还没识别到这个异地机房节点

图片 5

 

8、对侦听器添加另一个子网的VIP,这一步,如果可用性组没有启用可用性组侦听器那么这一步可以忽略

如果可用性组启用了侦听器,那么需要分两种情况

1、异地节点的网段跟本地机房是一样的,比如都是192.168.1.x ,那么这一步也不需要做

2、异地节点的网段跟本地机房是不一样的,也就是跨子网,比如本地机房是192.168.1.x,异地机房是192.168.10.x,那么这一步需要做

图片 6

图片 7

现在侦听器IP有两个,一个是本地机房网段的IP,一个是异地机房网段的IP

图片 8

 

添加了新的侦听器vip之后,故障转移集群管理器里会自动将这个侦听器vip资源脱机

 

 

 

9、新建一个测试可用性组,主要用来打通/开启本地节点和异地节点的5022端口

 图片 9

建好之后,在原AG刷新一下会看到异地节点JXCA-WMS08已经自动联接到可用性组AGWMSJXC

 

 

10、对数据库进行备份还原到异地节点JXCA-WMS08,在异地节点JXCA-WMS08上进行操作,将数据库逐个点击联接到可用性组

图片 10

 

11、异地节点添加完成

图片 11

 

 

12、手动故障转移主副本到异地节点

注意当只有一个异地节点的时候,正在验证WSFC仲裁投票配置那一栏会出现警告!

图片 12

故障转移之后会发现异地节点的侦听器ip联机,本地节点的侦听器ip脱机

图片 13

 

13、在异地节点上使用异地节点侦听器ip连接SQL Server,并写入测试数据

图片 14

 

14、把主副本手动故障转移回来本地节点

图片 15

 

15、用本地节点侦听器ip连接SQL Server,发现刚才对异地节点侦听器ip的数据写入都已经同步过来本地机房节点

 图片 16

 

16、添加WSFC集群IP地址资源的异地机房IP,在WSFC管理器里选中群集核心资源下面的服务器名称,右键-》属性

图片 17

添加一个异地机房的WSFC的vip:192.168.7.130

图片 18

图片 19

图片 20

添加成功之后vip会显示脱机这是因为当前WSFC主节点不在异地机房的节点上,而是本地机房的节点上

图片 21

 

 

17、把WSFC主节点转移到异地机房的某个节点,然后把本地所有节点都关机

图片 22

图片 23

 

这时候把本地机房的所有节点关机

 

图片 24

现在用异地机房节点的WSFC的vip连接WSFC集群

图片 25

图片 26

可以发现WSFC的主节点已经转移到WIN-BDKSOOLDV18这个异地节点上了,而且群集资源还是联机状态

图片 27

 

18、没有加入域的应用服务器(IIS服务器)如果需要用侦听器名称来连接alwayson集群是不行的,解决方法是修改

应用服务器的hosts文件,写上侦听器名和侦听器ip,这样客户端才能用侦听器名称连接alwayson集群,客户端的webconfig文件

里写侦听器名称,这样即使failover到异地节点也不需要修改应用服务器的webconfig文件,当然应用服务器加入了域就不用了,、

加入了域的应用服务器会自动去查询DC上的DNS管理器找到alwayson的侦听器名称

图片 28

图片 29

hosts文件

testaglisten  192.168.10.91
testaglisten  192.168.11.91

 

 

 

提示:实际上第16步不是必须的,你可以不添加WSFC的异地子网的vip,但是当本地机房所有节点关机之后

你就不能用本地的vip:192.168.6.60来连接WSFC集群,也就无法管理WSFC集群

 

 

附上结构图

两个网段,所以会有两个侦听器IP,但是同一个时刻只有一个侦听器IP是联机状态,在WSFC集群管理器里查看

主站点:192.168.6x

DR站点:192.168.7.x

图片 30

故障转移到DR站点之后

图片 31

 

 

参考文章:

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

 

最近在公司搞异地数据库容灾,使用AlwaysOn的异地节点进行数据同步,在搭建的过程中遇到了一些问题

软件版本

SQL Server2014

Windows2012R2

 

网络环境

两个机房,一个机房是一个网段,另一个机房是另一个网段,也就是两个子网,两个网段,但是在同一个域中,而且使用了VPN

图片 32

 

AlwaysOn是支持多子网的,在跨机房,多子网环境有几个地方需要注意

1、在搭建过程中需要把异地节点的投票权去掉,这个在搭建过程中没有遇到问题
NodeWeight
在任意集群节点上以域用户登录计算机,并以管理员身份运行powershell,并执行下面命令,JXxx08为异地节点的计算机名,把JXxx08节点的投票权设置为0
命令如下

Import-Module FailoverClusters
$node ="JXxx08"
(Get-ClusterNode $node).NodeWeight = 0
$cluster = (Get-ClusterNode $node).Cluster
$nodes = Get-ClusterNode -Cluster $cluster
$nodes | Format-Table -property NodeName, State, NodeWeight

 

 

2、由于可用性组建立了侦听器,那么在failover的时候会遇到侦听器IP不能覆盖另一个子网的问题,导致报错

无法将实例xxx联接到可用性组xxx

服务器“xxxxxx”无法承载为可用性组侦听器配置的任何 IP 地址。或者配置可承载指定 IP 地址之一的公共群集网络,或者添加可在此服务器的公共群集网络上承载的另一个侦听器 IP 地址。
无法将本地可用性副本联接到可用性组“xxxxxx”。该操作遇到了 SQL Server 错误 19456,已被回滚。有关详细信息,请查看 SQL Server 错误日志。在错误根源得到纠正后,请重试 ALTER AVAILABILITY GROUP JOIN 命令。 (Microsoft SQL Server,错误: 19456)

解决这个问题的方法是在侦听器里再添加另一个网段的vip

图片 33

图片 34

图片 35

图片 36

这样侦听器现在有两个网段的vip了,异地机房的侦听器IP在添加之后会自动脱机,不用理会它

 

3、由于是新添加的异地节点,添加到已有的可用性组中,那么可能遇到下面这个报错

无法将实例xxx联接到可用性组xxx

无法将可用性副本联接到可用性组xx,该操作遇到了SQL Server错误41106,已被回滚。
有关详细信息,请查看 SQL Server 错误日志。在错误根源得到纠正后,请重试 ALTER AVAILABILITY GROUP JOIN 命令。 (Microsoft SQL Server,错误: 41158)

这个问题跟多子网无关,在这里也顺便列出来了

解决方法是再随便新建一个AG,把异地节点也加入到这个AG里面,就可以解决

图片 37

图片 38

因为异地节点是新建进来的节点,AlwaysOn的镜像端点还没有设置才导致报上面的错误

 

 

希望这篇文章能帮助大家

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

本文由星彩网app下载发布于星彩彩票app下载,转载请注明出处:从0开始搭建SQL

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。