爱数之容灾技术原理

应用容灾的定义

容灾分类

由于容灾包含的内容比较广泛,对容灾的分类也可以从多个方面进行。

容灾从保护范围上来划分可以分为3个级别,分别是数据级别、应用级别以及业务级别

本质上讲,这数据容灾和应用容灾是密不可分的。数据容灾是应用容灾的基础,没有数据的一致性,就没有应用的连续性,应用容灾也是无法保证的。
数据容灾是指建立一个备用的数据系统,该备用系统对生产系统的关键数据进行备份。
应用容灾则是在数据容灾之上,建立一套与生产系统相当的备份应用系统, 在灾难发生后,将应用迅速切换到备用系统,备份系统承担生产系统的业务运行。

数据级别容灾的关注点是数据,即灾难发生后可以确保用户原有的数据不会丢失或者遭到破坏。其中,原始的低级数据容灾级别是手工做离线归档备份,磁带备份等,较低级别的数据容灾方案仅需利用备份软件实现数据异地备份,达到数据级别容灾的效果;而较高级的数据容灾方案则是依靠数据复制工具,例如卷复制软件,或者存储系统的硬件控制器,实现数据的远程复制。
应用级别容灾关注点是连续的应用服务,是在数据级容灾的基础上,把应用系统也复制一份到容灾站点。应用级别容灾能提供可持续的应用服务,让用户应用的服务请求能够透明地继续运行,而感受不到灾难的发生,保证信息系统提供的服务完整、可靠、安全。

业务级别容灾是最高级别的容灾方案,它除了为IT业务系统提高容灾,还包括一系列非IT系统。相对于业务级别容灾,数据级别容灾和应用级别容灾都是在IT范畴之内,业务级别容灾则大部分内容是非IT系统,比如电话、办公地点等。当一场大的灾难发生时,用户原有的办公场所都会受到破坏,用户除了需要原有的数据、原有的应用系统,更需要工作人员在一个备份的工作场所能够正常地开展业务。

应用容灾三要素

很多人认为容灾系统就是要实现实时切换的备份系统。事实上容灾有很多层次,例如国际标准SHARE 78 定义的容灾系统有七个层次:从最简单的仅在本地进行磁带备份,到将备份的磁带存储在异地,再到建立应用系统实时切换的异地备份系统,恢复时间也可以从几天到小时级到分钟级、秒级或0数据丢失等。从技术上看,衡量容灾系统有两个主要指标:RPO 和RTO

真正的容灾系统必须满足三个要素:

1.系统中的部件、数据都具有冗余性,即一个系统发生故障,另一个系统能够迅速接管业务,保证业务连续性

2.具有长距离性,因为灾害总是在一定范围内发生,因而充分的长距离才能够保证数据不会被一个灾难全部破坏

3.容灾系统要追求快速的数据恢复

也被成为容灾的“3R”(Redundance、Remote、Replication)

应用容灾特点

支持数据库、文件系统实时复制(目前支持SQL,ORACLE,其他会陆续支持)

跟数据库应用集成、数据库修复功能

真正连续性数据保护(CDP),RPO接近于0

任意时间点回退恢复,无时间点限制(任意的I/O操作都有时间标记,打破了CDP产品与备份产品无法兼容的障碍)

数据一致性,接管数据一致性(可将容灾服务器接管期间产生的数据增量复制回介质)

基于指纹的Delta恢复算法技术只恢复变动过的数据块

容灾测试方案---模拟、实战演习

备份集成,数据更安全

级联复制等多种灵活容灾方案,远程容灾不再复杂

重复数据删除,降低存储成本

应用程序故障检测,支持自动接管

集成虚拟化容灾平台

-----------------------------------------------------------------------------------

应用容灾实时复制技术原理

尽管一些厂商推出了连续数据保护CDP产品,然而从它们的功能上分析,还做不到真正连续的数据保护,比如有的产品备份时间间隔为一小时,那么在这一小时内仍然存在数据丢失的风险,因此,严格地讲,它们还不是完全意义上的CDP产品,目前我们只能称之为类似CDP产品。

传统复制软件 Veritas Replication 、EMC MirrorView

持续数据保护(CDP)是迄今出现过保护粒度最小、还原点选择弹性最大的数据保护方案。

CDP的出现使得用户拥有了一个连续备份的梦想!

根据SNIA国际存储技术组织的对CDP的定义,CDP应该具有的特征:

1.数据的变更必须被连续的被记录和追踪

2.所有数据的变化历程都被保存在与主存储地点不同的独立地点

3.数据还原点(Recovery Point Object)RPO是任意的(传统的一般是一日一备的传统备份恢复模式,即RPO是24小时)

备份、快照等技术相当于照相机,只能定期捕获当前状态的数据,而CDP就像是摄像机一样,可以记录数据变化的每一个历程。

CDP与传统远程复制的区别

传统的复制软件主要有:Veritas Replication、EMC MirrorView

(可以将系统的数据持续不断的复制到远程独立存储设备上)

相同点:

1.采用相同的复制原理

2.即时的监控并记录系统数据的变化

3.支持同步/异步的复制模式

不同点:

传统复制软件仅仅创建一个与原系统一样的副本,旧的状态会被新的状态覆盖无历史时间点回退功能。如果源出现病毒或者错误同样会带到副本里。而CDP可以提供多个恢复点,由于细粒度很高,因此可以把数据恢复到产生错误前的一个瞬间

CDP解决方案

从操作方式看,CDP解决方案的设计主要可以分为基于块的基于文件的,或基于应用的。

基于块级的解决方案:位于物理储存或逻辑卷管理层之上。

基于文件的CDP解决方案:位于文件系统之上,可以捕获文件系统数据和元数据事件

基于应用的CDP解决方案:直接位于受保护的特定应用之中,跟应用进行深层的集成,常被作为内置功能。

爱数实时复制技术

目前CDP方案主要有卷级和文件系统级两种

卷过滤驱动

优点:处于物理存储或者逻辑卷管理层,不受上层文件系统的影响,通用性较强,能够支持多数平台

缺点:数据一致性问题处理相对较复杂,必须应用前摄干预的方式来保证一致性,需要和应用配合才能确定合宜的时间点。产品有EMC RecoverPoint,飞康CDP等均采用卷过滤驱动。

文件系统过滤驱动

优点:记录文件块变化,获取文件详细属性,文件系统保证一致性

缺点:灵活性不够,处于文件系统层之上,涉及到不同文件系统的复杂性,必须针对每个文件系统类型开发相应的驱动,不支持直接使用裸设备的应用程序容灾。

文件系统原理模型

image

复制原理图

image

复制技术示例(SQL Server为例)

image

数据复制的一致性

数据复制的一致性是指在异步模式下数据系统的前后一致性,引起数据一致性问题的一个主要原因是位于数据I/O路径上的各种Cache或Buffer(包括数据库Cache、文件系统Cache、存储控制器Cache、磁盘Cache等)不同,不同的模块因为处理数据的速度存在差异,所以添加了Cache来缓存I/O操作,提供性能的同时可能就带来了一些负面影响

由数据复制的严格I/O顺序保证,数据丢失不等于没有数据一致性

数据一致性的意义:保证容灾端的数据系统,比如数据库,在丢失部分数据的情况下,依然能保证系统可用。

数据一致性处理方案

1.前摄式

原理:

通过数据库程序的API让数据库处于一致性状态,然后在恢复日志中插入标记

不足:

不是所有的数据库厂商都开放接口,对数据库I/O影响大。

2.启发式

原理:

通过文件系统提供的相关信息,判断应用程序的一致性状态,然后在CDP日志卷中标记相关信息

区别:前摄式一致性与启发式一致性最大的区别在于时间点粒度,启发式一致性保证不会修改数据库状态,所以可以达到更小的时间点粒度。但可能不是每个时间点的状态都是一致的,需要通过其他的方式来保证。

实时复制的三个技术点

1.在线初始化

数据库实时复制如何实现数据库不停机,继续提供服务的情况下实现初始化并且能够保证在初始化时候的数据是一致的

image

可以采用打开文件备份加上驱动捕获的初始化期间变化的I/O数据,也就是在执行初始化之前先把需要初始化的数据添加到驱动路径过滤中,驱动捕获的I/O数据暂时存放在日志池中并且暂时不对这部分日志进行复制然后使用打开文件备份的方式备份数据库文件,完成备份文件之后在日志池尾部插入一条初始化完成的标记,在标记之前的日志都属于初始化时间点的数据,然后立刻启动日志复制,当复制到初始化完成的标记时,就可以完成初始化,假设在备份文件时,读取了某个数据块后,此数据块又发生了变动,此时读取的数据就是不一致的,但是由于之前启动了过滤驱动,变化的数据块会被驱动所捕获会在后面覆盖掉刚刚读取的不一致的数据块,最终实现初始化数据的一致性

2.日志池技术

使用内存映射,效率高

循环日志池,占资源少

3.时间点索引

每个I/O操作都有时间索引,可恢复至任意时间点

影响实时复制性能的因素

网络带宽

复制距离

数据传输方式

数据块打包方式

系统性能,处理能力

复制模式(同步/异步复制)

本地日志池处理速度

爱数灾难恢复技术

示例

主机每天事务量100万条1KB记录,变动总数据量大概1G

如果平均网络传输速度20KB/s,

20Kb*60*60*24/1024~1.6G

可见20KB每秒的网络速度可以支持160万条1KB左右的记录

如果平均网络传输速度100KB/S,可支持800万条1KB的记录

如果达到1MB/S,每天可复制80G左右变动数据,相当于8千万左右的事务量

如果启用数据精简传输,广域网复制性能更优

容灾能力

容灾负荷

容灾负荷指建立容灾系统之后对原有系统的性能的影响

数据复制本身对系统性能影响比较小

过滤驱动运行对主机性能有影响(主要是内核态模块和用户态模块进行数据交互和本地日志处理速度)

容灾系统对系统性能的影响主要取决于数据复制的模式(同步/异步)

1.同步

磁盘平均I/O性能==网络带宽平均性能

比如500Mb/s的磁盘速度,使用10Mb/s的网络传输速度,意味着磁盘性能也会降到10Mb/s

建议:

理想状态下当容灾网络带宽和本地存储I/O速度接近时,可采用同步方式,此时性能主要取决于线路延迟(设备延迟和距离)

2.异步

对主机性能影响较小,但需要较充足的日志缓冲空间

平均每天产生I/O数据总量<平均网络带宽/h*24,否则日志卷数据堆积会越来越多,影响RPO

建议:

如果希望数据丢失量控制在“秒”级,带宽要求达到秒级峰值,一般情况下网络带宽>平均I/O数据量即可。

实时复制支持的系统平台

Windows支持平台

Windows 2000 SP4

Windows XP (32bit/64bit)

windows Server 2003 (32bit/64bit)

windows Server 2008 (32bit/64bit)

windows Server 2008 R2

Linux平台支持

Redhat Enterprise 4(32bit/64bit)

Redhat Enterprise 5(32bit/64bit)

 --------------------------------------------------------------------------------------

灾难恢复技术原理

数据订阅分发

image

传统的恢复模式是客户端主动发起恢复并向介质服务器请求相应的恢复数据,而订阅模式正好相反数据由介质服务器主动发给订阅的客户端

实现数据订阅分发的实现

1.每个复制任务都有一个唯一的订阅标识,可以是任意一个字符串用来标记此复制任务的数据,

2.灾难恢复和普通备份恢复任务不同,不是一次性执行过程,是一个持续执行的任务

3.灾难恢复任务启动后,会向介质服务器订阅(根据唯一订阅标识)所对应的实时复制任务的数据

4.订阅启动后,一旦介质服务器收到复制数据块,除了存储此数据块到介质外,还会将收到的数据块分发给每一个订阅者,这样每个容灾服务器都能实时的收到生产服务器的变化数据块保持和生产服务器的数据同步

类似于订阅报社的期刊,一旦报社出版了新的期刊就会主动寄给期刊订阅者

使用订阅分发的优势

1.效率高,容灾服务器不需要定时询问介质是否有新数据,大大减少了通讯量,并且有新数据时容灾服务器能及时保持与容灾服务器的准同步

2.减轻应用服务器负担,将负载转移到备份存储柜上

3.架构灵活,便于容灾方案扩展

如何实现接管

image

虚拟IP

虚拟IP并非虚拟的,它是一种常用于应用接管的技术,利用了网卡可以绑定多个ip的特征,使用一个第三方ip在应用故障时自动切换到备用服务器上实现业务的透明切换,故障时通过此ip访问系统会自动转向备用服务器继续对外提供服务感觉不到灾难的发生实现生产服务器到容灾服务器的无缝迁移

 

虚拟ip的接管方式只适用于通过ip访问的应用系统,如果应用是通过主机名或其他方式则无法实现透明切换

接管后的数据保护-反向复制

image

------------------------------------------------------------

应用容灾-故障检测

检测策略

image

故障检测心跳周期:每隔多长时间进行一次检测操作

连续故障检测次数:最大允许的连续故障次数,如果故障次数超过了这个限定就判断应用发生了故障

(应用的允许故障时间等于心跳检测周期*检测次数,如图就是6*2=12秒,如果在这12秒内应用不能恢复正常就会判定为故障)

启用重启策略:当判定应用为故障状态时,会自动重启应用服务尝试修复

(重启之后会再有一轮上面的检测,应用的允许故障时间等于心跳检测周期*检测次数*重试次数)

虚拟ip设置:尽量使用可用的虚拟ip,否则会出现添加ip失败或者加载ip后不可用的状况,另外还要配置好容灾服务器的绑定网卡,网卡的绑定在创建灾难恢复任务时添加容灾服务器的时候进行配置选择一个可用的网卡

自动接管,勾上则生产服务器故障时容灾服务器自动接管业务,否则只是邮件方式通知管理员

检测流程

image

本文出自 “梦起蹉跎” 博客,转载请与作者联系!

你可能感兴趣的:(备份,职场,休闲,容灾)