1、,双活数据中心技术架构,常见容灾模式,主备模式 冷备 切换,A中心,B中心,A中心,B中心,双中心互备模式 复制 切换,1、故障下需要定位+决策 +切换流程,超过0.5小时 2、容灾侧资源闲置 3、SRDF、PPRC等技术,1、故障下需要定位+决策+ 切换流程,超过0.5小时 2、劢态资源管理技术,容灾 资源闲置 3、 SRDF、PPRC等技术,双活并行模式 并行 处理,A中心,B中心,两个中心平时均可承担业 务,同时对外服务,坏掉 任何一方丌影响。,生产生产,容灾容灾,生产 容灾,容灾 生产,生产 生产,生产 生产,传统方案:“主备”模式或“互备”双中心模式,“双活并行处理”模式,做到准0切
2、换,双活应用架构,接入层:借劣DNS、全局负载均衡 等技术实现双活接入和智能路由, 流量调配 应用层:基亍开放分布式集群架构、 或服务总线技术 数据层:需要构建双中心同时可读 写的机制,如远程RAC 基础架构层:网络上对稳定性和带 宽吞吐性能要求更高,甚至需要打 通跨中心的大二层网络。存储方面, 则需改变一主一备的读写机制,实 现同时可读写。,接入层改造,智能路由,流量调配 数据层连接自劢重连 Ebus服务总线,分布式集 群架构,核心数据层,应用层 部署、接口,数据库层 技术改造,存储层 优化改造,基础架构 层,数据层,应用层,双活零切换, DNS、全局负载均衡等,如Oracle extend
3、 rac 分布式内存库,带宽、稳定性、大二层 存储支持双活读写,接入层,数据层 存储层 接入/应用层 虚拟化/云平台 技术关键点,数据层双活三种方式,Active-Standby方式:基于Oracle ADG技术,采用从 主库向备库传输redo日志方式,备库恢复数据过程可 以用只读方式打开进行查询操作,实现了部分双活功 能,在主节点故障后可以将备节点切为 Active-Active方式:通过Oracle Extend RAC实现多 个集群节点同时对外提供业务访问。该方式做到故障 无缝切换,提升应用系统整体性能。数据逻辑复制软件方式:通过实时抽取在线日志中的 数据变化信息,然后通过网络将变化信息
4、投递到目标端, 最后在目标端还原数据,从而实现源和目标的数据同步。,主数据库,目标库,方式1、oracle ADG,通过网络从生产向容灾传输归档或redo 日志,容灾端恢复方式同步数据。 Oracle 11g 以后容灾库可打开为只读模 式,容灾切换时能快速alter为读写状态。 存储支持异构,OS需要同构 应用场景: 作为应急或容灾 作为读写分离 作为数据保护手段(结合flash DB),Network,调度管理器,Primary 数据库,逻辑Standby(ADG) 数据库(平时只读访问),实时查询 报表,SQL 恢复,转换,Redo 成为SQL,额外 索引&物化视图,物理Standby 数
5、据库(平时不能打开)备份Redo 恢复 DIGITAL DATA STORAGE DIGITAL DATA STORAGE,同步或异步 Redo 传送,ADG = Active Data Guard,方式2、逻辑复制,通过DSG、GoldenGate等逻辑复制技术 实现跨中心数据库的相互复制 支持表级的复制 两个数据中心各建一套数据库,物理独 立,同时能读写 基于数据库日志准实时复制数据 支持异构数据库、异构OS 可以实现一对一、一对多、多对一、双 向复制等多种拓扑结构,Dsg工作原理,方式3、Oracle 远程RAC,Oracle Extended RAC以跨中心共享存 储为基础,通过共享存
6、储资源和Oracle Clusterware数据库集群管理,实现各个 中心节点对数据库并行访问。 共享存储可以采用存储自身数据复制技,术,存储虚拟网关或远程卷管理等技术, 左图以Oracle ASM存储卷管理为例,实 现数据的双向实时复制。 ASM支持对本地磁盘的优先读取,避免 跨数据中心的数据读取,提高I/O性能并 减少网络流量;,要点(ASM): 两个数据中心分别部署一套存储,各提供一套LUN设备给全部数据 库主机。 存储的SAN网络和RAC心跳网络需使用低延迟、高带宽的DWDM光 纤链路。 配置ASM磁盘组。每个磁盘组配置两个失效组,每个失效组对应来 自一套存储的LUN设备。 在第三个站
7、点部署用亍RAC的第3个投票盘,使用NFS的方式挂载到 所有数据库主机。 不管理普通的RAC系统类似,需要重点加强对站点间光纤链路情况 的监控与应急。,内存库双活技术,将数据常驻在内存中直接操作的数据 库。 相对于磁盘,内存的数据读写速度要 高出几个数量级,将数据保存在内存 中相比从磁盘上访问能够极大地提高 应用的性能 应用场景:用于实时计费、读写分离 场景,主要有Oracle Times Ten, Altibase商用以及华为、亚信和斯特 奇等自研产品。 内存库集群部署主要有HA模式,双 活模式,线性拆分和分布式集群四种 模式。,HA模式,双活模式,线性拆分模式,分布式集群模式,数据层双活技
8、术比较,建议:在实际使用中应根据具体情况选择合适的方案,理论上只有Extended RAC为真正的双读双写,数据层 存储层 接入/应用层 虚拟化/云平台 技术关键点,存储双活流派,存储层作为双活系统核心基础架构平台, 其双活技术在整个架构中起到关键作用, 目前基于存储层双活方案主要有下面三种: 基于远程卷管理软件的虚拟化,如: Symantec SF,IBM GPFS , Oracle ASM等 基于存储网关虚拟化,如:EMC vplex、 IBM SVC 基于存储自身卷镜像技术,HDS GAD 、 Huawei等,1. 卷管理软件虚拟化:通过安装在主机上卷管理软件的逻辑卷镜 像技术实现底层数
9、据逻辑同步。,存储网关虚拟化:在每个站点 新增存储虚拟化网关设备组成 跨站点集群,并对存储卷进重新 行封装,对外提供主机I/O访问。存储卷镜像技术:将两套磁盘阵列组成一个集群,两台存储上的 LUN被虚拟化为一个虚拟卷,主机写操作通过卷虚拟化镜像技术同 时写入两个数据中心的存储设备,保证站点之间数据实时同步。,流派1、远程卷管理软件,数据同步:底层数据复制采用远程 卷管理软件,如赛门铁克的storage Foundation(SF)、IBM的GPFS、 Oracle的ASM等,通过逻辑卷镜像 技术实现底层数据逻辑同步。上层应 用采用Oracle Extended RAC方案实 现远程多节点RAC
10、,使生产和容灾节 点都处于在线状态,应用逻辑访问的 是同一个数据库。 数据读写:支持双读写。 数据一致性:完全一致。,流派1、远程卷管理软件,案例: IBM GPFS+oracle 11g Extended RAC 应用场景:一边承担生产,另一端 承载统计分析和查询 实施要点: 网络改造:需要打通两个中心间大二 层网络。 底层存储链路改造:需要认到对端机 房存储,带宽要求高。 提供可靠性较高的二层网络(心跳网 络) 提供可靠性较高的共享存储(投票盘) 对底层链路和距离要求高:距离太远 会导致响应变慢,官方建议50KM之内。,流派2、存储网关虚拟化,实现原理:将存储虚拟化技术(EMC 的vple
11、x)和Oracle的远程RAC技术结 合,实现跨中心的数据双活访问。 跨中心的两个存储通过网关设备虚 拟成一个对外访问,内部实时同步, 保持数据的一致性,平时两边主机 分别访问本地存储,故障情况下可 跨中心访问对方存储。 对于同一个数据块的读写冲突机制, 是由Oracle RAC来保证的。 具备脑裂预防服务器“witness”: witness是VPLEX的仲裁装置;,流派3、基于存储自身卷镜像,不需要额外软硬件,需要采用特定 高端存储设备,如VSP、XP7以上 才可以。 存储网络架构没有改变,易于实行。 两边存储可以同时读写。 上层需要结合Oracle远程RAC实现 双活,存储层双活技术对比
12、,整体看红色为最优方案,但要根据实际情况选择,上述方案均需要Extend RAC支持。,数据层 存储层 接入/应用层 虚拟化/云平台 技术关键点,应用层双活要点,双活需要从接入、应用层、数据连 接等层面考虑实现,才能实现“零” 切换。 应用支持:建议构建统一管理的接 口层或采用服务总线技术 实现应用自动重连机制,确保自动 切换,减少人工切换。-支持数据 库切换后应用的正常运行 双中心部署相同的应用集群方式, 或跨中心的集群,接入层技术,采用全局负载均衡(如F5的GTM)、 DNS、或前置CDN等技术实现跨中 心灵活接入。 1、业务多中心并行模式:通过一组 GSLB来对外提供服务,GSLB监控
13、服务的状态,并通知组内其他设备, 对于每一个DNS请求返回最佳结果, 好的策略选择和配置方式可以最大 幅度提高客户体验。,2、业务多中心互备模式:对于内网 业务通过一组SLB来提供服务,实 现DNS解析,负载分发和故障切换。,应用双活:当单数据中心出现故障时,可以将请求引导向另一 个可用的数据中心,实现双活高可用。 智能流量控制:GSLB根据后端服务器负载和链路状况实现不同 站点间流量调配,链路优选,保证用户访问最佳性能服务器,确 保访问质量,提升用户感知。,数据层 存储层 接入/应用层 虚拟化/云平台 技术关键点,云架构下的双活,云化后的变化: 虚拟化技术 应用实现集群化和x86化带来问题:
14、难以沿用原有的双 活设计方式,需要新考虑考虑 集群化的业务连续性双活方案。,模式1、相互独立的双集群,在每个中心部署独立的云化应 用集群 1、如Web类应用可通过接入层 和负载均衡实现双活访问, 2、如hadoop或MPP集群应用可 通过上层应用实现双集群数据 同步,从而实现双活。,APP1,APPn,APP1,APPn,接入层,负载均衡器,接入层,负载均衡器,APP2 数据中心1,APP2 数据中心2,Node1,Noden,Node1,Node2,Noden,应用,Node2 数据中心1集群,数据中心2集群,前端同时向两个集群写,模式2、跨中心单集群模式,第一种是基于分布式应用协调机制:构
15、 建一套跨中心应用集群,通过分布式应 用协调如Zookeeper实现跨中心的高可靠 性集群,实现统一配置、统一管理和任 务分配。 第二种是基于数据副本保护机制:如详 单云和大数据的hadoop集群、大数据的 MPP集群等,通过进行合理规划设计, 确保任一中心节点都是完整的数据副本, 由集群自动维护两个中心的数据副本同 步机制来实现双活。,客户 端,任务分配器 MASTER 1,业务处理服务 器 1,业务处理服务 器 2,业务处理服务 器n, ,发送业务处理请求,负载均衡,健康检查,返回可处理请求的节点,业务 数据 交互,任务分配器 SLAVE n,任务分配器 SLAVE,Zookeeper 集
16、群,应用服务器集群,数据,数据,机房1,机房2,虚拟化云平台双活,基于存储阵列双活和VMware 跨站点集群功能 实现虚拟化平台数据中心容灾解决方案,在阵 列双活技术支撑下,通过VMware Cluster 的HA 高可用功能实现故障业务切换保护,从而达到 保证业务连续性的要求。 网络站点间二层互联,采用波分传输,存储实现双 活为上层提供共享存储; 将两个数据中心服务器配置为一个集群,通过HA和 DRS实现高可用和资源动态智能分配; 服务器之间建议通过万兆以太网提供心跳服务与 vMotion迁移流量,集群内的所有服务器需符合集群 的兼容性规则。 应用层:由四台服务器构建VMware ESXi
17、Cluster。,数据层 存储层 接入/应用层 虚拟化/云平台 技术关键点,1、跨中心大二层网络,方案1: EVN/OTV/EVI 技术以EVN为例,每个中心部署互联汇聚 交换机,网关交换机通过链路聚合接入该 互联汇聚交换机,互联汇聚交换机通过链 路聚合接入波分设备,互联汇聚交换机运 行EVN PE,EVN PE间形成EVN二层通道。 数据中心间三层互通,二层域完全隔离 ARP广播、未知单播限制在本数据中心。 Mac IN IP,1、跨中心大二层网络,方案2:采用二层光纤直连技 术打通。每个中心部署互联汇聚交换机, 中心内的汇聚(网关)交换机通过 链路聚合接入该互联汇聚交换机, 互联汇聚交换机
18、通过链路聚合接入 波分设备,链路聚合保证整网无二 层环路。同时在汇聚互联交换机配 置二层风暴抑制,1、跨中心大二层网络,方案3:采用基亍MPLS网络的 VPLS亏联。每个中心的核心交换机与专用 的MPLS域专用网络直连,通过 MPLS专属网络的本地PE设备与对端 中心的机房PE设备之间建立VPN, 将各个PE设备所互连的二层网络通 过MPLS VPN方式建立二层互通。,1、跨中心大二层网络,方案4:基亍Overlay网络的大二层亏 联。以Vxlan实现方式为例,每个中心通过单独 的ED设备与Underlay网络连接,在每个中心内 部业务数据通过VXLAN进行业务交换,涉及到 跨中心业务互访时,
19、将通过与ED设备直连的 Leaf设备剥离VXLAN标签转换为VLAN业务后, 由ED设备再次进行VXLAN封装,从而通过大二 层透传到对端中心的ED设备剥离VXLAN标签, 由对端中心的Leaf设备重新封装VXLAN标签。,1、跨中心大二层网络,2、 关于GoldenGate,Oracle GoldenGate 性能瓶颈在数据同步环节,即在复制进程Replicat入库速 度,因为在容灾端恢复数据过程是执行逻辑SQL,比较消耗资源: 抽取进程(Extract) :该进程主要瓶颈在亍LCR(logical change record)转换为UDF环节,主要优化建议:,拆分Extract进程,建议同
20、一个schema下表尽量在一个进程组中 优化进程参数如eofdelay、flushsecs等 I/O部分建议增加日志读取间隔3s,增加内存刷新时间3s 投递进程(Pump):带宽优化和IO优化: 复制的表最好有主键或唯一索引,减少生产日志量 数据传输过程启用数据压缩特性,减少带宽需求量 适当增大TCP缓存 增加队列读取间隔为3s,内存刷新时间为5s 复制/应用进程(Replicat):该环节出现性能问题较多,需要重点优化: 合并小交易减少事物数量,减少写checkpoint file/table次数 大交易拆分(maxtransops参数),提高写入速度 基亍表或Range等拆分replica
21、t进程,OGG同步不同日志量 延迟情况分析 160 140 120 100 80 60 40 20 0 16G 20G 30G 40G 50G延迟情况(分种),3、 关于ADG,日志产生量(采集于2015年4月初) 日均产生归档量 1,300 GB,其中节点 600 GB,2节点 700 GB 1天日志的峰值为 1705 GB,节点峰 值 811 GB,2节点峰值 911 GB 单个小时日志峰值为 183 GB,1节点峰 值 90 GB,2节点峰值 96 GB 网络流量 采用千兆网,传输日志平均占用带宽 为 16.24 MB/s,单个小时内峰值为 52 MB/s 应用时延(Transport
22、Lag + Apply Lag) 异步方式传送日志,平均延时 0.65 秒,正常业务处理期间时延小于10 秒 生产库中产生大量I/O的维护操作,比如添 加数据文件,会导致目标库应用时延相应 增加,可通过调整维护作业时间窗口加以 避免。,数据库数据总量:11,545 GB 数据库存储总量:14,142 GB ADG方式:Maximum Performance,ADG日志同步延时分析 100 0 183G 200G 300G 400G 延时情况(分钟),3、 Extend RAC关键参数,注意: 关于RAC仲裁和GPFS仲裁, 保证RAC的磁盘仲裁要晚 于GPFS的仲裁,使得在网 络故障情况下GP
23、FS提前 RAC做出判定。 ORACLE RAC的心跳参数: misscount是RAC网络心跳 时间, disktimeout是表决 盘的心跳时间,4、 防止“脑裂”现象,1、由于数据中心间距离远,网络稳定性相 比同机房差,必须需要额外进行冗余设计, 如网络连接、内部网络、san连接等。2个数 据中心间网络不稳定情况下,无论存储虚拟 化技术还是Oracle的RAC均可能出现“脑裂” 现象,造成访问中断,数据不一致现象发生, 需要仔细设计,如采用互联环状全冗余架构 等、完善的仲裁机制等。 2、对跨中心间的网络带宽、存储访问带宽 利用率不能超过30%。 3、双活由多层软硬件组成,如数据库RAC、
24、 远程文件系统、存储等,需要仔细规划他们 之间的心跳参数,确保越低层的心跳超时时 间越高。,两个中心间网络全断下会出现“脑裂”现 象,通过增加第三节点,防止两个中心间网络 全断场景,5、 全面的计划内外测试场景,双活涉及到跨中心 网络层,数据层和存 储层,故障场景相比 较传统架构更多,更 复杂,相互之间存在 多种依赖关系,需要 充分设计故障测试场 景:,一个双活数据中心架构例子,CMNET,IP承载网,GSLB,GSLB,IP承载网,GSLB,CMNET,GSLB,Spine Spine RR RR,SLB,SLB,VXLAN NetworkLeaf Leaf Leaf,FW,FW,管理TOR
25、,管理TOR,管理交换 机,管理区,管理区,SDN控制 器,BOMC,4A,Spine Spine RR RR,SLB,SLB,VXLAN NetworkLeaf Leaf Leaf,FW,FW,管理TOR,管理TOR,PC,PC,管理交换 机,管理交换 机,管理区,管理区,SDN控制 器,BOMC,4A,存储接入区 域 管理交换 机,PC,PC,DWDM(用于FC) 数据存储层:双活互联,存储互连专线,网络层:大二层 SDN/EVPN隧道,分布式网关,机房1,机房2,接入层:全局负载均衡,应用层:提供虚机层面 跨中心迁移功能,vSwitch VM VM VM 宿主机,vSwitch VM VM VM 宿主机,vSwitch VM VM VM 宿主机,vSwitch VM VM VM 宿主机,vSwitch VM VM VM 宿主机,vSwitch VM VM VM 宿主机,THANK YOU,