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

注意点1

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

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

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

注意点2

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


步骤

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

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

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

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

3、验证配置

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

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

5、添加节点成功

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

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

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

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

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

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

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

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

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

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

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

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

11、异地节点添加完成

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

故障转移到DR站点之后

参考文章:

http://blog.itpub.net/29371470/viewspace-2087672

http://www.tech-coffee.net/understand-failover-cluster-quorum/

原文

(转载) 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)的更多相关文章

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

    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  2. (转载) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 步骤 这一篇依然使用step by step的方式 ...

  3. (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...

  4. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

  5. (转) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    原文地址: http://www.cnblogs.com/lyhabc/p/4682986.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建Alwa ...

  6. (转载) 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    安装完之后别忘了还需要安装SSMS,这是坑爹的地方之二,干嘛不集成到SQL Server安装包里还要用户自己单独下载 下载地址:https://msdn.microsoft.com/en-us/lib ...

  7. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  8. (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

  9. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

随机推荐

  1. 【C++札记】标准输入与输出

    概述 C语言中使用函数scanf和printf作为标准输入和输出,在C++中引入了类cin和cout进行标准输入和输出,所需头文件为<iostream>,命名空间是std.这里所说的标准输 ...

  2. js光标定位操作

    1. 自动选中区域内容 <html> <meta http-equiv="Content-Type" content="text/html; chars ...

  3. xorm - Update,乐观锁,更新时间updated,NoAutoTime()

    更新数据使用Update方法 Update方法的第一个参数为需要更新的内容,可以为一个结构体指针或者一个Map[string]interface{}类型. 当传入的为结构体指针时,只有非nil和非0的 ...

  4. 第13章 Salesforce Lightning应用程序

    13.1 Lightning应用程序 13.1.1 什么是闪电应用程序 Salesforce应用程序有两种风格:经典应用程序和闪电应用程序.经典应用程序在Salesforce Classic中创建和管 ...

  5. git学习笔记 ---版本退回

    我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...

  6. jdbcUrl is required with driverClassName

    https://blog.csdn.net/newbie_907486852/article/details/81391525 springboot2.0配置多数据源: spring.datasour ...

  7. (一) CentOS 7 进行 Docker CE 安装

    参考并感谢 官方文档: https://docs.docker.com/install/linux/docker-ce/centos/ 卸载旧版本 # 停止所有正在运行的容器 docker stop ...

  8. Java电商项目,秒杀,抢购等高并发场景的具体场景和一些概念以及处理思路

    这里我借鉴了网上其他大佬的观点: 一:高并发带来的挑战 原因:秒杀抢购会经常会带来每秒几万的高并发场景,为了更快的返回结果给用户. 吞吐量指标QPS(每秒处理请求数),假设一个业务请求响应耗时为100 ...

  9. vue 自定义image组件

    介绍 1:当图片加载失败时,给出错误提示. 2:当图片加载中时,给出加载提示. 3:图片处理模式:等比缩放/裁剪/填充/... 1.图片加载状态处理 通过给图片绑定load事件与error事件处理函数 ...

  10. Django:母版、继承、组件、自定义标签

    1.for循环应用 1.1for Variable Description forloop.counter 当前循环的索引值(从1开始) forloop.counter0 当前循环的索引值(从0开始) ...