《简洁而经典的总结:备份四大误区.docx》由会员分享,可在线阅读,更多相关《简洁而经典的总结:备份四大误区.docx(9页珍藏版)》请在优知文库上搜索。
1、1 .什么是企业容灾的数据复制技术?企业容灾架构中,所谓的数据复制技术主要是指能够将结构化数据进行豆制,从而保证数据具备双副本或者多副本分散在不同数据中心的技术。这里面需要强调两点: 结构化数据:以结构化数据为主的数据豆制技术。 分散在不同数据中心:数据副本必须分布在不同的数据中心.就具体的实现技术而言,就目前业界发展来看,可以实现数据或制的技术多种多样,有基于数据库层面的数据兑制技术,例如OraCIe公司的ACtiVeDaIaGUrad、IBM公司的Db2HADR等:有基于系统层面的数据亚制技术,例如赛门铁克的YXVm、传统的逻辑卷管理(1.VN)、OraCIe公司的自动存储管理(ASM)冗
2、余技术、IBM公司的GPFS等:有基于存储虚拟化实现的数据复制技术,例如EMC公司YPIeXStretchClUSter、IBM公司SVCSPIilCluster,NelAPP公司MetrOCIUSSr等:也有基于存储底层实现的数据复IM技术,例如IBM公司的DS8000PPRC技术、EMC公司的SRDF技术、HP公司的C技术等等,每一种技术都有其实现的前提条件,也有各自的技术特点和实现的不同效果。2 .企业容灾中的数据复制技术的分类2.1 同步亲制和异步友制从RPo维度来划分,大的方面可以分为同步自制和异步巨制. 同步豆制:要求每一个写入操作在执行下一个操作处理之前,在源端和目标端都能完成。
3、特点是数据丢失少,会影响生产系统性能,除非目标系统物理上离生产系统比较近. 异步复制:在处理下一个操作前,只需要完成源端数据写入即可,不等待数据豆制到目标系统中.特点是豆制的数据与源数据有时间差,但这种巨制对生产系统性能影响较小.那么这里有一个问题”如何界定一个写入操作完成?,一般来讲,存储端的写入以存储设备的缓存写入为标准,数据库的写入以数据库的事务日志落盘为标准.如果用图的方式来区别同步和异步之前的区别就在于:同步需要等待黑色和红色的ACK返回才会执行下一个IO,而异步只需要等待黑色的ACK返回即可执行下一个10.从结果上来看,等待红色的ACK返回显然标要花巡更多时间,因为A和B分别位于不
4、同的数据中心;但是等待会带来RPO=O的回报.2.2 根据实现复制的手段来划分根据上图,数据巨制最终完成的结果是在两个磁盘介质上完成同一个10数据,但是将来自客户端的单个IO请求豌像为两个IO的源头可以有三种不同的选择:操作系统层面、数据面层面以及存储层面.1) .操作系统屡面的复制技术:以1.VM.VXVM等重矩卷镜像为基础,10写入的时候可以在组成同一个逻辑卷的物理谅像上同时写入数据,底层数据写入是需要通过SAN协议完成的.2) .数据库层面的豆制技术:一种是类似操作系统逻辑卷的模式,比如ORAC1.E的ASM,它也是一种逻饵卷常理模式,同样也可以通过多个物理镜像来组成一个逻辑卷,从而通过
5、镜像巨制的方式完成数据副本的同时写入.本质上它与操作系统展面的逻辑卷镜像技术没有区别,只是它离数据库更近,数据库更怪它.另外一种是通过数据库事务日志豆制的方式将数据修改行为在另外一个备库上重新演绎一遍,最终可以达到使数据结果一致的目的.3) .存赭屋面的复制技术:一种是通过存幡网关将两个物理存储卷组成一个逻辑存储卷,通过镜像豆制的方式完成数据在存储落盘时的双写.本质上它与操作系统屋面的遂辑卷镜像技术也没有区别,只是它选择在存储屋面实现.另外一种是通过存储介质之间以块拷贝的方式来实现数据副本的冗余.究其原理,其实无论从嘟个层面来实现,这些技术从原理上可以划分为三种类型:1、【O双写(操作系统逻短
6、卷镜像、ASM,存储网关镜像.etc)2、事务回放(以OradeADG为代表.etc)3,数据单元拷贝(以存砧CA、DP技术为代表的存储更制技术)3 .系统层如何实现数据复制?3.1 通过操作系统遗辑卷镜像实现数据良制对于操作系统层面的逻辑卷管理器1.VM模式来讲,是将底层来自不同数据中心的的两个物理存储卷作为物理镜像(PV)组合成一个可用的逻辑存储卷(IV)提供给上层应用来存放数据,本地物理卷和远程物理卷分别是由存储经过本地SAN环境以及跨数据中心SAN环境提供给服务器操作系统展.建立逻辑卷的时候就已经定义好1.V和PV的映射关系,并且逻辑页(1.P)和物理页(PP)的映射关系也已经完全定义
7、好了.这种复制只能采用同步发制机制,复制对象为逻辑卷层的变化Block,其过程为:捕获逻辑页(1.P)当中的变化块,同步写两个物理页(PP),等于在一个主机上将同一数据写入两个不同的碳盘,本地写完得到ACK确认,并且远端写完也得到ACK确认,才能或是一个完整的写入.假设远端存储卷写入超时就会被标为故障或者是般线状态,当远端存储写入恢复之后,对于1.VM来讲需要重新进行手动同步实现磷像副本完全一致。3.2 通过数据库逻辑卷镉像实现的数据豆制对于ASM模式来讲,其实原理与1.VM基本相同,创建DiskGroup的时候,将冗余策略选择为Normal,也就是所有业务数据保证两份镜像。这样的话,我们可以
8、将相等数量的磁盘分别归入不同的故障组(FailUreGroup).ASM对OraCIe数据文件(DataFile)进行修改的时候,以AU为单元进行实时双向写入,本地写完得到ACK确认,并且远端写完也得到ACK确认,才能算是一个完整的写入.相比1.VM的优势在于两点:ASM会有一个短时间内的写事务日志记录,它会帮助恢复离线浅像恢巨数据,但是如果超过这个时间,同样需要一个全新的同步来保证数据的一致性.另外一点,AU并非建立数据文件的时候就已经映射好了,ASM是在数据写入时才会分配具体的AU,完全可以做到通过指针转移的方式避免坏块儿导致的数据写入失败问题.3.3 通过分布式文件系统文件镜像实现的数据
9、复制对于GPFS模式来讲,它是通过将底层来臼不同站点的两个物理存砧卷归属到不同的FailureGroup当中,然后由这些物理存储卷经过文件系统格式化形成分布式文件系统,提供给上层应用以文件的形式写入数据。文件本身会被GPFS文件系统打故形成若干文件碎片,这些碎片在落盘时分别落入不同HlilUreGroUP当中的物理磴盘,从而保证底层数据的双副本”这种模式与前两种模式的最大区别在于它的数据落盘是根据NSD磁盘定义的服务实例顺序来决定的,正常情况下我们需要定义本站点的服务节点为磴盘的主服务节点,这样的话两个镜像写入的时候是靠GPFS位于不同中心的两个服务实例节点分别写入两个服务实例之间也需要私有协
10、议的交互,相当于数据的双写多了一个环节.4 .数据库层如何实现数据复制?4.1 通过数据库日志回放模式实现数据豆制对于事务日志的豆制技术,可以分为绝对同步模式、近似同步模式和异步模式三种.对于OraCIeDB来讲,客户端的数据更新诘求首先要由日志写入进程(1.GWR)从里做缓存刷到电做日志文件当中,然后由数据写进程再周期性地写入数据文件当中.再做日志当中以SCN为数据库独有的时间截序列来记录所有数据库更新的先后顺序,从而保障数据库恢巨能够按照正确的顺序执行保障数据一致性和完整性.也就是说在数据库的认知当中,只要事务日志写入至做日志文件,这个IO就算完成.如图,对于配普了DataGuard绝对同
11、步模式的数据库,在以上所述过程中,写入进程(1.GWR)在本地日志文件并不能结束,日志传输进程(1.NS)会将缓存里面的再做日志通过TCP/IP网络传输给灾备站点的备库实例的日志接受进程(RFS),备库实例的日志接收进程(RFS)根据接受到的重做日志在备库上蚤新执行数据库的更新操作,然后将ACK回传给日志传输进程(1.NS),日志传输进程(1.NS)再通知写入进程(1.GWR),才算是一个完整的IO完成.这样做可以保证主库和备库的事务性更新行为实时一致,最终保证数据的一致。当然也有一个前提条件,那就是在DataGuard开始同步豆制之前,必须保证备序的数据保持与主库的某一固定时间点的完整副本,
12、这需要靠传统数据备份技术来实现备库的初始数据豆制.因为事务豆制的本质是行为豆制,那么行为作用的初始数据副本必须保持一致,才能保证最终两副本的一致性.如图,对于配首了DataGuard异步模式的数据库,日志传输进程(1.NS)会将缓存里面的点做日志以及被1.GWR归档的正做日志文件通过TCP/IP网络异步传输给灾备站点的备库实例的日志接受进程(RFS),备库实例的日志接收进程(RFS)根据接受到的重做日志在备席上至新执行数据库的更新操作,但是并不会实时给日志传输进程(1.NS)进行ACK反馈,PrimaryDB只要完成本库的事务更新就认为IO结束.但是备库日志接受进程(RFS)会定期将进度信息反
13、馈给主库进程.当主备库传斯管理剥离之后,主库会主动通过以下两种方式探测井尝试更新和备库建立联系,第一是归档日志进程会周期性ping备库,成功情况下,它会根据获得的备库控制文件的记录的最后归档点和自己的归档日志决定向备库推送哪些归档日志.第二是日志发送进程会在正做日志准备发生归档的时刻点主动去ping备库日志接受进程并把剩余的里做条目发送给备库接受进程.近似同步模式是指在传输正常情况下保持与绝对同步模式一样的模式,在网络传输超时的情况下,就会剥离名库重做H志的过程,只要保证主库重做R志落盆就可以r5 .存储层如何实现数据复制?5.1 通过存储网关逻辑卷镜像实现数据且制所谓存佛网关双写复制技术,就
14、是在物理存硫层之上增加一层网关技术,用以形成存楮资源透明抽蕊展,即存储虚拟化是服务器与存储间的一个抽象层用以实现存储底层的虚拟化以及高可用镜像,它是物理存储的逻担表示方法.其主要目的就是要把物理存储介质抽软为逻箱存储空间,将分散的物理存储管理整合为集中存储管理并且由存储网关来控制镜像写入的策略和模式。IBM.EMC.NETAPP、HUAWEk英方等公司都有相应容灾技术方案及相应产品.基于写入原理及策略的不同,各自方案又各有一些区别。但是抛开细节究原理,归类总结之后有两种模式模式1,如图中所示,是以EMCVPIeX为代表的分布式存储卷技术.在存储网关VP1.EX上至新定义虚拟存储卷,该虚拟卷由分
15、布在两个数据中心的物理存储卷以1:1方式映射组成,并且以共享模式提供给VP1.EX的两个引擎,引擎之间类似OracleRAC的原理来共享全局缓存、心跳信息以及分布式锁的信息,两个引擎同时可以写IO,对于Block级别的并发写操作,是通过分布式锁及全局缓存机制来完成。所以这种双写是可以做到IO级别.模式2,如图中所示,是以IBMSVC为代表的虚拟存慵卷技术.在存储网关SVC上更新定义虚拟存储卷,该虚拟卷由分布在两个数据中心的物理存储卷以1:1方式映射组成,并且归属同一个IOGroup,并且以共享模式提供给SVC的两个节点,虽然两个节点都可以写操作,但是对于某一个IOGroup来讲,只能通过一侧节
16、点进行物理层面的双写操作,这样就避免了两个节点的在Block级别的并发控制.所以这种双写只能做到应用级别,做不到IO级别.当然还有一些类似的架构,在某些细节上更先进,比如NetApp的容灾方案MCC架构,它在此基础之上可以将负责存储写掇作的实例节点做到VM级别,VM负责以卷为粒度的双写,同时VM可以在存慵网关的物理引擎或节点之间进行漂移和里组,这样的话以应用为粒度的写操作的容灾切换3!加平滑。5.2 通过存储介质块发制实现数据复制对于存储存储底层的块儿基制技术来讲,它的数据基制是完全脱高了上层的应用层、系统层、数据面层.主要是依兆存储层两个物理存储设备来完成源到目标设备的Block系制。如图所示,从组成上来看,只有两个同型物理存储设备,数据复制跟上层没有任何关系,只需要存储层从一边的物理卷捕获Bloc