Windows Cluster失败后,AlwaysOn在残存Server节点上快速恢复DB的详细步骤
AlwaysOn是一种集合了高可用和灾难恢复两种功能的技术,它支持一个或多个数据库整体的发生故障转移,它实现了一定程度上的负载均衡,减轻了主服务器的压力,是目前最好的一种选择。那么当极端情况发生时,集群大多数节点都挂掉了,数据库所在的主节点Server也挂掉了。即当Windows 集群 Fail 时,如何快速从尚且存活的少数节点中,挑选一个来承接数据库服务。
1:测试目的
Windows Failover Cluster若因故障server节点太多, 会使整个Cluster fail, 此时其他残存server节点上的DB数据库都会变成Recovery Pending状态, 无法使用。下面的测试就是顽强还活着的节点中,挑一个使数据库快速恢复可用状态。
2:测试环境
Node1 | Node1 | Node1 | ClusterIP | ListenerIP |
172.XXX.XXX.112 | 172.XXX.XXX.113 | 172.XXX.XXX.114 | 172.XXX.XXX.115 | 172.XXX.XXX.117 |
ALWAYSONTEST01 |
ALWAYSONTEST02 |
ALWAYSONTEST03 | ||
Primary;Synchronous Commit |
Secondary;Synchronous Commit |
Secondary;Asynchronous Commit |
登录 此时的主节点,查看如下:
各节点运行正常。
3:测试步骤
Step 1:关闭2个节点(XXX.112;XXX.113)使 Windows Cluster Fail,Ping Cluster IP 显示超时。
----剩余172.XXX.XXX.114 保留非同步的副本。
Step 2:登入唯一的存活的节点172.XXX XXX.114,SQL 显示错误如下:
Step 3:刷新DB,查询可用性组和DB的状态已分别处于Resolving 和Recovery Pending,数据库不可用。
此时Listener IP 也不可用
Step 4: 查看对应的Cluster 服务对应的Service Name
(Server ManageràLocal ServeràServices)
或(Server ManageràToolsàComponent ServicesàServices)
Step5:手动停止群集服务
---- net.exe stop Cluster_Name(实为Service name)
成功关闭后172.XXX.XXX.115无法Ping 通
Step6:在单一节点上使用强制仲裁,藉以启动WSFC群集
---- net.exestart Cluster_Name/forcequorum
成功启动后Cluster IP 可以Ping 通;Listener IP 无法Ping 通
通过FailOver Cluster Manger 查看节点和AG的状态如下:
下图为各节点状态;
下图为高可用性组的状态
Step 7:重启SQL Serveice 服务
----(个别情况下:首先,Disable后restart,然后再Enable后restart)
Step 8:执行可用性群组的强制性手动容错转移
---- ALTER AVAILABILITY GROUP group_name FORCE_FAILOVER_ALLOW_DATA_LOSS (其中 group_name 是可用性组的名称)
Step 9:可用性组的状态变为Primary状态,DB显示同步,listener IP也为可用
步骤概况总结:
Windows Failover Cluster若因故障server太多, 会使整个cluster fail, 此时在其他残存server的DB, 会在Recovery Pending状态, 无法使用, 采用以下可使DB恢复使用.
停止群集服务 --> 强制仲裁以启动WSFC群集 --> 重启SQL Serveice服务 --> 执行可用性群组的强制性手动容错转移.
4:补充说明
此时Restart测试过程中关闭的节点(XXX.112;XXX.113),部署其上的DB显示Not Synchronizing。
本文版权归作者所有,未经作者同意不得转载,谢谢配合!!!
Windows Cluster失败后,AlwaysOn在残存Server节点上快速恢复DB的详细步骤的更多相关文章
- 教训 Mac下装windows系统 失败后 磁盘空间丢失
本来Mac上装的是win10 最近老提示快过期了 想到月底就要停止免费更新了 决定装一下win8 然后升级到win10 因为之前有过装win10的经验 所以很轻松 进入Mac 先到bootcamp 取 ...
- 删除Windows中隐藏的物理网卡和网络虚拟化失败后的虚拟网卡
Windows环境下,在更换硬件服务器主板和网卡等硬件.恢复操作系统或者网络虚拟化失败后,可能会出现网卡方面的问题.例如,设备管理器中多了不应该存在的网卡:因命名冲突无法重命名当前网络连接:IP地址冲 ...
- 宣布正式发布 Windows Azure Notification Hub,新增 SQL Server AlwaysOn 可用性组侦听器支持
今天,我们非常高兴地宣布,针对使用 Windows Azure 的移动和企业开发人员推出一些新功能.这些新功能可以减少构建移动应用程序的开发时间和成本,并能帮助企业开发人员实现高可用性和全球业务连续性 ...
- Windows 8.1升级至Windows 10后,启动VisualSVN Server Manager报错:提供程序无法执行所尝试的操作 (0x80041024)的解决
1.1.Windows 8.1升级至Windows 10后,启动VisualSVN Server Manager报错:提供程序无法执行所尝试的操作 (0x80041024),VisualSVN Ser ...
- Windows Service 之 安装失败后的删除
一个windows服务在卸载之后并不会马上从服务列表中消失掉,而是在服务列表中会显示服务被禁用:这样在你需要再次安装同名服务时,就装不了了,会被提示同名的服务已经存在.如果是在本地安装,这种情况很容易 ...
- SQL Server 2008 R2中配置作业失败后邮件发送通知
SQL Server日常维护中难免会遇到作业失败的情况.失败后自然需要知道它失败了,除了例行检查可以发现出错以外,有一个较实时的监控还是很有必要的.比较专业的监控系统比如SCOM虽然可以监控作业执行情 ...
- windows server服务器上mysql远程连接失败的坑
windows server服务器上mysql远程连接失败的坑 背景:趁这阿里云活动,和朋友合伙买了个服务器,最坑的是没想到他买的是windows Server的,反正便宜,将就着用吧,自己装好了wa ...
- Configure Red Hat Enterprise Linux shared disk cluster for SQL Server——RHEL上的“类”SQL Server Cluster功能
下面一步一步介绍一下如何在Red Hat Enterprise Linux系统上为SQL Server配置共享磁盘集群(Shared Disk Cluster)及其相关使用(仅供测试学习之用,基础篇) ...
- 记一次 windows server 2012R2 上安装 MSSQL2005 及网站发布
背景: 原因是因为没有购买新的数据库授权.由于之前服务器是windows 2003 由于后绪网站的版本可能会升到.net4.5 据说 2003上安装不起 所有由另一同事到客户安装一个window se ...
随机推荐
- cookie,webstorage的理解
在前两天的开发时,遇到一个问题,需要将一个网页在预加载时,优先出一个弹出框,但是再次加载时不希望它出现,在经过一段时间的搜索和尝试之后,发现了大多使用的两种方式:生成cookie和webStorage ...
- 读书笔记_python网络编程3_(2)
2.UDP 2.0.数据包表示较短的信息,大小通常不会超过几千字节,在浏览器与服务器进行会话/电子邮件客户端与ISP的邮件服务器进行会话时,这些独立而小型的数据包是如何组成会话的呢? 2.0.1.IP ...
- android tween animation合集
自己写的一些tween animation动画xml文件,可用于activity切换,图片切换动画等 http://files.cnblogs.com/zj2012zy/anim.rar
- go语言设计模式之proxy
代理模式,单元测试用例真的写得详细, 受教~ proxy.go package proxy import ( //"errors" "fmt" ) type U ...
- JetBrains IntelliJ IDEA 2019 for Mac(Java集成开发环境) 2019.3.1
IntelliJ IDEA 2019中文激活版已全新上线,intellij idea mac是目前编程人员最喜欢的Java集成开发环境,具备智能代码助手.代码自动提示.重构.J2EE支持.Ant.JU ...
- jenkins下载插件无插件显示+离线下载插件方法
1.打开Jenkins插件管理,可选插件为空,无法选择自己需要的插件进行下载 打开插件管理的“高级”选项,在升级站点填写 http://mirror.xmission.com/jenkins/upda ...
- 如何理解Virtual DOM
什么是虚拟DOM 接下来用vdom(Virtual DOM)来简称为虚拟DOM. 指的是用JS模拟的DOM结构,将DOM变化的对比放在JS层来做.换而言之,虚拟DOM就是JS对象.如下DOM结构: & ...
- 微服务、SpringCloud、k8s、Istio杂谈
一.微服务与SOA “微服务”是一个名词,没有这个名词之前也有“微服务”,一个朗朗上口的名词能让大家产生一个认知共识,这对推动一个事务的发展挺重要的,不然你叫微服务他叫小服务的大家很难集中到一个点上. ...
- oracle视图和索引
视图和索引 视图 视图的作用 控制数据访问.简化查询.避免重复访问相同的数据 视图的优点 限制用户只能通过视图检索数据,用户看不到底层基表 注意事项 视图可以理解为临时表,会随着真实表的数据变化而自动 ...
- 纯手打AJAX,还有一个对象转查询字符串的小方法obj=>url
function json2url(json){ var arr=[]; for(var name in json){ arr.push(name+'='+json[name]); } return ...