1.6数据级容灾设计
数据的复制是应用接管的基础,保障数据复制的完整性和实时有效性才能使得应用的接管有意义。数据复制主要分为4大类(1.4.2已有说明),综合性价比和客户自身情况,Primeton推荐可以使用如下两类的数据复制技术:
第一类,是基于磁盘阵列的复制软件实现,比如EMC SDRF、HDS 的TureCopy、IBM的Flash等;
第二类,是基于服务器或者应用软件(应用层)实现,比如Oracle DataGuard组件、GoldenGate数据库复制软件、 DSG的RealSync软件等。
A)磁盘阵列同步有以下主要特点:
• 可以实现对所有数据的灾备,支持所有的数据类型,是最全面的灾备保护方式;
• 基于存储设备进行灾备,可以有效的解决对数据库服务器和各种应用服务器的计算资源的占用问题;
• 部署简单,无需更改原来的文件系统。维护也更加简单,维护好存储灾备系统就可以。
B)基于服务器或应用软件的灾备, 有以下特点:
• 支持异构平台,开放的硬件选择;
• 极短时间切换的热容灾;
• 容灾侧数据库也处于打开状态,可以做主地数据库的负载均衡,提升系统的可用性;
• 对网络要求不高,低带宽下能够传输数据;
1.7应用级容灾设计
应用级灾备包括两个方面:数据同步和应用接管。数据同步是应用接管的前提。在保证数据同步基础上,要实现应用接管,还要能实现灾难发生时的网络切换和应用切换。
1.7.1网络切换设计
应用级灾备要求提供冗余的网络线路和设备。正常情况下,客户端通过生产中心的业务网络访问生产中心的应用服务器;在发生灾难时,通过网络切换,客户端能够访问到灾备中心的备用服务器。
目前,网络切换主要有以下三种:
(1)基于IP地址的切换
生产中心和灾备中心主备应用服务器的IP地址空间相同,客户端通过唯一的IP地址访问应用服务器。在正常情况下,只有生产中心应用服务器的IP地址处于可用状态,灾备中心的备用服务器IP地址处于禁用状态。一旦发生灾难,管理员手工或通过脚本将灾备中心服务器的IP地址设置为可用,实现网络访问路径切换。
(2)基于DNS服务器的切换
在这种方式下,所有应用需要根据主机名来访问,而不是直接根据主机的IP地址来访问,从而通过域名实现网络切换。
(3)基于负载均衡设备的切换
通过在服务器集群前端部署一台负载均衡设备,根据已配置的均衡策略将用户请求在服务器集群中分发,为用户提供服务,并对服务器可用性进行维护。负载均衡能够按照一定的策略分发到指定的服务器群中的服务器或指定链路组的某条链路上,调度算法以用户连接为粒度,并且可以采取静态设置或动态调配的方式。负载均衡设备能够针对各种应用服务状态进行探测,收集相应信息作为选择服务器或链路的依据,包括ICMP、TCP、HTTP、FTP、DNS等。通过对应用协议的深度识别,能够对不同业务在主生产中心和灾备中心之间进行切换。
这三种网络切换方式比较如下:
网络切换方式 |
基于IP地址 |
基于DNS服务器 |
基于负载均衡 |
切换方式 |
手动或半自动 |
自动 |
自动 |
切换时间 |
10-30分钟左右,与服务器数量相关 |
10分钟左右 |
分钟级 |
技术成熟度 |
成熟 |
成熟 |
一般 |
实施案例 |
较多 |
多 |
较多 |
设备投资 |
无 |
增加2台DNS服务器 |
在数据中心前端交换机上增加负载均衡板卡 |
单个应用和整个子网的切换 |
适合整个子网切换 |
适合单个应用和整个子网切换 |
适合单个应用和整个子网切换 |
在以上三种网络切换方式中,基于IP地址的切换方式较简单,实现成本低,但是对于拥有较多服务器的灾备中心而言,手工更改大量IP地址和网络配置需要比较长时间,因此这种方式适合于只有少数应用服务器的场合;基于DNS的切换方案,从技术上讲较成熟,应用也较多,而且能够实现网络切换的全自动,但是需要增加两台DNS服务器的投资;而基于负载均衡的切换,需要增加负载均衡板卡,但是切换能够精细到业务和服务内容,因此,在大型数据中心情况下,Primeton建议采用负载均衡的方式进行网络之间的切换。
1.7.2应用切换设计
应用切换是指生产中心由于发生灾难而瘫痪时,可由灾备中心的备用服务器提供业务接管,确保业务运行的高连续性。
实现应用切换的前提条件是:
• 数据已经从生产中心同步到灾备中心;
• 灾备中心配置与生产中心对应的应用软件服务器、数据库服务器和中间件服务器等,且运行正常;
• 灾备中心网络运行正常或能够实现正常切换。
应用切换技术主要有以下几种:
(1)双活数据库技术
部分数据库复制容灾软件,能够实现生产中心和灾备中心数据库双活,即灾备中心的备份数据库也处于Open状态,客户端可对灾备数据库进行只读访问(例如GoldenGate、DSG等数据库复制软件)。生产中心和灾备中心数据库保持双活,可提高灾备中心的资源利用率,分担生产中心的业务负担,在发生灾难时,自然也可以实现应用和业务的接管。
这种方式的缺点之一是只适合于特定的数据库应用,不适合文件系统等应用,有一定的局限性。
(2)远程集群技术
远程集群是指通过在生产中心和灾备中心的应用服务器上安装远程集群软件(例如Veritas Storage Foundation中的GCO组件),实现跨广域的多服务器状态的监控,当发生灾难时,实现应用服务器的自动切换。主要是由厂家提供的一些容灾软件实现自动切换,拉起异地的应用和数据库。例如,赛门铁克的VCS,IBM的PowerHA等。
(3)手动切换方式
手动切换方式实现较简单,总体成本低,适用范围广,而且较可靠。采用这种方式时,灾备中心部署与生产中心相对应的应用服务器和数据库服务器,安装相应软件。在正常情况下,灾备中心服务器可选择不运行或者处于就绪状态但对外不可访问;发生灾难时,可在人为决策后,将灾备中心服务器启动或恢复对外访问,实现业务的快速切换。
这三种方式比较如下:
应用切换方式 |
双活数据库技术 |
远程集群 |
手动切换 |
适用范围 |
仅限特定数据库 |
无限制 |
无限制 |
应用完全自动切换 |
否 |
否 |
否 |
灾备中心日常可访问 |
是 |
否 |
否 |
运行风险 |
低 |
高,可能误切换 |
低 |
实施成本 |
高 |
较高 |
低 |
维护工作量 |
较高 |
较高 |
低 |
1.8网络层设计
在每一个节点,为了提高可靠性,避免单点故障,建议在网络层采用双网双平面的设计,即在交换机/路由器层均采用冗余设计。
在同城高可用环境下,在预算允许的情况下,建议数据复制采用光纤(FC)传输,能够大大提升同步数据复制的效率和可靠性。
在异地灾备情况下,由于数据传输线路较长,采用FC传输代价太高,并且灾难发生也是偶然事件。综合考虑性价比,建议采用IP传输。
1.9 Primeton容灾方案推荐软/硬件配置选型清单
序号 |
配置名称 |
配置详情 |
1 |
服务器 |
建议采用主流小型机或者高性能X86服务器,例如IBM/Oracle小型机,曙光/华为/IBM/HP/Dell的X86服务器 |
2 |
存储 |
中高端NAS存储,注意选择双控,可支持FC/IP数据复制,可以选用相关的数据复制软件 |
3 |
网络设备 |
交换机/路由器,注意冗余配置 |
4 |
主机操作系统 |
CentOs/Suse/Aix |
5 |
数据库 |
Oracle/Mysql |
6 |
容灾软件 |
可以选用Linux自带的cluster,或者选用厂家提供的如VCS,RealSync等软件 |
7 |
虚拟化软件 |
建议采用开源的Openstack/Xen |