容灾系统是指在相隔较远的异地,建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。容灾技术是系统的高可用性技术的一个组成部分,容灾系统更加强调处理外界环境对系统的影响,特别是灾难性事件对整个IT节点的影响,提供节点级别的系统恢复功能。
什么是容灾?顾名思义, 容灾就是容忍灾难, 即在灾难袭来时从容不迫, 应付自如。就像电影《Die Hard 3》里面的布鲁斯和撒母尔那样, 在炸弹即将爆炸的情况下, 还能镇静自若的思索解决问题的方法。当然, 容灾的最高目的是解除灾难的威胁。但是, 有时候解除威胁不切实际(不像上面给出的问题, 其解决办法非常容易)。这个时候, 容灾的目的就得退而求其次, 即将灾难的影响降低到可以接受的程度。
对于信息系统来说, 容灾就是使一个信息系统具有应对一定灾难袭击, 保持系统持续或间断运行的能力。这些灾难包括天灾(水灾、 火灾、 地震、 龙卷风、 海啸、 环境恶化)和人祸(操作失误、 程序缺陷、 软件错误或故障、 硬件老化或次品、 蓄意破坏、 病毒、 黑客攻击、 恐怖袭击、 战争)。同上述故事一样, 信息系统容灾的最高境界是解除所有灾难对信息系统的威胁。不过这个目标过于理想化, 有点不切合实际。因此, 我们平时所说的信息系统的容灾, 或者说灾难应对, 实际目的是提高信息系统承受灾难打击的能力, 使得系统在受灾后, 仍能提供部分的功能, 或者在降低服务质量的状态下提供系统全部功能。信息工业界使用系统可用性来衡量一个信息系统持续提供服务的能力。为了理解可用性这个概念, 我们有必要介绍容灾的一些基本术语。
缺陷和错误
缺陷(defect)指的是程序天然或在设计中存在的弱点、 错误或失算。缺陷是产生程序失效和内部错误的原因。缺陷可以被侦测和清除, 也可以在不执行程序的情况下被清除。错误指的是程序运行中不正确的状态或不正确的时序。错误(fault)有两个含义: 一种是计算的, 观测出的数值与理论上的正确值之间的差异; 度量得到的结果与真实结果之间存在的差异。
缺陷和错误对灾难应对的影响有两个方面: 一是缺陷和错误将影响一个信息系统应对灾难的能力。因为任何灾难应对手段都是以这个手段本身能够正确运行为前提。如果这个手段的设计存在缺陷或错误, 自然就不能奢望其完成灾难应对的任务。二是缺陷和错误本身可能引发系统失效, 进而导致灾难的发生。
时间的概念
在容灾的术语中, 许多与时间有关。这些时间可能指日历时间, 也可能指时钟时间或执行时间。日历时间是我们日常生活中用的时间, 时钟时间则指从程序执行开始, 到运行结束所用的时间, 它包括等待时间和其他辅助时间, 但是不包括计算机停机占用的时间。执行时间则指计算机在执行程序时, 实际占用的CPU时间。
例如, 某办公软件在一周之内运行了36小时, CPU时间是运行时间的2/3, 则我们可以得到日历时间: 一周, 时钟时间: 36小时, CPU时间: 24小时。
对于稳定的系统, 平均每周运行的时钟时间和CPU时间变化不大, 三种时间单元可以按照相应的比例系数换算, 一般而言, 以CPU时间作为度量基础效果较好。
失效
失效(Failure)是信息系统实际行为与期待行为的偏离。失效是缺陷和错误在系统运行过程中的彰显而造成系统不能提供正确的服务。失效既包括提供不正确的服务, 也包括不提供服务(即系统瘫痪)。失效的发生取决于执行时间的长度和操作方式。
系统可用性
系统可用性(Availability)是信息工业界用来衡量一个信息系统提供持续服务的能力, 它表示的是在给定时间系统或者系统某一能力在特定环境中能够满意工作的概率。如果知道系统每次失效后的平均停机时间, 那么可用性可以转换为一定的可靠性(估算值, 不是精确值)。例如, 如果系统可用性为99%, 且每次失效后的平均停机时间为1小时, 则我们推算得知每100小时系统可以可靠地运行99小时, 即系统可靠性约为99%。
简单地说, 可用性是系统运行时间除以系统运行时间和停机时间之和所得的结果, 即:
可用性=系统运行时间/(系统运行时间+系统停机时间)
一般小的问题不一定要停止整个系统, 此处计算的是严重的失效, 即那些需要恢复程序数据, 重新加载程序, 重新执行等情况的失效。
系统可用性和我们前面定义的MTTF、 MTTR和MTBF的关系可用下述公式表示:
可用性=MTTF/(MTTF+MTTR)=MTTF/MTBF
根据可用性的取值, 我们可以将信息系统分为多个可用性等级, 分别为: 较可用(Available)、 高可用(Highly Available)、 极可用(Extremely Available)、 最可用(Most Available)。
较可用等级表示那些可用性取值为99%以下的信息系统, 此种系统基本不具备容灾能力, 在灾难袭击下通常会瘫痪或崩溃。因此, 它们只能用来处理一般性业务, 诸如办公文档编写、 程序编写、 个人事务管理等。
高可用等级为可用性达到99.9%等级的信息系统, 此种信息系统可应对微小的、 局部的异常或灾难, 如应用失效、 硬件老化等。在发生这些微小灾难时, 此种系统通常能够自动重启应用或将应用转移到另外一个硬件上。此种系统可用来进行敏感性业务处理, 诸如网络路由、 应用服务器、 中间件服务器、 邮件服务器等。
极可用等级表示的是那些可用性取值达到99.99%等级的信息系统。此种信息系统具备较强的容灾能力, 能够应对区域性的或小规模的灾难。此种系统通常用于重要业务活动, 如程控交换、 交通控制、 薪酬发放系统等。
最可用等级表示的是那些可用性取值达到99.999%等级的信息系统。这是目前信息系统能够达到的最高等级。此种信息系统具备目前最强的容灾能力。此种系统通常用于关键业务活动, 如证券交易、 武器控制、 航空航天等。
当然, 有的机构宣称自己的某个系统达到了99.999999…%甚至更高的可用性。但这些结论无法被证明, 也经不起仔细推敲, 本书不予讨论。美国EMC公司的Clariion存储系统是市场上最早达到最可用标准的中低端智能存储设备(与EMC公司Clariion产品经理的谈话, 2006年12月, EMC上海研发中心)。
综合上面四种可用性等级的介绍, 可用性级别与可用性取值的关系如图2-1所示。
图2-1可用性级别分类
所有信息系统都可以使用可用性级别来进行分类。例如, 计算机服务器系统可以有:
ü 较可用级, 如个人电脑, 手提电脑等。
ü 高可用级, 如工作站或个人电脑集群等。
ü 极可用级, 如独立配置的小型机。
ü 最可用级, 如大型机OS390和AS400。
对于数据存储器来说, 也可以有这些类别的划分。如较可用级的存储设备有磁带和磁盘, 高可用性级别的有磁带阵列或磁盘阵列, 极可用级的有智能存储器, 最可用级的有存储区域网。根据具体情况, 不同的企业对信息系统可用性级别的要求可能不一样。作为参考, 图2-2 给出的是中国企业对数据存储系统可用性级别的要求分布。
图2-2中国企业对信息可用性的要求
(数据来源: IT168/ITPUB/IXPUB 2007)
当然, 本书划分的可用性级别只是针对现有的信息系统, 将来也许会出现更高可用性的系统。那时候, 我们就可能需要定义新的可用性级别了。
分类
编辑
从其对系统的保护程度来分,可以将容灾系统分为:
数据级容灾是指通过建立异地容灾中心,做数据的远程备份,在灾难发生之后要确保原有的数据不会丢失或者遭到破坏,但在数据级容灾这个级别,发生灾难时应用是会中断的。在数据级容灾方式下,所建立的异地容灾中心可以简单地把它理解成一个远程的数据备份中心。数据级容灾的恢复时间比较长,但是相比其他容灾级别来讲它的费用比较低,而且构建实施也相对简单。
应用级容灾是在数据级容灾的基础之上,在备份站点同样构建一套相同的应用系统,通过同步或异步复制技术,这样可以保证关键应用在允许的时间范围内恢复运行,尽可能减少灾难带来的损失,让用户基本感受不到灾难的发生,这样就使系统所提供的服务是完整的、可靠的和安全的。应用级容灾生产中心和异地灾备中心之间的数据传输是采用异类的广域网传输方式;同时应用级容灾系统需要通过更多的软件来实现,可以使多种应用在灾难发生时可以进行快速切换,确保业务的连续性。
业务级容灾是全业务的灾备,除了必要的IT相关技术,还要求具备全部的基础设施。其大部分内容是非IT系统(如电话、办公地点等),当大灾难发生后,原有的办公场所都会受到破坏,除了数据和应用的恢复,更需要一个备份的工作场所能够正常的开展业务。
数据容灾
所谓数据容灾,就是指建立一个异地的数据系统,该系统是本地关键应用数据的一个可用复制。在本地数据及整个应用系统出现灾难时,系统至少在异地保存有一份可用的关键业务的数据。该数据可以是与本地生产数据的完全实时复制,也可以比本地数据略微落后,但一定是可用的。采用的主要技术是数据备份和数据复制技术。
数据容灾技术,又称为异地数据复制技术,按照其实现的技术方式来说,主要可以分为同步传输方式和异步传输方式(各厂商在技术用语上可能有所不同),另外,也有如“半同步”这样的方式。半同步传输方式基本与同步传输方式相同,只是在Read占I/O比重比较大时,相对同步传输方式,可以略微提高I/O的速度。而根据容灾的距离,数据容灾又可以分成远程数据容灾和近程数据容灾方式。下面,我们将主要按同步传输方式和异步异步传输方式对数据容灾展开讨论,其中也会涉及到远程容灾和近程容灾的概念,并作相应的分析。
应用容灾
所谓应用容灾,是在数据容灾的基础上,在异地建立一套完整的与本地生产系统相当的备份应用系统(可以是互为备份)。建立这样一个系统是相对比较复杂的,不仅需要一份可用的数据复制,还要有包括网络、主机、应用、甚至IP等资源,以及各资源之间的良好协调。主要的技术包括负载均衡、集群技术。数据容灾是应用容灾的基础,应用容灾是数据容灾的目标。
在选择容灾系统的构造时,还要建立多层次的广域网络故障切换机制。本地的高可用系统指在多个服务器运行一个或多种应用的情况下,应确保任意服务器出现任何故障时,其运行的应用不能中断,应用程序和系统应能迅速切换到其它服务器上运行,即本地系统集群和热备份。
在远程的容灾系统中,要实现完整的应用容灾,既要包含本地系统的安全机制、远程的数据复制机制,还应具有广域网范围的远程故障切换能力和故障诊断能力。也就是说,一旦故障发生,系统要有强大的故障诊断和切换策略制订机制,确保快速的反应和迅速的业务接管。实际上,广域网范围的高可用能力与本地系统的高可用能力应形成一个整体,实现多级的故障切换和恢复机制,确保系统在各个范围的可靠和安全。
集群系统是在冗余的通常可用性系统基础之上,运行高可靠性软件而构成。高可靠性软件用于自动检测系统的运行状态,在一台服务器出现故障的情况下,自动地把设定的服务转到另一台服务器上。当运行服务器提供的服务不可用时,备份服务器自动接替运行服务器的工作而不用重新启动系统,而当运行服务器恢复正常后,按照使用者的设定以自动或手动方式将服务切换到运行服务上运行。备份服务器除了在运行服务器出现故障时接替其服务,还可以执行其他应用程序。因此,一台性能配备充分的主机可同时作为某一服务的运行服务器和另一服务的备份服务器使用,即两台服务器互为备份。一台主机可以运行多个服务,也可作为多个服务的备份服务器。
数据容灾系统,对于IT而言,就是为计算机信息系统提供的一个能应付各种灾难的环境。当计算机系统在遭受如火灾、水灾、地震、战争等不可抗拒的自然灾难以及计算机犯罪、计算机病毒、掉电、网络/通信失败、硬件/软件错误和人为操作错误等人为灾难时,容灾系统将保证用户数据的安全性(数据容灾),甚至,一个更加完善的容灾系统,还能提供不间断的应用服务(应用容灾)。可以说,容灾系统是数据存储备份的最高层次。
指导文件
编辑
2005年4月,国务院信息化工作办公室正式向信息产业部、广电总局、中国人民银行、铁道部、税务部、民航总局、海关总署、证监会、保监会、国家电网公司下发了《重要信息系统灾难恢复指南》。
该指南主要从灾难恢复规划的管理、灾难恢复的需求分析、灾难恢复等级的确定、灾难恢复等级的实现、灾难恢复预案的制订、落实和管理等方面,对灾难恢复的规划和准备活动的规范化要求进行全面描述。
《重要信息系统灾难恢复指南》还以规范性附录的形式对灾难恢复的等级划分进行了描述,并以灾备资料性附录的形式对灾难恢复预案的框架进行了说明。[1]
2007年7月,国务院信息化工作办公室领导编制的《重要信息系统灾难恢复指南》正式升级成为国家标准《信息系统灾难恢复规范》(GB/T 20988-2007 )。这是中国灾难备份与恢复行业的第一个国家标准,并于2007年11月1日开始正式实施。[2]
等级
编辑
容灾备份是通过在异地建立和维护一个备份存储系统,利用地理上的分离来保证系统和数据对灾难性事件的抵御能力。
根据容灾系统对灾难的抵抗程度,可分为数据容灾和应用容灾。数据容灾是指建立一个异地的数据系统,该系统是对本地系统关键应用数据实时复制。当出现灾难时,可由异地系统迅速接替本地系统而保证业务的连续性。应用容灾比数据容灾层次更高,即在异地建立一套完整的、与本地数据系统相当的备份应用系统(可以同本地应用系统互为备份,也可与本地应用系统共同工作)。在灾难出现后,远程应用系统迅速接管或承担本地应用系统的业务运行。
设计一个容灾备份系统,需要考虑多方面的因素,如备份/恢复数据量大小、应用数据中心和备援数据中心之间的距离和数据传输方式、灾难发生时所要求的恢复速度、备援中心的管理及投入资金等。根据这些因素和不同的应用场合,通常可将容灾备份分为四个等级。
第0级:没有备援中心
这一级容灾备份,实际上没有灾难恢复能力,它只在本地进行数据备份,并且被备份的数据只在本地保存,没有送往异地。
第1级:本地磁带备份,异地保存
在本地将关键数据备份,然后送到异地保存。灾难发生后,按预定数据恢复程序恢复系统和数据。这种方案成本低、易于配置。但当数据量增大时,存在存储介质难管理的问题,并且当灾难发生时存在大量数据难以及时恢复的问题。为了解决此问题,灾难发生时,先恢复关键数据,后恢复非关键数据。
第2级:热备份站点备份
在异地建立一个热备份点,通过网络进行数据备份。也就是通过网络以同步或异步方式,把主站点的数据备份到备份站点,备份站点一般只备份数据,不承担业务。当出现灾难时,备份站点接替主站点的业务,从而维护业务运行的连续性。
第3级:活动备援中心
在相隔较远的地方分别建立两个数据中心,它们都处于工作状态,并进行相互数据备份。当某个数据中心发生灾难时,另一个数据中心接替其工作任务。这种级别的备份根据实际要求和投入资金的多少,又可分为两种:
1、两个数据中心之间只限于关键数据的相互备份;
2、两个数据中心之间互为镜像,即零数据丢失等。零数据丢失是目前要求最高的一种容灾备份方式,它要求不管什么灾难发生,系统都能保证数据的安全。所以,它需要配置复杂的管理软件和专用的硬件设备,需要投资相对而言是最大的,但恢复速度也是最快的。
关键技术
编辑
在建立容灾备份系统时会涉及到多种技术,如:SAN或NAS技术、远程镜像技术、基于IP的SAN的互连技术、快照技术等。这里重点介绍远程镜像、快照和互连技术。
远程镜像技术
远程镜像技术是在主数据中心和备援中心之间的数据备份时用到。镜像是在两个或多个磁盘或磁盘子系统上产生同一个数据的镜像视图的信息存储过程,一个叫主镜像系统,另一个叫从镜像系统。按主从镜像存储系统所处的位置可分为本地镜像和远程镜像。远程镜像又叫远程复制,是容灾备份的核心技术,同时也是保持远程数据同步和实现灾难恢复的基础。远程镜像按请求镜像的主机是否需要远程镜像站点的确认信息,又可分为同步远程镜像和异步远程镜像。
同步远程镜像(同步复制技术)是指通过远程镜像软件,将本地数据以完全同步的方式复制到异地,每一本地的I/O事务均需等待远程复制的完成确认信息,方予以释放。同步镜像使拷贝总能与本地机要求复制的内容相匹配。当主站点出现故障时,用户的应用程序切换到备份的替代站点后,被镜像的远程副本可以保证业务继续执行而没有数据的丢失。但它存在往返传播造成延时较长的缺点,只限于在相对较近的距离上应用。
异步远程镜像(异步复制技术)保证在更新远程存储视图前完成向本地存储系统的基本操作,而由本地存储系统提供给请求镜像主机的I/O操作完成确认信息。远程的数据复制是以后台同步的方式进行的,这使本地系统性能受到的影响很小,传输距离长(可达1000公里以上),对网络带宽要求小。但是,许多远程的从属存储子系统的写没有得到确认,当某种因素造成数据传输失败,可能出现数据一致性问题。为了解决这个问题,目前大多采用延迟复制的技术(本地数据复制均在后台日志区进行),即在确保本地数据完好无损后进行远程数据更新。
快照技术
远程镜像技术往往同快照技术结合起来实现远程备份,即通过镜像把数据备份到远程存储系统中,再用快照技术把远程存储系统中的信息备份到远程的磁带库、光盘库中。
快照是通过软件对要备份的磁盘子系统的数据快速扫描,建立一个要备份数据的快照逻辑单元号LUN和快照cache。在快速扫描时,把备份过程中即将要修改的数据块同时快速拷贝到快照cache中。快照LUN是一组指针,它指向快照cache和磁盘子系统中不变的数据块(在备份过程中)。在正常业务进行的同时,利用快照LUN实现对原数据的一个完全的备份。它可使用户在正常业务不受影响的情况下(主要指容灾备份系统),实时提取当前在线业务数据。其“备份窗口”接近于零,可大大增加系统业务的连续性,为实现系统真正的7×24运转提供了保证。
快照是通过内存作为缓冲区(快照cache),由快照软件提供系统磁盘存储的即时数据映像,它存在缓冲区调度的问题。
互连技术
早期的主数据中心和备援数据中心之间的数据备份,主要是基于SAN的远程复制(镜像),即通过光纤通道FC,把两个SAN连接起来,进行远程镜像(复制)。当灾难发生时,由备援数据中心替代主数据中心保证系统工作的连续性。这种远程容灾备份方式存在一些缺陷,如:实现成本高、设备的互操作性差、跨越的地理距离短(10公里)等,这些因素阻碍了它的进一步推广和应用。
目前,出现了多种基于IP的SAN的远程数据容灾备份技术。它们是利用基于IP的SAN的互连协议,将主数据中心SAN中的信息通过现有的TCP/IP网络,远程复制到备援中心SAN中。当备援中心存储的数据量过大时,可利用快照技术将其备份到磁带库或光盘库中。这种基于IP的SAN的远程容灾备份,可以跨越LAN、MAN和WAN,成本低、可扩展性好,具有广阔的发展前景。基于IP的互连协议包括:FCIP、iFCP、Infiniband、iSCSI等。
应用技术
编辑
应用级容灾技术,不仅仅可以保障数据安全,更主要的是能确保业务系统7*24小时持续运行。美创DBRA应用级容灾系统,通过挖掘日志、应用日志的形式实现数据的异地实时同步,通过自动或一键式全业务切换来确保,业务连续性。
美创DBRA主要有以下几个特点:
支持全业务的切换
DBRA是业界第一个以整个业务系统为视角进行组织和管理的软件技术,可用实现包括应用、中间件和数据库系统的一键式容灾切换。实现0数据丢失,分钟级切换。在灾难带来的巨大恐慌的时刻,避免人工出错和降低RTO,使RTO可控。
支持双活数据中心,容灾端数据实时可用
DBRA容灾端的数据库提供只读查询的功能,使客户的部分业务可以迁移到容灾端进行,减少生产端的压力。另外用户可以随时校验数据的有效性。
具有闪回机制,可以防范人为误操作
DBRA对于发生频率比较高的误操作也可以很好的防范。可以做到基于数据库、表空间、表格等任意粒度的闪回,帮助用户快速的找回误删除的数据。
灾备一体化
DBRA用一套软件可以同时实现容灾和备份的功能,避免了分别建设容灾和备份系统的重复性投资。DBRA的备份是真正的实时备份,备份数据随时可用。避免了传统备份无法解决的备份窗口问题和数据丢失问题。同时备份数据的随时可用,大大减少了业务系统的停机时间。
容灾的完备性
灾难是多种多样的,如:地震、火灾、电力故障、人为误删除、病毒、黑客入侵等等。灾难一般可以分为物理错误和逻辑错误。DBRA对于物理错误和逻辑错误都能进行很好的防范。
技术指标
编辑
RPO(Recovery Point Objective):即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。
RTO(Recovery Time Objective):即恢复时间目标,主要指的是所能容忍的业务停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。
RPO针对的是数据丢失,而RTO针对的是服务丢失,二者没有必然的关联性。RTO和RPO的确定必须在进行风险分析和业务影响分析后根据不同的业务需求确定。对于不同企业的同一种业务,RTO和RPO的需求也会有所不同。
现状
编辑
从去年后半年的一次调查结果来看,每个公司都开始非常认真的应对灾难。该调查结果显示,有74%的受访者称他们所在的公司已经有了灾难应对方案,这个数值比早先的一些调查结果高。有48%的受访者表示他们正在对此进行规划。另外有52%的人表示他们的灾备中心是属于他们自己公司的,而29%的受访者表示他们的灾备中心是租来的。仅有11% 的人将他们的灾备中心放在云服务提供商那里进行托管。
而在两年前的一项调查中,54%的受访者表示他们的每两年会定期测试一下他们的灾备计划,而现在这项指标降为了47%,另外有21%的人表示每年会进行演练而还有24%的受访者说他们并无定期的灾备演练计划,而这是一项随时可能发起的演习。不管演习的频率是怎样的,80%的人表示他们期望应用在24小时内恢复回来,能快速恢复回来当然是不错的,因为其中有42%的人说他们不能丢失任何的数据。
受访者同样表示他们现在越来越能接受灾备规划,同时也表达了他们对云服务的担忧。但有人也表达了些他们自己的看法,因为他们的数据从来没有被恢复过。[3]
常用数据容灾软件
编辑
Acronis Backup & Recovery 可备份和恢复 Windows 或 Linux 服务器。它提[4] 供基于磁盘的备份、灾难恢复与数据保护,支持磁盘、磁带或云端存储选项、目录、搜索,以及集中管理。
Moebius for SQL Server提供了数据库层面基于事务的双活技术、灾难恢复与数据保护。
参考文献:http://dev.yesky.com/171/8722671.shtml#top
百度百科:http://baike.baidu.com/link?url=MRcm99n_803-_6MMevYBSWhyAVnkI9kbvB02qArx64ymONgaSwREdkKeq7j_me2DXtRGoU83mt5aoiGBhbl4Fa