干货: 五种常见数据复制技术详解
根据IDC的相关数据统计,2018年全球的数据复制存储市场规模就已经超过了500亿美金,而其中而作为数据复制技术重要应用场景的数据备份和恢复软件市场的规模也同样蔚为可观。今天,我们就来聊聊5种常见的数据复制技术。
复制(Replication)是将一组数据从一个数据源拷贝到一个或多个数据源的技术。方式主要分为同步复制和异步复制:
1、同步复制:要求每一个写入操作在执行下一个操作处理之前,在源端和目标端都能完成。特点是数据丢失少,会影响生产系统性能,除非目标系统物理上离生产系统比较近。
2、异步复制:在处理下一个操作前,不等待数据复制到目标系统中。特点是复制的数据与源数据有时间差,但这种复制对生产系统性能影响较小。
在灾备方案的设计中,数据复制技术的选择关系到最终灾备效果,即RTO与RPO值的大小。根据数据复制技术在不同系统层的应用,可以分为如下五种:
1、基于主机的数据复制技术
基于主机的数据复制是通过磁盘卷的镜像或复制进行的,业务进行在主机的卷管理器层,对硬件设备尤其是存储设备的限制小,利用生产中心和备份中心的主机系统通过IP网络建立数据传输通道,数据传输可靠,效率相对较高;通过主机数据管理软件实现数据的远程复制,当主数据中心的数据遭到破坏时,可以随时从备份中心恢复应用或从备份中心恢复数据。
基于主机的数据复制不需要两边采用同样的存储设备,具有较大的灵活性,缺点是复制功能会占用一些主机的CPU资源,对软件要求较高(很多软件无法提供基于时间点的快照功能),对主机的性能有一定的影响。
英方独有的基于操作系统层面的字节级数据捕获与复制技术在实施过程中,首先会做初始化的数据镜像,然后通过核心的复制引擎,开始旁路监听所有文件系统的写操作,例如Rename、SetAttr等,都能准确的捕获,并通过数据序列化传输技术(Data - Order Transfer,简称"DOT")异步传输到灾备端,完成整个数据的捕获和复制过程。
△字节级复制技术原理图
首先,字节级复制的核心引擎工作时,并没有复杂的数学运算,对生产机计算资源占用可以忽略,仅仅是旁路捕获数据。
其次,所有的数据都是从内存中捕获,并不涉及生产主机存储的读取操作,因此数据复制过程不占用主机的存储IO资源。
最后,基于字节级的数据复制粒度最小到字节,因此对于带宽资源的要求极低,是适应于异地远距离、及面向未来的混合IT环境和云化架构的一种复制方式。
2、基于应用和中间层的数据复制技术
应用层面的数据复制通过应用程序与主备中心的数据库进行同步或异步的写操作,以保证主备中心数据的一致性,灾备中心可以和生产中心同时正常运行,既能容灾,还可实现部分功能分担,但是该技术的实现方式复杂,与应用软件业务逻辑直接关联,实现和维护难度较高,并且使用应用层面的数据复制会提高系统的风险与数据丢失的风险。
独立于底层的操作系统、数据库、存储,应用可以根据需求实现双写或者多写,从而实现主本和多个数据副本之间的数据复制功能。这种由应用实现的技术,可以在中间件或者应用平台层面进行封装和实现,对上面的应用透明,也可以在应用层面实现。
其主要优势是可根据需求定制、可实现应用和数据库层面的复制;主要不足是目前市场上没有成熟、适合传统IT企业大规模推广使用的中间件产品。如果完全由应用封装平台或者应用来实现,代码的复杂程度提高,增加了应用的维护成本。
3、基于数据库的数据复制技术
基于数据库软件的复制技术包括物理复制和逻辑复制两种方式。
逻辑复制是利用数据库的重做日志、归档日志,将主本所在站点的日志传输到副本所在站点,通过重做SQL的方式实现数据复制。逻辑复制只提供异步复制,主副本数据的最终一致性,无法保证实时一致性;
物理复制不是基于SQL Apply操作来完成复制,而是通过redo log日志或者归档日志在副本站点的同步或者异步持久化写来实现复制功能,同时副本站点的数据可以提供只读功能。
开放平台数据库复制技术则是一种基于数据库log(日志)的结构化数据复制技术,它通过解析源数据库在线log或归档log获得数据的增、删、改变化,再将这些变化应用到目标数据库,使源数据库与目标数据库同步,以达到多站点间数据库可双活甚至多活,实现业务连续可用和容灾的目的。
△数据库日志分析技术
基于数据库的数据复制是对数据库记录级别、表级别容灾高可用的基础技术,英方数据库容灾技术结合了主机复制和数据库日志分析的优点,提高了系统应用的灵活性,可实现数据库应用多活,同时也极大减少了数据库应用的增量数据传输。在细粒度数据容灾、广域云化容灾领域仍然具有广阔的应用前景。
数据库语义级的实时数据同步,在数据库正常使用时,自动完成源端到备端数据的初始化全量复制,并实时监控及同步复制增量数据,其正常流程的状态转换及条件如下:
英方i2Active便是基于redo log日志分析技术的Oracle数据实时复制工具,具有简单灵活、高性能、非侵入、低影响、低于秒级延迟,低成本的特点,部署和使用也非常简便。能够帮助用户在复杂的应用环境下完成Oracle容灾备份、数据迁移、业务数据分发、构建大型数据仓库等技术数据整合等工作。
△Active数据库语义级复制
4、基于存储系统网关的数据复制技术
存储网关位于服务器与存储之间,是构架在SAN网络上的专用存储服务技术。这项技术基于存储虚拟化技术。
存储虚拟化的直接定义:在存储设备中形成的存储资源透明抽象层,即存储虚拟化是服务器与存储间的一个抽象层,它是物理存储的逻辑表示方法。其主要目的就是要把物理存储介质抽象为逻辑存储空间,将分散繁杂的异构存储管理整合为统一简单的集中存储管理,将人们所面对的众多存储问题,由繁化简(其中包括存储的读写方式、连接方式、存储的规格或结构等),由散化整(存储管理)的过程就是存储虚拟化。
存储网关通过对于进入的IO数据流提供各类数据存储服务,大幅提升了在服务器或者存储层面难以达到的灵活性、多样性、异构化等多种存储服务能力。利用存储网关,对于后端的存储数据可以提供远程数据复制、异构化存储融合、存储设备高可用镜像、快照服务、数据迁移服务甚至于部分存储网关可以提供精准的持续数据保护连续数据恢复服务。
由于存储网关卸载了服务器和阵列的复制工作负载,它可以跨越大量的服务器平台和存储阵列运行,因而使它成为高度异构的环境下的容灾技术的理想选择。另外,由于带宽优化、数据恢复精细化等方面独有的优势,这项技术也成为比较主流的一种灾备技术。
这项技术主要争论点在于性能保障能力的发展程度。近年来,随着SAN应用的不断普及,SAN网络中由异构存储设备和爆炸式增长的数据量所带来的管理复杂性、资源利用率低、存储设备自身数据服务能力低等问题促进了存储网关的发展和应用。
5、基于存储介质的数据复制
通过存储系统内建的固件或操作系统、IP网络或光纤通道等传输介质连结,将数据以同步或异步的方式复制到远端,从而实现生产数据的灾难保护。
采用基于存储介质的数据复制技术建设容灾方案的特点主要是对网络连接及硬件的要求较高。基于存储的复制可以是"一对一"复制方式,也可以是"一对多或多对一"的复制方式,即一个存储的数据复制到多个远程存储或多个存储的数据复制到同一远程存储,而且复制可以是双向的。
存储复制技术使基于实现存储磁盘阵列之间的直接镜像,通过存储系统内建的固件(Firmware)或操作系统,利用IP网络或光纤通道等传输界面连结,将数据以同步或异步的方式复制到远端。当然,一般情况下这种模式,必须同等存储品牌并且同等型号的存储系统控制器之间才能实现,配备低延迟大带宽也是必要条件之一。
在基于存储阵列的复制中,复制软件运行在一个或多个存储控制器上,非常适合拥有大量服务器的环境,原因如下:
独立于操作系统;能够支持Windows和基于Unix的操作系统以及大型机(高端阵列);许可费一般基于存储容量而不是连接的服务器数量;不需要连接服务器上的任何管理工作。
由于复制工作被交给存储控制器来完成,在异步传输本地缓存较大的时候可以很好的避免服务器的性能开销过大的问题,从而使基于存储阵列的复制非常适合关键任务和高端交易应用。
综述
在实际工作中,并不能说哪类技术就一定优于另一类技术,优势永远是一个相对的概念,在实际应用中,企业需要选择更加适合自身业务场景的技术路线,毕竟只有适合的,才是最好的。
来源:英方