大数据存储解决方案提供商

媒体报道 当前位置 >> 新闻中心 >> 媒体报道

计算机报:容灾技术浅析

发布日期:2006-08-16

中国科学院计算技术研究所工程中心 董欢庆 赵瑞

 

序言

       随着信息时代的到来,数据越来越突出地成为社会正常运作的核心。对于一个企业来讲,数据更是影响其生存和发展的关键,各行业的用户和企业对网络应用和数据信息的依赖日益强烈,使得突发性灾难如火灾、洪水、地震或者恐怖事件对整个企业的数据和业务生产会造成重大影响。

因此,如何保证在灾难发生时,企业数据不丢失,保证系统服务尽快恢复运行成为人们关注的话题,所以,容灾技术日益成为各个行业关注的焦点。本文从技术角度对容灾的概念、相关技术以及相关法规做出初步的介绍分析,力图使读者对容灾的内容有个概略性的理解,最后本文对现在的容灾技术趋势做进一步的介绍。

1.概念篇

1.1 容灾的定义

    在给出容灾的概念之前,有必要先给出灾难的定义。从一个计算机系统的角度讲,一切引起系统非正常停机的事件都可以称为灾难。大致可以分成以下三个类型:

自然灾害,包括地震、火灾、洪水、雷电等,这种灾难破坏性大,影响面广;

设备故障,包括主机的CPU、硬盘等损坏,电源中断以及网络故障等,这类灾难影响范围比较小,破坏性小。

人为操作破坏,包括误操作、人为蓄意破坏等等。

容灾(Disaster Tolerance),就是在上述的灾难发生时,在保证生产系统的数据尽量少丢失的情况下,保持生存系统的业务不间断地运行。
 

       一个和容灾易混淆的概念是容错(Fault Tolerance),容错指在计算机系统的软件、硬件发生故障时,保证计算机系统中仍能工作的能力。容错和容灾最大的区别是,容错可以通过硬件冗余、错误检查和热交换再加上特殊的软件来实现,而容灾必须通过系统冗余、灾难检测和系统迁移等技术来实现。当设备故障不能通过容错机制解决而导致系统宕机时,这种故障的解决就属于容灾的范畴。

       另外一个容易和容灾混淆的概念是灾难恢复(Disaster Recovery),灾难恢复指的是在灾难发生后,将系统恢复到正常运作的能力。灾难恢复和容灾的区别是,容灾强调的是在灾难发生时,保证系统业务持续不间断地运行的能力,而灾难恢复强调的灾难之后,系统的恢复能力。现在的容灾系统都包含着灾难恢复的功能,所以本文的讨论除了包括容灾方面的内容,还包括了灾难恢复的部分内容。

1.2 容灾的评价指标

    现在工业界都以数据丢失量和系统恢复时间作为标准,对某个容灾系统进行评价,公认的评价标准是RPO和RTO。

    RPO(Recovery Point Objective): 恢复点目标,以时间为单位,即在灾难发生时,系统和数据必须恢复到的时间点要求。RPO标志系统能够容忍的最大数据丢失量。系统容忍丢失的数据量越小,RPO的值越小。

    RTO(Recovery Time Objective): 恢复时间目标,以时间为单位,即在灾难发生后,信息系统或业务功能从停止到必须恢复的时间要求。RTO标志系统能够容忍的服务停止的最长时间。系统服务的紧迫性要求越高,RTO的值越小。

    RPO针对的是数据丢失,RTO针对的是服务丢失,两者没有必然的联系,并且两者的确定必须在进行风险分析和业务影响分析之后根据业务的需求来确定。

1.3 容灾的分类

    由于容灾包含的内容比较广泛,对容灾的分类也可以从多个方面进行。总的来讲,可以从容灾的范围和容灾的内容来区分。

    从容灾的范围讲,容灾可以分成本地容灾、近距离容灾和远距离容灾。这三种容灾能容忍的灾难是不相同的,采用的容灾技术也是不同的。

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

1.4 容灾的等级划分

       由于容灾系统需要考虑众多的因素,目前,根据容灾系统中数据的丢失程度、生产系统和备用系统的距离,以及灾难恢复计划的状态等因素,公认的容灾级别划分如下:

1. 本地容灾:即将系统数据或应用在本地备份,无异地后援。这一级别的容灾,仅能应付本地的硬件损坏或人为因素造成的灾难。

2.  异地数据冷备份:即将系统数据备份到物理介质(磁盘、磁带或光盘)上,然后送到异地进行保存。这种方案成本低、易于实现。但是在灾难发生时,数据的丢失量大,并且系统需要很长的恢复时间,无法保持业务的连续性。

3. 异地数据热备份:即在异地建立一个热备份中心,采取同步或者异步方式,通过网络将生产系统的数据备份到备份系统中。备份系统只备份数据,不承担生产系统的业务。当灾难发生时,数据丢失量小,甚至零丢失,但是,系统恢复速度慢,无法保持业务的连续性。

4. 异地应用级容灾:即在异地建立一个与生产系统相同的备用系统,备用系统与生产系统共同工作,承担系统的业务。这种类似于RAID1的容灾系统,能够提供很小的数据丢失量,系统恢复速度是最快的。但是,需要配置复杂的系统管理软件和专用的硬件,相对成本也是最高的。

在上述的级别之上,又有人提出业务级别的容灾级别。对于正常的业务而言,仅靠IT系统的保障是不够的,业务级别的容灾包括众多非IT系统的设施,比如电话,办公环境等。

2.技术篇

    传统的容灾技术通常指针对生产系统的灾难采用的远程备份系统技术。但是,随着对容灾系统要求的不断提高,现在的容灾技术包括了可能引起生产系统服务停止的所有防范和保护技术。一般来讲,一个容灾系统中实现数据容灾和应用容灾采取不同的实现技术,数据容灾的技术包括数据备份技术、数据复制技术和数据管理技术等,而应用容灾包括灾难检测技术、系统迁移技术和系统恢复技术等等。本章节对数据容灾相关的数据备份技术和复制技术以及应用容灾相关的灾难检测技术和系统迁移技术做初步的介绍和分析,其它的技术请参考相关技术资料。

2.1 数据备份技术

数据备份就是把数据从生产系统备份到备份系统中的介质中的过程。数据备份技术最初是备份到本地磁带,随着网络发展,现在的备份技术有了飞速的发展。

2.1.1 主机备份

       这种备份就是传统意义上的基于主机(Host-based)的备份。主机负责将数据备份到和主机直接相连的存储介质上(一般是磁带)。虽然这种备份的速度快,管理简单,但是仅能适应于单台服务器备份,并且在灾难恢复过程中,系统恢复的时间长。

2.1.2 网络备份

       随着网络的发展,传统的主机备份渐渐地转向了网络备份,即系统中备份数据的传输以网络为基础。根据备份系统中备份服务器、介质服务器是否在同一个LAN中,可以将网络备份分为基于局域网的备份和远程网络备份。

       基于局域网的备份特点是应用服务器、备份服务器和介质服务器共用一个局域网络,备份服务器统一管理备份的过程,多个应用服务器可以将各自的数据备份到介质服务器上。这种备份方式可以共享介质资源,实现集中的备份管理。缺点是对网络带宽和备份时间的压力比较大,并且不具备远程的容灾能力。当然通过将介质(磁盘、磁带或光盘)运输到远程保存,可以具备一定的容灾能力。

       远程网络备份,则是介质服务器与应用服务器不属于同一个局域网,备份服务器依然统一管理备份的过程,备份数据则是通过WAN,ATM或者Internet等公共网络传送到远程的介质服务器上。这种备份方式基本上构成了一个异地的备份容灾方案。由于备份数据在公共网络上传输,备份的速度、备份数据的完整性和安全性等方面都需要考虑。

2.1.3 专有存储网络备份

       当存储系统成为一个独立于备份系统的系统之后,特别是存储局域网(SAN:Storage Area Storage)的发展,使得备份过程可以在存储局域网中实现,根据备份过程中对应用服务器的影响,专有存储网络备份可以分为LAN-Free备份和Server-Free备份。

       LAN-Free备份,是在存储网络(Storage Network)之上建立的一种备份系统。在该备份系统中,生产系统的存储和介质服务器的存储直接通过专用存储网络进行连接,在备份过程中,庞大的备份数据不经过主机系统所在的网络,而是通过专用的存储网络传输到介质上。这种备份方式的优点是共享介质资源,实现集中管理,不会对主机系统网络有影响。缺点是实现比较复杂,成本相对较高。

       Server-Free备份,则是建立在存储区域网(SAN:Storage Area Network)的基础上,备份过程无需应用服务器参与数据传输的备份系统。这种备份方式可以保证生产系统及其网络不受影响。目前这种备份技术还不太成熟,对硬件的性能和兼容性的要求都很高。

       专用存储网络备份更多关注的是存储系统的扩展性、可用性以及性能等方面的因素,可以讲存储局域网的发展将会在更大程度上提高系统的数据容灾能力。

2.2 数据复制技术

    和数据备份相比,数据复制技术则是通过不断将生产系统的数据复制到另外一个不同的备份系统中,以保证在灾难发生时,生产系统的数据丢失量最少。

    按照备份系统中数据是否与生产系统同步,数据复制可以分成同步数据复制和异步数据复制。同步数据复制就是将本地生产系统的数据以完全同步的方式复制到备份系统中。由于发生在生产系统的每一次I/O操作都需要等待远程复制完成才能返回,这种复制方式虽然可能做得数据的零丢失,但是对系统的性能有很大的影响。异步数据复制则是将本地生产系统中的数据在后台异步的复制到备份系统中。这种复制方式会有少量的数据丢失,但是对生产系统的性能影响较小。

根据数据复制的层次,数据复制技术的实现可以分成以下四种:

1. 存储系统数据复制:数据的复制过程通过本地的存储系统和远端的存储系统之间的通信完成。这种方式的复制对应用来讲时透明的,可以直接实现数据容灾功能,也可以提供很高的性能,可是,对存储系统的要求比较高。

2. 数据交换层数据复制:这种方式的复制技术是伴随着存储局域网的出现引入的,即在存储局域网的交换层上实现数据复制。实现方式可以通过专有的复制服务器实现,也可以通过存储局域网(SAN)交换机,将数据同步的复制到远端存储系统中。

3. 操作系统层数据复制:主要通过操作系统或者数据卷管理器来实现对数据的远程复制。这种复制技术往往要求本地系统和远端系统是同构的,并且由于数据复制由主机系统完成,其效率和管理上也存在不少问题。

4. 应用程序层数据复制:例如数据库的异地复制技术,通常采用日志复制功能,依靠本地和远程主机间的日志归档与传递来实现两端的数据一致。这种复制技术对系统的依赖性小,有很好的兼容性。缺点是本地应用程序向远端复制的是日志文件,这需要远端应用程序重新执行和应用才能生产可用的备份数据。另外,由于各个应用程序采取的复制技术不同,无法以一种技术实现多种应用的数据复制。

2.3 灾难检测技术

    对于一个容灾系统来讲,在灾难发生时,尽早地发现生产系统端的灾难,尽快地恢复生产系统的正常运行或者尽快地将业务迁移到备用系统上,都可以将灾难造成的损失降低到最低。除了依靠人力来对灾难进行确定之外,对于系统意外停机等灾难还需要容灾系统能够自动地检测灾难的发生,目前容灾系统的检测技术一般采用心跳技术。

    心跳技术,其中一个实现是:生产系统在空闲时每隔一段时间向外广播一下自身的状态。检测系统在收到这些“心跳信号”之后,便认为生产系统是正常的,否则,在给定的一段时间内没有收到“心跳信号”,检测系统便认为生产系统出现了非正常的灾难。心跳技术的另外一个实现是:每隔一段时间,检测系统就对生产系统进行一次检测,如果在给定的时间内,被检测的系统没有响应,则认为被检测的系统出现了非正常的灾难。心跳技术中的关键点是心跳检测的时间和时间间隔周期。如果间隔周期短,会对系统带来很大的开销。如果间隔周期长,则无法及时地发现故障。

2.4 系统迁移技术

       灾难发生后,为了保持生产系统地业务连续性,需要实现系统的透明性迁移,利用备用系统透明地代替生产系统进行运作。一般对实时性要求不高的容灾系统,例如Web服务,邮件服务器等,可以通过修改DNS或者IP来实现,对实时性要求高的容灾系统,则需要将生产系统的应用透明地迁移到备用系统上。目前基于本地机群的进程迁移的算法可以应用在远程容灾系统中,但是需要对迁移算法进行改进,使之适应复杂的网络环境。

2.5 总结

    上述几种技术只是应用在容灾系统中最广泛的技术,随着技术的更新发展,现在有许多的技术都已经开始应用于容灾系统,例如存储技术中的SAN、NAS、虚拟化技术和快照技术等等,数据管理中的数据归档、迁移和内容存储等技术,还有基于冗余技术和机群技术的高可用技术等等。这些技术的引入必将对容灾系统产生深远的影响,限于篇幅原因,本文不对这些技术做介绍,请参考相关技术资料。

3.法规篇

    有关容灾的法规,主要参考BS7799信息安全管理体系标准。BS7799最早由英国商务部提出,由BSI将其发展成为标准。BS7799分成两个部分,第一部分是信息安全管理实践指南,在2000年被采纳为ISO17799;第二部分BS7799-2是信息安全管理体系规范。目前BS7799已经被世界上许多国家和地区采纳为标准,我国在这方面的工作也在进展中。

    我国最早关于信息安全的方案在2003年出台,由中共中央办公厅、国务院办公厅转发的《国家信息化领导小组关于加强信息安全保障工作的意见》(以下简称《意见》)。《意见》中强调了信息网络和信息系统的容灾和灾难恢复工作的重要性,要求要不断制订和完善信息安全应急处理预案。针对重要信息的灾难恢复工作,我国在2005年4月由国务院信息化办公室颁布了《重要信息系统灾难恢复方案》(以下简称《方案》),为灾难恢复工作提供了一套操作性强的规范性文档。

4.展望篇

4.1 业务连续性

    业务连续性,顾名思义,就是保证服务和业务的顺畅运行,它不仅仅指系统的不间断运行,更是保证业务的不间断运行。业务连续性是在容灾之上的业务级容灾系统,其实施过程不仅仅是个技术问题,它更多的是关注业务本身的连续性要求。即从理解业务本身开始,进行业务的冲击分析和风险估计,在此基础上,由企业的高层管理人员指定本企业的业务持续战略计划,然后规划业务持续计划,进行测试和实施。由于业务连续性计划的讨论超出本文讨论范围,感兴趣的读者可以参考相关资料。

4.2 持续数据保护

    另一个值得注意的技术是持续数据保护(CDP)。这个技术首先在一些小公司中提出来的,主要面对中小企业甚至是普通PC用户,但是随着企业和用户对CDP的认同,CDP已经吸引IBM、微软,赛门铁克和EMC等各大公司注意,这几家大公司已经宣布或表示已经制订了未来的CDP产品计划。

    目前,还难以说明CDP的准确定义,因为业内对CDP产品的争论一种在持续。其争论的焦点就是对“持续(Continuous)”的定义。对此,SNIA(Storage Networking Industry Association )给出的定义是:

    持续数据保护(CDP)是这样一种在不影响主要数据运行的前提下,可以实现持续捕捉或跟踪目标数据所发生的任何变化,并且能够恢复到此前任意时间点的方法。CDP系统能够提供块级,文件级和应用级的备份,以及恢复目标的无限的任意可变的恢复点。
 

持续数据保护(CDP)的应用范围,目前可以分成三类:

1. 为数据中心内的文件服务器/NAS提供普通的数据保护。在这种应用中,CDP逐渐取代了以前那种夜间的磁盘或磁带备份任务。

2. 为远程的分支机构进行集中化的备份。将CDP用于远程分支机构备份应用的最大好处就是从此避免远距离转移磁带介质的风险。

3. 解决笔记本电脑上的数据备份问题。例如IBM Tivoli CDP产品,可以对笔记本电脑进行很好的数据保护,即使笔记本电脑没有连接网络。

5.备份产品篇

       在容灾系统中,用户接触最多的就是备份产品了,所以在本文结束之前,有必要对现有市场上现有的主流的备份产品介绍一下。目前应用比较广的企业级的备份产品有VERITAS(目前已经被Symantec收购) 的NetBackup, EMC-Legato的Networker和IBM的Tivoli Storage Manager等。

       VERITAS  NetBackup软件是一个企业级数据备份管理软件,可以在UNIX、Windows和Netware混合环境下提供数据保护机制,同时具有保护企业中从工作组到企业级服务器的所有的数据的能力。通过其直观的用户图形界面可以管理备份和恢复的所有方面,制定企业统一的备份策略。NetBackup针对主流的数据库也提供了备份和恢复的解决方案,其数据中心级介质管理使企业具有包括带库共享在内的管理介质的各方面能力。

       EMC-Legato的Networker则是另外一个优秀的企业级数据保护软件。Networker可以在DAS,SAN和NAS环境下,为UNIX,Windows,Linux,Mac OS X和Netware等多种操作系统平台的服务器和台式机提供数据保护,Windows的保护包括安全日志、用户配置文件、访问控制列表(简称ACL)以及重要的Windows系统文件和事件日志 ,Networker Modules可以为主流的数据库、通信和EPR应用程序提供在线备份、免受干扰的保护以及粒状恢复功能。

       IBM Tivoli Storage Manager则是依靠存储备份以及离线存储的数据拷贝,保护企业数据,可同时保护上百台运行不同操作系统的计算机,包括笔记本电脑和大型机。可以通过互联网、WAN、LAN等提供存储管理系统的集中化管理;其可选模块支持关键性商务应用程序,如必须要求24×365的集中化数据保护,提供对该类应用的不间断服务。

       目前,国内拥有自主知识产权的备份产品还比较少,其主要原因是备份产品不仅仅是个简单的管理软件,还需要有下层强大的存储系统的支持。在这方面,中国科学院计算技术研究所国家高性能计算机工程技术研究中心依托其蓝鲸集群文件系统、蓝鲸服务部署系统和蓝鲸虚拟存储系统等优秀的存储系统推出了蓝鲸数据备份系统。蓝鲸数据备份系统是一个同时支持磁盘和磁带介质的数据备份系统,能够提供数据的全量、增量和差量等多种级别的数据备份,还为用户提供了基于Web的简易的数据保护策略配置,可以为企业提供高效的数据保护。

结束语

       随着各个国家和大型企业对容灾越来越重视,容灾技术获得飞速发展,容灾技术涉及的范围也越来越广泛,并且新技术也层出不穷,本文仅仅对当前容灾的主要技术做了介绍和总结,希望能对同行有所帮助。