设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 安全 > 正文

从IT应用架构角度,畅谈双活数据中心容灾解决方案(2)

发布时间:2021-01-16 20:29 所属栏目:53 来源:网络整理
导读:要点: 两个数据中心分别部署一套存储,各提供一套LUN设备给全部数据库主机. 存储的SAN网络和RAC心跳网络需使用低延迟、高带宽的DWDM光纤链路. 配置ASM磁盘组.每个磁盘组配置两个失效组,每个失效组对应来自一套存储

要点:

  • 两个数据中心分别部署一套存储,各提供一套LUN设备给全部数据库主机.
  • 存储的SAN网络和RAC心跳网络需使用低延迟、高带宽的DWDM光纤链路.
  • 配置ASM磁盘组.每个磁盘组配置两个失效组,每个失效组对应来自一套存储的LUN设备.
  • 在第三个站点部署用于RAC的第3个投票盘,使用NFS的方式挂载到所有数据库主机.
  • 与管理普通的RAC系统类似,需要重点加强对站点间光纤链路情况的监控与应急.

内存库双活技术

内存库双活技术,将数据放在内存中直接操作的数据库,相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能.

应用场景:用于实时计费,读写分离场景,主要有Oracle Times Ten,Altibase商用以及华为等相关产品.内存库集群部署主要有HA模式,双活模式,线性拆分和分布式集群四种模式.

内存库通过复制手段,实时地复制到另外一个中心,它们之间是一个跨中心的数据,这是HA模式.另外双活模式,和这个模式是HA模式的延伸,可能一部分表是一个方向复制,另外一些表反过来.还有一种是线性拆分模式,将内存数据放在多个内存库集群中,每个内存库存放一部分数据,并互为备份,这种模式需要应用进行针对性改造.分布式集群模式,自动实现不同数据分片和副本机制,是目前比较流行的一种结构.

数据层双活技术比较

逻辑技术软件容易出现逻辑错误导致数据不一致,而且很难稽核.ADG模式数据在数据库级是完全一致的,当然前提是能正常同步,但是不支持两边同时能读写.从数据延迟来看,不管是ADG还是逻辑复制软件,都跟日志量有关系,后面会讲我们在不同日志量情况下做的测试延迟结果.

二、存储层

存储层作为双活系统核心基础架构平台,其双活技术在整个架构中起到关键作用,目前基于存储层双活方案主要有下面三种:

  • 基于远程卷管理软件的虚拟化,比如Symantec SF、IBM GPFS、Oracle ASM等.
  • 基于存储网关虚礼化,如EMC、vplex、IBM、SVC.在传统存储上面增加了一个虚拟化网关,在每个机房里面,新增存储虚拟化网关设备组成跨站点集群,并对存储卷进行重新封装,对外提供主机访问.
  • 存储卷镜像技术,将两套磁盘阵列组成一个集群,两台存储上的LUN被虚拟化为一个虚拟卷.

流派一 远程卷管理软件

  • 数据同步:底层数据复制采用远程卷管理软件,如赛门铁克的storage Foundation(SF)、IBM的GPFS、Oracle的ASM等,通过逻辑卷镜像技术实现底层数据逻辑同步.上层应用采用Oracle Extended RAC方案实现远程多节点RAC,使生产和容灾节点都处于在线状态,应用逻辑访问的是同一个数据库.
  • 数据读写:支持双读写.
  • 数据一致性:完全一致.

上面是不用远程卷管理软件的一个情况,我只需要认识到自己机房的存储就可以了.底层存储实现远程复制到容灾存储上,如果改造成远程管理软件,那么服务器既要认到本地存储也要认到对端存储,实现两边都是同时可以对存储读写的,而且还可以通过设置策略,写的话向2个存储同时写,读的话可以优先读本地的,从而可以加快读的速度.

流派二 存储网关虚拟化

实现原理:将存储虚拟化技术和Oracle的远程RAC技术结合,实现跨中心的数据双活访问.平时两边主机分别访问本地存储,故障情况下可垮中心访问对方存储.对于同一个数据块的读写冲突机制,是由Oracle RAC来保证的.存储不能直接给服务器访问,需要先通过中间层虚拟化网关设备,再访问存储.为了防止出现两个中心间网络全断情况下,两边互相不知道谁还活着,需要建一个仲裁节点(建议在第三个中心),实现让谁作为主,让谁作为访问的仲裁机制,从而防止数据不一致这种极端情况.

流派三 基于存储自身卷镜像

这是一个存储自身卷的镜像,这是一些新的设备情况,它的优点,整个网络架构没有改变,从主机到交换机到存储,也没有增加任何的设备,这种是相对来说比较易于实行(也需要一个仲裁站点).

存储层双活技术对比

这是一个存储层的双活技术比较,容灾技术有2个重要参数,RPO(故障恢复点)和RTO(故障恢复时间).这几种理论上都能实现RPO等于0,也能支持双活读写.从可靠性来看,这个数据不是完全决定的,需要根据实际情况定.从异构性来说,除了存储自身虚拟化和存储HA机制不支持外,其余都支持.但不管存储双活有哪几种,双活都需要用到远程Extend RAC.

三、接入/应用层

下图是一个例子,一个比较前端的系统,分为接入/接口层、应用层、主机/数据库层、存储层等,各个层面统筹考虑双活机制,才能实现零切换.首先不能像原来烟筒式的数据库连接,应考虑统一数据库访问接口,并实现应用自动重联机制,确保自动切换,减少人工切换.在应用层,则考虑双中心部署相同的应用集群方式,或跨中心的集群方式.

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读