SQLServer 2014 本地机房HA+灾备机房DR解决方案
SQLServer 2014 主数据中心HA+灾备机房DR解决方案
SQLServer 2008 的时候使用 local WSFC+DR
Mirror方式,对象是单数据库
两个单独的 WSFC 上使用两个 FCI
每个WSFC有两个以上的节点
数据库镜像允许单独 WSFC 上的多个 FCI 使用相同的实例名称
SQLServer 2012/2014 的时候使用 local WSFC+DR
AG方式,对象是可用性组(一般为整个实例)
单个 WSFC 上使用两个 FCI
单个 WSFC 含有四个以上节点,每个FCI(failover cluster
instance)有两个以上的节点
在同一个 WSFC 内,两个 FCI 必须使用不同的实例名称,例如,使用“INST_A”作为主 FCI
的实例名称,使用“INST_B”作为 DR FCI 的实例名称
核心业务dr使用集群
非核心业务dr使用单实例
(*)由于跨机房的WSFC,共享存储的注意事项
每个
FCI 都有自己的共享存储(其他数据中心内的节点无法访问),称作非对称存储
两个 FCI
中的数据库文件和事务日志文件也应该使用完全相同的文件路径,磁盘应使用完全相同的驱动器号(避免搭建ag,还原辅助副本的时候使用restore with
move/创建文件组或者日志操作的失败)
每个FCI中,SQL Server 实例的 FCI
故障转移是自动执行的;AG的故障转移模式必须是手动,AG同步模式建议异步提交
(*)由于跨机房的WSFC,仲裁投票、仲裁模型 的注意事项
默认情况下,故障转移群集中的每个节点都具有投票( 节点的 NodeWeight
属性),引入一个修补程序 (http://support.microsoft.com/kb/2494036(用于将
1 个投票分配给 WSFC 中的特定节点,将 0 个投票分配给其他一些节点),拓扑中的每个节点上都必须安装此修补程序
投票方案:
- 主数据中心的每个节点有 1 个投票
- DR数据中心的每个节点有 0 个投票
作为最佳做法,WSFC
的投票总数应为奇数。如果投票节点数目为偶数(上图示例拓扑),应在各自FCI中备机节点(避免使用文件仲裁,管理成本高)
(*)发生dr切换时
如果主数据中心发生停机,正常切换到DR数据中心时,需要对DR重新设置仲裁配置。必须向DR数据中心的每个节点都分配一个投票,而将主数据中心每个节点上的投票都设置为“0”
当主数据中心恢复活动后,还要再次对投票进行调整
--查看仲裁设置
SELECT cluster_name, quorum_type_desc,
quorum_state_desc
FROM sys.dm_hadr_cluster;
--查看是否有投票权
SELECT member_name, number_of_quorum_votes
FROM sys.dm_hadr_cluster_members
order by number_of_quorum_votes
desc
--完全设置
PowerShell
查看所有节点的当前投票设置
Get-ClusterNode | fl NodeName, NodeWeight
将某一节点的投票设置为“0”
(Get-ClusterNode "DRNode1").NodeWeight=0
--注意:
windows故障转移集群+ag环境时,不能再将ag的自动故障转移打开,但可以打开同步模式
由于只能使用windows故障转移,所以避免主机房节点失败,没有正常切换到主机房的备机,需要拉掉dr机房的投票权(避免故障转移到dr,实际上搭ag之前需要拉掉overlap的节点,不允许集群不同实例间出现节点交叉)
The FCI already has automatic failover configured
between the nodes.
The current implementation of AG doe not allow a
failover outside of the FCI nodes.
详见:
https://blogs.msdn.microsoft.com/arvindsh/2012/09/26/alwayson-availability-group-forced-failover-under-the-hood/
SQLServer 2014 本地机房HA+灾备机房DR解决方案的更多相关文章
- Linux实战教学笔记48:openvpn架构实施方案(一)跨机房异地灾备
第一章VPN介绍 1.1 VPN概述 VPN(全称Virtual Private Network)虚拟专用网络,是依靠ISP和其他的NSP,在公共网络中建立专用的数据通信网络的技术,可以为企业之间或者 ...
- 项目(十)openvpn架构实施方案(一)跨机房异地灾备
第一章VPN介绍 1.1 VPN概述 VPN(全称Virtual Private Network)虚拟专用网络,是依靠ISP和其他的NSP,在公共网络中建立专用的数据通信网络的技术,可以为企业之间 ...
- vitess元数据跨机房灾备解决方案
测试使用vitess的时候发现vitess元数据的实现有多种方案,etcd, etcd2, zk,zk2, 由于刚开始测试的时候使用的是基于k8s集群+etcd的,以下就分步说明灾备实现方案: 1. ...
- 如何守护数据安全? 这里有一份RDS灾备方案为你支招
当今世界是一个充满着数据的互联网世界,生活的方方面面都在不断产生着数据,比如出行记录.消费记录.浏览的网页.发送的消息等等.除了文本类型的数据,图像.音乐.声音都是数据.对于企业而言,数据更是重要的生 ...
- NOS跨分区灾备设计与实现
本文来自网易云社区 作者:王健 摘要 NOS(网易对象存储)在实现多机房(杭州机房,北京机房等)部署后,允许一个用户在建桶时选择桶所属机房.在此基础上,我们实现了跨机房的数据复制,进一步实现了跨机房的 ...
- 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- Redis Sentinel集群双机房容灾实施步骤
概要目标防止双机房情况下任一个机房完全无法提供服务时如何让Redis继续提供服务.架构设计A.B两机房,其中A机房有一Master一Slave和两个Sentinel,B机房只有2个Sentinel,如 ...
- openStack灾备方案说明
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1) OpenStack 高可用方案概述 (2) Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3 ...
- openStack高可用性和灾备方案
1. 基础知识 1.1 高可用 (High Availability,简称 HA) 高可用性是指提供在本地系统单个组件故障情况下,能继续访问应用的能力,无论这个故障是业务流程.物理设施.IT软/硬件的 ...
随机推荐
- MySQL Errno : 1062 错误修复
网站突然出现如下错误: MySQL Error : Duplicate entry '1' for key 'views' MySQL Errno : 1062 Message : Duplicate ...
- 20155324 2016-2017-2 《Java程序设计》第6周学习总结
20155324 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 InputStream与OutputStream 串流设计 1.串流:Java将输入/输出抽 ...
- Docker 容器暂停服务 - 七
docker pause :暂停容器中所有的进程docker unpause :恢复容器中所有的进程 docker pause [OPTIONS] CONTAINER [CONTAINER...] d ...
- jdk环境配置以及java执行过程
下载好jdk,并按照提示一步步安装,最后记下jdk所在的安装位置,这里假设在C:\Program Files (x86)\Java\jdk1.8.0_20 现在开始配置环境变量.鼠标右键点击“计算机” ...
- CentOS6.8合并DVD1和DVD2作为本地yum源
转载自:http://www.study365.org/blog/45.html CentOS一般都会提供DVD1和DVD2两个镜像文件,形如CentOS-6.8-x86_64-bin-DVD1.is ...
- 《一头扎进SpringMvc视频教程》Rest风格的资源URL
5.@PathVariable和@RequestParam的区别 请求路径上有个id的变量值,可以通过@PathVariable来获取 @RequestMapping(value = "/ ...
- Log4j日志根据配置输出到多个自定义文件
最近工作中遇到所有日志需要记录到一个文件,而错误的sql执行记录到另一个文件中,查询了一些资料搞定,记录下来.顺便吐槽下公司限制印象笔记的使用. ##log4j.rootLogger=INFO, CO ...
- ajax跨域请求 Uncaught SyntaxError: Unexpected token :
最近使用前后端分离开发项目比较多,经常碰到的一个问题就是,前端静态页面请求,后端api获取数据,很多时候,前端和后端都不是在同一个域下的(协议,域名,端口). 这里使用的是ajax请求,因为浏览器的同 ...
- 从运维角度来分析mysql数据库优化的一些关键点【转】
概述 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善. 1.数据库表设计 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分 ...
- pt-table-sync 使用方法【转】
28. pt-table-sync28.1 pt-table-sync 作用 使用对两个库不一致的数据进行同步,他能够自动发现两个实例间不一致的数据,然后进行sync操作,pt-table-sync无 ...