2021年灾备行业白皮书

Wesley13
• 阅读 863

2021年灾备行业白皮书

<2021>正式发布,历时十个月,由数十位一线技术工程师及行业权威专家共同策划编写完成,共计 7 个章节 12 万余字。白皮书内容由浅入深的介绍了灾备的技术原理,展示了当前用于灾备、数据管理等场景下的最新技术、产品和解决方案,旨在为行业从业人员提供更系统、详实的知识体系,带来更多的场景化的思考和探索。

该白皮书旨在通过对备份、容灾、存储、数据复制、数据管理、云灾备等系列内容及行业解决方案,为行业人士在基础知识学习、专业知识补充、技能理念提升等方面提供帮助,是广大相关从业者看清灾备行业发展的窗户(文末附下载)。

官网下载:

http://www.info2soft.com/whitepaper

今天主要分享下白皮书中的复制技术;数据复制(Replication)是指通过网络把数据实时或定时地从一个地方复制到另一个地方。数据复制技术根据计算机网络体系构,按不同层次分为五种:

1、基于应用和中间层的数据复制技

2、基于主机层的数据复制技术

3、基于数据库的数据复制技术

4、基于存储系统网关的数据复制技术

5、基于存储介质的数据复制技术

2021年灾备行业白皮书

(1)基于应用和中间层的数据复制技术

应用层的数据复制通过应用程序与主备中心的数据库进行同步或异步的写操作,以保证主备中心数据的一致性,灾备中心可以和生产中心同时正常运行,既能容灾,还可实现部分功能分担,但是该技术的实现方式复杂,与应用软件业务逻辑直接关联,实现和维护难度较高,并且使用应用层的数据复制会提高系统的风险与数据丢失的风险。

独立于底层的操作系统、数据库、存储,应用可以根据需求实现双写或多写,从而实现主本和多个数据副本之间的数据复制功能。这种由应用实现的技术,可以在中间件或应用平台层进行封装和实现,对上的应用透明,也可以在应用层实现。

其主要好处是可根据需求定制、可实现应用和数据库层的复制,自主可控;主要不足是目前市场上没有成熟、适合传统IT企业大规模推广使用的中间件产。如果完全由应用封装平台或者应用来实现,代码的复杂程度提高,增加了应用的维护成本。

(2)基于主机层的数据复制技术

基于主机的数据复制是通过磁盘卷的镜像或复制进行的,业务进行在主机的卷管理器层,对硬件设备尤其是存储设备的限制小,利用生产中心和备份中心的主机系统通过IP网络建立数据传输通道,数据传输可靠,效率对较高;通过主机数据管理软件实现数据的远程复制,当主数据中心的数据遭到破坏时,可以随时从备份中心恢复应用或从备份中心恢复数据。

基于主机的数据复制不需要两边采用同样的存储设备,具有较大的灵活性,缺点是复制功能会占用一些主机的CPU资源,对软件要求较高(很多软件无法提供基于时间点的快照功能),对主机的性能有一定的影响。

为了避免上述复制问题,提高复制效率,英方经过长期的技术研发创新,推出了基于操作系统内存层的字节级增量异步复制技术。

英方软件字节级数据捕获与复制技术在实施过程中,首先会做初始化的数据镜像,然后通过核心的复制引擎,开始旁路监听所有文件系统的写操作,例如Rename、SetAttr等,都能准确的捕获,并通过数据序列化传输技术(Data-OrderTransfer,简称“DOT”)异步传输到灾备端,完成整个数据的捕获和复制过程。

2021年灾备行业白皮书

字节级复制的核心引擎工作时,并没有复杂的数学运算,对生产机计算资源占用可以忽略,仅仅是旁路捕获数据。其次,所有的数据都是从内存中捕获,并不涉及生产主机存储的读取操作,因此数据复制过程不占用主机的存储IO资源。基于字节级的数据复制粒度最小到字节,因此对于带宽资源的要求极低,是适应于异地远距离及向未来的混合IT环境和云化架构的一种复制方式。

(3)基于数据库的数据复制技术

基于数据库软件的复制技术括物理复制和逻辑复制两种方式。

逻辑复制是利用数据库的重做日、归档日,将主本所在站点的日传输到副本所在站点,通过重做SQL的方式实现数据复制。逻辑复制只提供异步复制,主副本数据的最终一致性,无法保证实时一致性;物理复制不是基于SQLApply操作来完成复制,而是通过redolog日或归档日在副本站点的同步或异步持久化写来实现复制功能,同时副本站点的数据可以提供只读功能。

开放平台数据库复制技术则是一种基于数据库log(日)的构化数据复制技术,它通过解析源数据库在线log或归档log获得数据的增、删、改变化,再将这些变化应用到目标数据库,使源数据库与目标数据库同步,以达到多站点间数据库可双活甚至多活,实现业务连续可用和容灾的目的。

2021年灾备行业白皮书

基于数据库的数据复制是对数据库记录级别、表级别容灾高可用的基础技术,英方数据库容灾技术合了主机复制和数据库日分析的优点,提高了系统应用的灵活性,可实现数据库应用多活,同时也极大减少了数据库应用的增量数据传输。在细粒度数据容灾、广域云化容灾领域仍然具有广阔的应用前景。

数据库语言级的实时数据同步简述,在数据库正常使用时,自动完成源端到备端数据的初始化全量复制,并实时监控及同步复制增量数据,其正常流程的状态转换及条件如下:

2021年灾备行业白皮书

英方软件i2Active是基于redolog日分析技术的Oracle数据实时复制工具,具有简单灵活、高性能、非侵入、低影响、低于秒级延迟,低成本的特点,部署和使用也非常简便。能够帮助用户 在复杂的应用环境下完成Oracle容灾备份、数据迁移、业务数据分发、构建大型数据仓库等技术数据整合等工作。

2021年灾备行业白皮书

(4)基于存储系统网关的数据复制技术

存储网关位于服务器与存储之间,是构架在SAN网络上的专用存储服务技术。这项技术基于存储虚拟化技术。

存储虚拟化的直接定义:在存储设备中形成的存储资源透明抽象层,即存储虚拟化是服务器与存储间的一个抽象层,它是物理存储的逻辑表示方法。其主要目的就是要把物理存储介质抽象为逻辑存储空间,将分散繁杂的异构存储管理整合为统一简单的集中存储管理,将人们所对的众多存储问题,由繁化简(其中括存储的读写方式、连接方式、存储的规格或构等),由散化整(存储管理)的过程就是存储虚拟化。

存储网关通过对于进入的IO数据流提供各类数据存储服务,大幅提升了在服务器或存储层可以提供远程数据复制、异构化存储融合、存储设备高可用镜像、快照服务、数据迁移服务甚至于 部分存储网关可以提供精准的持续数据保护连续数据恢复服务。

由于存储网关卸载了服务器和阵列的复制工作负载,它可以跨越大量的服务器平台和存储阵列运行,因而使它成为高度异构的环境下的容灾技术的理想选择。另外,由于针对带宽优化、数据恢复精细化等方独有的优势,这项技术也成为比较主流的一种灾备技术。

这项技术主要争论点在于性能保障能力的发展程度。近年来,随SAN应用的不断普及,SAN网络中由异构存储设备和爆炸式增长的数据量所带来的管理复杂性、资源利用率低、投资浪费、 存储设备自身数据服务能力较低等问题促进了存储网关的发展和应用。

(5)基于存储介质的数据复制技术

通过存储系统内建的固件或操作系统、IP网络或光纤通道等传输介质连接,将数据以同步或异步的方式复制到远端,从而实现生产数据的灾难保护。

采用基于存储介质的数据复制技术建设容灾方案的特点主要是对网络连接及硬件的要求较高。

基于存储的复制可以是“一对一”复制方式,也可以是“一对多”或“多对一”的复制方式,即一个存储的数据复制到多个远程存储或多个存储的数据复制到同一远程存储,而且复制可以是双向的。

存储复制技术使基于实现存储磁盘阵列之间的直接镜像,通过存储系统内建的固件或操作系统,利用IP网络或光纤通道等传输界连,将数据以同步或异步的方式复制到远端。当然,一般情况下这种模式,必须同等存储牌并且同等型号的存储系统控制器之间才能实现,配备低延迟大带宽也是必要条件之一。

由于复制工作被交给存储控制器来完成,在异步传输本地缓存较大的时候可以很好地避免服务器的性能开销过大的问题,从而使基于存储阵列的复制非常适合关键任务和高端交易应用。这也是目前应用最广泛的容灾复制技术之一,但这种技术随闪存存储、开放式存储、云存储、向对象存储等等混合存储技术的普及和迭代,越来越难以适应新环境下的容灾复制需求。

英方变长块复制技术:通常基于存储介质的数据复制也称为块复制技术,传统的块复制技术主要是基于定长块复制原理进行块级别数据复制。英方软件在合用户新场景的需求下,基于变长块复制原理,推出了变长块复制技术——通过在卷管理层和磁盘驱动之间安“捕获监控管理”模块, 精准捕获到发生数据变化的块是哪一个或哪几个,然后在位图(Bitmap)上记录下来,在触发备份规则时,仅传输发生变化的子数据块。

针对以上数据复制技术的功能比较,下表很好地归纳和总了各自的特点:

2021年灾备行业白皮书

但是关于数据复制量的对比,它们之间还是有很大的差距,下图以一个300M的文件修改了512字节的场景为例,说明当前主流复制技术所复制的数据量的比例—复制传输的数据量之比为300MB:64KB:512B(4800:128:1)。

2021年灾备行业白皮书

此外,如果数据复制技术按模式,又可以分为连续复制和定时拷贝:

连续复制:连续复制是对业务状态数据进行持续不断的复制,针对业务系统遭遇故障如突然的宕机、存储故障等物理错误时恢复应用进程。当灾难发生时,连续复制过程也终止;在进行业务恢复时利用备份数据可以恢复停机现场的生产数据,从而恢复业务。连续复制技术分为:

2021年灾备行业白皮书

同步复制:要求每一个写入操作在执行下一个操作处理之前,在源端和目标端都能完成。数据丢失少,会影响生产系统性能,除非目标系统物理上离生产系统比较近。

异步复制:在处理下一个写入操作前,不等待数据复制到目标系统中。复制的数据与源数据有时间差,但这种复制对生产系统性能影响较小。

2021年灾备行业白皮书

定点拷贝:在业务运行过程中某一时刻的生产数据的保护,主要预防业务因生产数据的逻辑故障而造成的停顿;当生产数据因人为误操作或病毒破坏而损坏时,可以利用该定点拷贝将业务状态恢复到损坏发生时刻的业务正常状态。

本文分享自微信公众号 - 架构真经(gentoo666)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这