需求篇
灾难无法避免
尽管我们一再小心谨慎,但是,不可避免会发生各种各样的灾难。在这里,灾难的定义主要是指自然的和人为的灾难,包括系统硬件、网络故障、机房断电甚至火灾地震。除了广为大家熟悉的9.11事件以外,还有许多举不胜举而且触目惊心的例子,每一次都是惨痛的教训。
1993年,美国世贸中心大楼发生爆炸。爆炸前,约有350家企业在该楼中工作。一年后,再回到世贸大楼的公司变成了150家,有200家企业由于无法存取原有重要的信息系统而倒闭。2003年,国内某电信运营商的计费存储系统发生两个小时的故障,造成400多万元的损失。这些还不包括导致的无形资产损失。
据IDC的统计数字表明,美国在2000年以前的十年间发生过灾难的公司中,有55%当时倒闭,剩下的45%中,因为数据丢失,有29%也在两年之内倒闭,生存下来的仅占16%。Gartner Group的数据也表明,在经历大型灾难而导致系统停运的公司中有2/5再也没有恢复运营,剩下的公司中也有1/3在两年内破产。
根据有关机构统计,对关键业务运行要求最高的银行业,每次计算机系统宕机导致的损失平均为一千万美元,同时还会导致对公司声誉无法估量的无形资产损失,而采取灾难恢复方案总共花费平均只有一百万美元。
容灾定义
容灾是一个范畴比较广泛的概念,广义上,我们可以把所有与业务连续性相关的内容都纳入容灾。容灾是一个系统工程,它包括支持用户业务的方方面面。而容灾对于IT而言,就是提供一个能防止用户业务系统遭受各种灾难影响破坏的计算机系统。容灾还表现为一种未雨绸缪的主动性,而不是在灾难发生后的“亡羊补牢”。
从狭义的角度,我们平常所谈论的容灾是指,除了生产站点以外,用户另外建立的冗余站点,当灾难发生生产站点受到破坏时,冗余站点可以接管用户正常的业务,达到业务不间断的目的。为了达到更高可用性,许多用户甚至建立多个冗余站点。
从技术上看,衡量容灾系统有两个主要指标:RPO(Recovery Point Object)和RTO(Recovery Time Object),其中RPO代表了当灾难发生时允许丢失的数据量,而RTO则代表了系统恢复的时间。RPO与RTO越小,系统的可用性就越高,当然用户需要的投资也越大。
发生灾难后,启动容灾系统完成数据恢复,RPO就是新恢复业务系统的数据损失量。如果用户运行关键业务不允许任何数据丢失,那么所有的应用都必须停止下来,比如重要的金融交易。RPO反映所要恢复数据完整性的指标,在同步数据复制方式下,RPO等于传输延迟时间内的数据丢失,在异步数据复制方式下,RPO为异步传输数据排队时间内的数据丢失。
各种用户的应用对RTO要求不同,业务繁忙的关键业务需要较小的RTO,如果系统恢复时间过长就会影响到业务运行,而许多业务系统的RTO较长,如果一些较小灾难发生在非业务运行时间,那么对业务连续性几乎不会造成任何影响。各种容灾解决方案的RTO有较大差别,基于光通道技术存储区域网(SAN)的同步数据复制,配合远程备用业务系统和跨生产中心与容灾中心的高可用管理系统,这种容灾解决方案具有最小的RTO。相比较而言,普通磁带备份的RTO较长,当灾难发生时需要更长的时间恢复系统。
容灾备份大不同
谈论容灾时有一个话题不可不说,那就是容灾与备份有何区别?
从定义上看,备份是指用户为应用系统产生的重要数据(或者原有的重要数据信息)制作一份或者多份拷贝,以增强数据的安全性。因此,备份与容灾所关注的对象有所不同,备份关系数据的安全,容灾关心业务应用的安全,我们可以把备份称作是“数据保护”,而容灾称作“业务应用保护”。备份最多表现为通过备份软件使用磁带机或者磁带库将数据进行拷贝,也有用户使用磁盘、光盘作为存储介质;容灾则表现为通过高可用方案将两个站点连接起来。
备份与容灾是存储领域两个极其重要的部分,二者有着紧密的联系。
首先,在备份与容灾中都有数据保护工作,备份大多采用磁带方式,性能低,成本低;容灾采用磁盘方式进行数据保护,数据随时在线,性能高,成本高;其次,备份是存储领域的一个基础,在一个完整的容灾方案必然包括备份的部分;同时备份还是容灾方案的有效补充,因为容灾方案中的数据始终在线,因此存储有完全被破坏的可能,而备份提供了额外的一条防线,即使在线数据丢失也可以从备份数据中恢复。
等级篇
大体上讲,容灾可以分为三个级别:数据级别、应用级别以及业务级别。从对用户整个业务连续性的保障程度来看,它们的高可用级别也逐渐提高。
数据级别
数据级别容灾的关注点在于数据,即灾难发生后可以确保用户原有的数据不会丢失或者遭到破坏。
数据级容灾较为基础,其中,较低级别的数据容灾方案仅需利用磁带库和管理软件就能实现数据异地备份,达到容灾的功效;而较高级的数据容灾方案则是依靠数据复制工具,例如卷复制软件,或者存储系统的硬件控制器,实现数据的远程复制。数据级别容灾是保障数据可用的最后底线,当数据丢失时能够保证应用系统可以重新得到所有数据。从这种意义上讲,数据备份属于该级别容灾,用户把重要的数据存放在磁带上,如果考虑到高级别的安全性还可以把磁带运送到远距离的地方保存,当灾难发生后把数据从磁带中获取。
该级别灾难恢复时间较长,仍然存在风险,尽管用户原有数据没有丢失,但是应用会被中断,用户业务也被迫停止。这种方案花费较低,构建简单。
应用级别
对于业务应用繁多、并且系统需要保持7×24小时连续运行的企业来说,显然需要高级别的应用容灾系统来满足他们的需求。
应用级容灾是在数据级容灾的基础上,再把执行应用处理能力复制一份,也就是说,在备份站点同样构建一套应用系统。应用级容灾系统能提供不间断的应用服务,让用户应用的服务请求能够透明地继续运行,而感受不到灾难的发生,保证信息系统提供的服务完整、可靠、安全。
一般来说,应用级容灾系统需要通过更多软件来实现,它可以使企业的多种应用在灾难发生时进行快速切换,确保业务的连续性。
业务级别
用户构建了数据级容灾和应用级容灾都是在IT范畴之内,然而对于正常业务而言,仅IT系统的保障还是不够的。用户需要构建最高级别的业务级别容灾。
业务级容灾的大部分内容是非IT系统,比如电话、办公地点等。因为当一场大的灾难发生时用户原有的办公场所都会受到破坏,用户除了需要原有的数据、原有的应用系统,更需要工作人员在一个备份的工作场所能够正常的开展业务。
技术实现篇
在建立容灾系统时会涉及到多种技术,一类是生产站点与冗余站点的互联技术,一类是进行远端数据复制的远程镜像与快照技术,还有一类是新兴的可实现容灾的存储虚拟化技术。
互连技术 由于容灾涉及到生产站点与冗余站点,因此将它们连接起来的互联技术在容灾中十分重要。目前,生产站点与冗余站点之间的连接主要有两种方式。第一种方式为光纤通道连接(详见24版,存储专家将为大家详细介绍如何远距离互联SAN)。光纤通道连接可以提供很高的性能,但是成本较高。另一种方式是近期发展的IP互联技术,包括FCIP、iFCP、iSCSI等。
远程镜像与快照 数据镜像即把磁盘(或磁盘子系统)中的数据完全复制到另一磁盘(或磁盘子系统)中,数据在两处的存储方式完全相同。数据镜像首先应用于本地操作,由于容灾对距离的要求,便发展成为远程镜像技术,即生产站点与冗余站点的数据存储方式一致。
另外一个实现快速数据复制的技术是快照。快照是某时间点磁盘系统中数据的扫描(类似一种数据指针集合),它不包含所有数据信息,但是用户通过快照与时间信息可以完全得到该时刻的完整数据。
存储虚拟化 存储虚拟化为容灾提供了一种灵活的解决方案,原因在于虚拟化方案在“虚拟”的各类设备之间可以实现容灾功能。
存储虚拟化的目标是改善管理和提高利用率。存储虚拟化还可以实现更高层次的管理功能。利用虚拟化特性,数据管理工具就可以更好地处理快照、复制、按需配置容量,以及基于策略的决策。卷管理也被认为是虚拟化的一种形式,而且目前已经成为多数数据中心管理存储网络和大型存储阵列的必备工具。在未来的几年中,它将会成为入门级存储阵列中的一个标准特性,并且广泛应用于IP存储和入门级存储网络之中。
用户经验篇
国内某大型运输公司在去年年底构建完成容灾系统,该公司IT主管华先生介绍了他们容灾系统运行半年多以来的一些宝贵经验。
华先生说,一般来讲,容灾站点要略微简单于主站点,原因是容灾站点投入正式业务运行的机率较小,在灾难发生时我们只要保障最关键的少数业务的连续性即可,而且这样做可以节约很大一笔投资。在容灾站点日常有许多琐碎的维护工作,这些工作就像容灾站点的意义一样,平常不会起到任何作用,但是一旦需要它时就是至关重要的。另外,容灾站点要经常进行灾难恢复演习,在演习中可以发现一些不足,为真正的灾难恢复积累经验。其他试验性操作也可以在容灾站点进行,比如一些新产品提供了具有吸引力的特点,但是不能马上应用到生产站点,由于容灾站点具有与生产站点大致的情况,就成了很好的试验田,一方面获得更多实际经验,另一方面也更大限度的利用资源。
容灾系统的设计指标
下面是国际上通用的容灾系统的评审标准Share 78,可以作为广大用户衡量和选择容灾解决方案的指标。
- 备份/恢复的范围
- 容灾计划的状态
- 业务中心与容灾中心之间的距离
- 业务中心与容灾中心之间如何相互连接
- 数据是怎样在两个中心之间传送的
- 允许有多少数据被丢失
- 怎样保证更新的数据在容灾中心被更新
- 容灾中心可以开始容灾进程的能力
容灾是一项系统工程
由于容灾所承担的是用户最关键的核心业务,其重要作用勿庸置疑,容灾本身的复杂性也是十分明显的,这就决定了容灾成为一项系统工程。
容灾首先涉及到众多技术以及众多厂商的各类解决方案。性能、灵活性以及价格都是必须考虑的因素,更重要的是,用户需要根据自己的实际需求量身打造。许多用户的生产站点都是经过长期积累、多次改造后形成的,对于特殊的应用还采用特定的设备。那么当用户考虑构建容灾站点时就必须把所有的情况都考虑进来,“选择适合自己的”是构建容灾方案的一条基本准则。与此同时用户还要考虑长远一些,尽量采用先进而不是将要淘汰的技术,毕竟冗余站点与生产站点一样会长期使用。
除此以外,还有许多不可忽视的地方。
首先是主观上的重视程度。一些用户往往对冗余站点存在不够重视的情况,因为灾难发生的概率实在太小了,用户在日常工作中投入了大量人力物力但是几乎没有发挥“作用”,似乎造成了巨大的浪费。然而,既然关键业务需要容灾方案来保障其高可用性,那么容灾方案以及维护成本与受保护的资产相比而言就微不足道了,数据丢失造成的损失基本都是容灾方案成本的数十倍,更不用说有些容灾系统经常发挥作用了。
其次是一如既往地做好繁琐的日常维护工作,有些看似无关紧要的小事情在关键时刻会影响整个灾难恢复过程。容灾系统仍然是一种在线解决方案,各种人为因素仍然会影响数据的安全性,用户需要做好更为基本的备份工作。
另外即使构建了先进的容灾系统,也不能高枕无忧。业务连续性是个无止境的话题,需要经常对现行容灾方案的可行性进行评估和实地演练。