浅谈四种主流的容灾复制技术的原理及其优缺点

社区广播:运维派(Yunweipai.com)是国内最早成立的IT运维社区,欢迎大家投稿,让运维人不再孤寂的成长!

数据复制是构建数据容灾的基石,利用复制软件实时地将数据从一个主机(或磁盘)复制到另一个主机(磁盘),生成一个数据副本,从而达到容灾目的。

数据复制有多种方法,依据复制启动点的不同,可分为同步复制、异步复制。同步复制,数据复制是在向主机返回写请求确认信号之前实时进行的;对于异步复制,数据复制是在向主机返回写请求确认信号之后实时进行的。

下面将介绍当前主流的容灾复制技术的原理及其优缺点,从而帮助你选用最符合你应用场景需要的容灾方案。

一、四种容灾复制技术原理:

根据操作系统的I/O(读写操作)路径以及复制对象划分为四大种类:基于应用层事务复制、基于文件层复制、基于逻辑卷层复制、基于磁盘阵列复制。当然,目前也出现了基于SAN交换机的复制,但是相对技术不太成熟,应用很少。

按照数据复制软件或硬件安装的位置又可划分为主机型复制和非主机型复制。应用层、文件层、逻辑卷层的都属于主机型复制,主机型复制软件需安装在主机上,需要消耗一定的主机资源。存储层属于非主机型复制,复制直接由磁盘阵列的内部组件完成,理论上无需消耗应用所在主机的资源。

一般而言,容灾要保护的数据是结构化数据,即存储在数据库的数据。以下都用复制数据库来说明。

1.基于应用层事务复制
基于应用层事务的复制,一般采用采用异步复制机制,复制对象为应用事务,其过程为:捕获应用系统的事务,例如SQLServer或Oracle数据库的事务,经由传输组件传输到目标服务器,然后目标装载进程按照数据库的关系原理排序事务,将事务保存到目标数据库。

这层的复制完全能保障数据库的一致性,且目标数据库处于在线运行状态。当生产数据库发生故障时,直接使用目标数据库即可恢复业务,容灾的RTO指标趋于零。但是支持的应用有限,一般为SQLServer、 Oracle、Sybase、DB2、MySQL等等数据库。另外复制速度较慢,因为数据要通过数据库的装载接口才能写入数据库。

应用层代表厂商:浪擎、DSG、Goldengate、Quest、Oracle、微软等。

2.基于磁盘阵列复制
基于磁盘阵列层的复制,磁盘阵列厂商的复制技术,其原理与逻辑卷层的相似,属于非主机型的复制。但与硬件绑定,成本高昂,实施复杂。

基于磁盘阵列层的复制不能完全保障数据库一致性,目标数据库处于脱机状态。当生产数据库发生故障时,需要启动数据库才能恢复业务,正是由于不能保障数据库一致性,很可能数据库不能正常启动。尽管存在这样的缺陷,但这一层的复制对主机的影响极其轻微,所以还是可应用在一些非常大型、繁忙的数据库容灾,作为一种补充保护手段。

磁盘阵列层代表厂商:IBM、HP、EMC、HDS等。

3.基于逻辑卷层复制
基于逻辑卷层的复制,一般采用采用同步复制机制,复制对象为逻辑卷层的变化Block,其过程为:捕获变化块,同步写入目标存储,等于在一个主机上将同一数据写入两个不同的逻辑磁盘。这种复制方式对I/O性能影响很大。另外,在实施时可能需要改造生产环境,例如VVR需要自身的卷管理格式才能支持复制,所以如果用于非新部署的业务系统其实施非常复杂。

基于逻辑卷层的复制不能完全保障数据库一致性,目标数据库处于脱机状态。当生产数据库发生故障时,需要启动数据库才能恢复业务,正是由于不能保障数据库一致性,很可能数据库不能正常启动。因此,这层复制技术很少用于大型数据库的容灾。

逻辑卷层:赛门铁克、飞康等等。

4.文件层复制
基于文件层的复制,一般采用采用异步复制机制,复制对象为文件I/O,其过程为:复制上层应用传递下来的I/O,然后缓存起来,再经由传输组件传输到目标服务器,再由目标服务器写入目标存储,完成一次复制。

基于文件层的复制不能保障数据库一致性,目标数据库处于脱机状态。当生产数据库发生故障时,需要启动数据库才能恢复业务,正是由于不能保障数据库一致性,很可能数据库不能正常启动。所以文件复制一般用于事务很少、数据量很小的数据库。

文件层:赛门铁克的低端文件复制、国内一些小厂商。

四种复制技术各有优缺点。一般而言,文件层复制技术主要采用异步复制原理,不能保障数据库的一致性,不能确保数据库是好的,很少用于大型数据库的容灾。国内很多厂商都采用文件层复制,主要用于中小企业,适用于数据量不大、投入很小的场合。

二、复制技术的发展趋势
四层技术,各有优缺点。就综合复制技术原理与优缺点、投入成本、资源消耗、实施工作量、维护工作量等等方面来说,应用层的复制和磁盘阵列的复制会成为主要的容灾技术,占据很大的容灾市场份额,且应用于关键的、重要的应用系统;文件复制主要用于一些非常低端的应用。

未来的复制技术发展不是依靠单一技术来解决自身的缺陷问题,应融合其他层的技术来发展。

应用层要解决复制速度较慢的问题,就是要解决在目标数据库上的数据装载效率或装载方式的问题。解决了这一问题,应用层的复制还会得到更加广泛的应用。围绕应用层这个核心,结合文件层的快速复制,采用直接的原始数据装载技术,克服了应用层复制速度慢的问题,是目前应用层里面做得最好的一种技术路线。

存储层要克服数据不一致的问题,不能单纯依靠存储的复制,要结合应用层与数据库进行一定的交互才能解决。

三、总结
从技术原理、实施、维护、资源消耗、适应场合等等总结四层技术。

比较项
应用层复制
磁盘阵列层复制
逻辑卷层复制
文件层复制
同步/异步
异步
同步/异步
同步/异步
异步
复制对象
应用事务
数据块
数据块
文件I/O
主机型复制
不是
数据库一致性保障
完全确保
仅同步可以
仅同步可以
无保障
容灾端数据库状态
在线
脱机
脱机
脱机
容灾过程
直接切换至容灾数据库
需启动容灾数据库,才能切换
需启动容灾数据库,才能切换
需启动容灾数据库,才能切换
能否校验容灾数据库
直接校验
需分离或通过快照来校验一个过去状态的数据库
不能
需分离或通过快照来校验一个过去状态的数据库
实施需停机
无需,自动化全量复制;全量和实时复制自动衔接
需要,直到拷贝全量结束
需要,直到全量拷贝结束
需要,直到拷贝全量结束
是否改变生产环境
无需
无需
需要
无需
是否集成容错
支持CDP
通过快照,但很少
支持CDP
网络带宽要求
少,IP网络
高,需光纤直连或波分设备
高,IP网络
高,IP网络
支持应用
仅主流数据库
不限
不限
不限
维护工作量
适应场合
关键的、重要的业务系统
关键的、重要的业务系统
关键的、重要的业务系统
不重要的业务系统
投入成本
极高
很少

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2017 YUNWEIPAI.COM - 运维派 - 粤ICP备14090526号-3
扫二维码
扫二维码
返回顶部