thinktt
作者thinktt·2015-11-10 10:57
系统工程师·罗云科技

我的《信息保卫战》读书笔记:灾难备份与恢复

字数 7284阅读 1356评论 0赞 0

当应用系统的一个完整环境因灾难性事件(如火灾、地震等)遭到破坏时, 为了迅速恢复应用系统的数据、环境,使应用系统恢复运行,需要异地灾难备 份系统(也称容灾系统)。可以说,对于关键事物的处理系统,如企业的各项业 务系统(客户服务、计费、ERP、BI、CRM、IDC等),建立最高级别的安全体 系,也是提高服务质量、在竞争中立于不败之地的重要举措。

一、容灾技术的意义

长期以来,对企业而言,建立一套可行的容灾系统相当困难,主要是高昂 的成本和技术实现的复杂度。鉴于此,从可行性而言,容灾系统必须具有良好 的性能价格比。

建立异地容灾系统,即指建立远程的数据中心,通过配置远程容灾系统将 本地数据实时进行远程复制,同时实现本地系统故障时应用系统的远程启动, 确保系统的不中断运行。

建立异地容灾中心的优势在于:

(1) 强大的一级灾难抗御能力;

(2) 有效防止物理设备损伤产生的灾难后果;

(3) 提供99.9999%的安全机制;

(4) 实时数据复制提供强大的数据交换能力。

集群(duster)是两台或更多台计算机(结点)在一个群组内共同工作。 与单独工作的计算机相比,集群能够提供更高的可用性和可扩充性。随着数据 安全技术的发展,具有高可用的集群技术越来越成熟,部署得越来越普及,它 确实解决了用户系统的高可用性问题,为业务的良性发展提供了稳定的基石。 随着业务的发展,商业环境对服务供应商提出的要求也越来越苛刻,这必将使 应用系统及其数据对高可用性的要求走上一个新的台阶。

一个本地集群系统理论上可以提供99.99%以上的系统高可用性,但一旦发 生火灾、自然灾害、人为破坏等意外事件,企业将如何应对呢?如果没有必要 的准备和应对手段,这样的一次意外对企业来说将是灾难性的。要提高自己的 抗灾能力,企业必须建立起一个容灾系统。

二、容灾技术的分类

一个容灾系统的实现可以采用不同的技术。一种技术是采用硬件进行远程 数据复制,称为硬件复制技术。这种技术的提供者是一些存储设备厂商。数据 的复制完全通过专用线路实现物理存储设备之间的数据交换。另一种技术是采 用软件系统实现远程的实时数据复制,并且实现远程的全程高可用体系(远程 监控和切换)。这种技术的代表是VERITAS等一些著名存储软件厂商。下面的 章节会对以上两种技术进行详细的论述。

从另一个方面来说,容灾系统的归类要由其最终达到的效果来决定。从其 对系统的保护程度来分,可以将容灾系统分为数据容灾和应用容灾。

所谓数据容灾,就是指建立一个异地的数据系统,该系统是本地关键应用 数据的一个实时复制。在本地数据及整个应用系统出现灾难时,系统至少在异 地保存有一份可用的关键业务的数据。该数据可以是本地生产数据的完全实时 复制,也可以比本地数据略微落后,但一定是可用的。

所谓应用容灾,是指在数据容灾的基础上,在异地建立一套完整的与本地 生产系统相当的备份应用系统(可以是互为备份)。建立这样一个系统相对比较 复杂,不仅需要一份可用的数据复制,还要有网络、主机、应用、甚至IP等资 源,以及各资源之间的良好协调。应用容灾应该说是真正意义上的容灾系统。

数据容灾(包括硬件容灾方案和软件容灾方案)又称为异地数据复制技术, 按照其实现的技术方式来说,主要可以分为同步传输方式和异步传输方式(各 厂商在技术用语上可能有所不同)。而根据容灾的距离,数据容灾又可以分成远 程数据容灾和近程数据容灾方式。下面,我们主要按同步传输方式和异步传输 方式对数据容灾展开讨论,其中也会涉及远程容灾和近程容灾的概念,并做相 应的分析。

1. 同步传输的数据复制

有关同步数据容灾,从传统意义上讲,就是通过容灾软件(可以含在硬件 系统内)将本地生产数据通过某种机制复制到异地。从广义上讲,同步数据容 灾是指在异地建立起一套与本地数据实时同步的异地数据。

采用同步传输方式进行异地数据容灾的过程如下:

(1) 本地主机系统发出第一个I/O请求A;

(2) 主机会对本地磁盘系统发出I/O请求;

(3) 本地磁盘系统完成I/O操作,并通知本地主机“I/O完成”。

(4) 在往本地I/O的同时,本地系统(主机或磁盘系统)会向异地系统发 出I/O请求A;

(5) 异地系统完成I/O操作,并通知本地系统“I/O完成”;

(6) 本地主机系统得到“I/O完成”的确认,然后发出第二个I/O请求B。 不同的异地数据复制技术的实现方式是不同的,其包括:

(1) 基于主机逻辑卷层的同步数据复制方式(软件复制方式

(2) 基于磁盘系统I/O控制器的同步数据复制方式(硬件复制方式)。

首先,描述基于主机逻辑卷层的同步数据复制方式。

基于主机逻辑卷层的同步数据复制方式以VERITAS Volume Replicator (VVR)为代表,VVR是集成于VERITAS Volume Manager (逻辑卷管理)的远

程数据复制软件,它可以运行于同步模式和异步模式。在同步模式下,当主机 发起一个I/O请求A之后,必然通过逻辑卷层,逻辑卷管理层在向本地硬盘发 出I/O请求的同时,将通过TCP/IP网络向异地系统发出I/O请求。其实现过程 如下:

(1) 本地主机系统发出第一个I/O请求A;

(2) 主机逻辑卷层会对本地磁盘系统发出I/O请求;

(3) 本地磁盘系统完成I/O操作,并通知本地逻辑卷层“I/O完成”;

(4) 在往本地磁盘系统I/O的同时,本地主机系统逻辑卷层会向异地系统 发出I/O请求A;

(5) 异地系统完成I/O操作,并通知本地主机系统“I/O完成”;

(6) 本地主机系统得到“I/O完成”的确认,然后发出第二个I/O请求B。 其次,考察基于磁盘系统I/O控制器的同步数据复制功能。

基于磁盘系统的同步数据复制功能实现异地数据容灾,如SRDF和PPRC。 这两个软件运行的平台是磁盘系统,部署这样的系统必须要求在两端采用相同 种类的磁盘系统。

基于磁盘系统的同步数据复制是:当主机发出一个I/O请求A之后,I/O 进入磁盘控制器,该控制器在接到I/O请求后,一方面会写入本地磁盘,同时 利用另一个控制器(或称通道),通过专用通道(如ESCON)、FC光纤通道(IP over FC)或者租用线路,将数据从本地磁盘系统同步地复制到异地磁盘系统。

其实现过程如下:

(1) 本地主机系统发出第一个I/O请求A;

(2) 主机对本地磁盘系统发出I/O请求;

(3) 在往本地磁盘系统I/O的同时,本地磁盘系统会向异地磁盘系统发出 I/O请求A;

(4) 本地磁盘系统完成I/O操作;

(5) 异地系统完成I/O操作,并通知本地磁盘系统“I/O完成”;

(6) 本地磁盘系统向主机确认“I/O完成”,然后主机系统发出第二个I/O 请求B。

2. 同步数据容灾的性能分析

利用同步传输方式建立异地数据容灾,可以保证在本地系统出现灾难时, 异地存在一份与本地数据完全一致的数据备份(具有完整的一致性)。但利用同 步传输方式建立这样一个系统,必须考虑“性能”这个因素。

采用同步数据传输方式时,从前面的描述来看,本地系统必须等到数据成 功地写到异地系统,才能进行下一个I/O操作。一个I/O通过远程链路写到异 地系统,涉及三个技术参数:带宽、距离和中间设备及协议转换的时延。

在1000km距离上,允许的最大I/O量在不存在带宽限制时,已经远远低于 本地I/O的能力。(注:上面分析还未考虑中间设备及协议转换的延时)

中间链路设备和协议转换的方式不同,时延不同,对性能的影响也不同。 在对性能影响的分析中,这个因素也应计算在内。表9-3、表9-4、表9-5、表 9-6显示了介质、协议和大概时延的比较,这里提供的数据只精确到微秒级, 仅供参考,实际数据应该向设备供应商索取。

111.png

222.png

333.png

444.png

3.   异步数据复制

从前面的分析来看,同步数据容灾一般只能在较短距离(10〜l〇〇km)内 部署,大于这个距离,就没有实际应用价值了。因为在1000km距离上,4.5MB/S 的速率即使将数据复制到异地,每个I/O的响应时间也会超过l〇ms,这种响应 速度太慢了。

异步数据容灾是在“线路带宽和距离能保证完成数据复制过程,同时,异 地数据复制不影响生产系统的性能”这样的要求下提出来的。考虑异步数据容 灾,应该注意以下几个技术条件和事实:

(1)带宽必须能保证将本地生产数据基本上完全复制到异地容灾端,还要 考虑距离对传输能力的影响。

(2)按照前面的估算,在1000km范围内,一条带宽足够的线路能支持的 I/O 流量最大为(数据块大小为10KJB): 1.4MBX3600sX24h=120GB/d。

(3)异地容灾远端数据会比本地生产端数据落后一定时间,这个时间随采 用的技术,带宽、距离、数据流特点的不同而不同。一般而言,软件方式的数 据复制技术具有完整的数据包的排队和断点重发机制,在灾难情况下可以保证灾难时间点的数据一致性。

(4) 异步容灾基本不影响本地系统性能。

与同步传输方式相比,异步传输方式对带宽和距离的要求低很多,它只要 求在某个时间段内能将数据全部复制到异地即可,同时异步传输方式也不会明 显影响应用系统的性能。其缺点是在本地生产数据发生灾难时,异地系统上的数据可能会短暂损失(如果广域网速率较低,交易未完整发送的话),但不影响 一致性(类似本地数据库主机的异常关机)。

通过异步传输模式进行异地数据复制的技术包括以下方式:

(1) 基于主机逻辑卷层的数据复制方式;

(2) 基于磁盘系统I/O控制器的数据复制方式。

首先申明:针对异步传输模式,这里以VERITAS VVR为例说明,但并不 表示所有基于主机进行复制的其他软件采用同样方式,也不保证其他软件是有 应用价值的。

VERITAS VVR (Volume Replicator)通过基于Volume 和 Log 的复制技术,

保证在任何时刻本地系统发生自然灾难时,在异地的数据仍是可用的。

VERITAS VVR在异步模式下釆用了 Log技术来跟踪未及时复制的数据块, 这个Log是一个先到先服务的堆栈,每一笔I/O处理都会首先放进这个Log, 并按到达先后顺序复制到异地服务器系统,

VERITAS VVR采用的I/O控制机制是支持先到先服务的;Log技术,因此, 不管异地数据比本地数据落后多少时间,都能保证异地数据库数据的一致性。 比如,本地系统在12: 00时发生自然灾难,由于部分数据未被及时复制到异地,如有lOmin的数据未完成复制,那么在异地系统上存在11: 50以前的所有数 据,且这个数据库是可用的。

目前的基于磁盘系统的异地数据复制技术采用Bitmap技术和Timestamp技 术,这两种技术都不能保证本地向异地复制数据的顺序严格和本地I/O的顺序 相同,所以,这两种方式都不能保证异地数据库的完整性。

Bitmap (位图)技术记录未被及时复制的数据块的方法是:对于每个数据 块(如32KB)用一个bit来对应,某一个bit被置为“1”时,表示其对应的数 据块已被修改过,正在等待处理(这里是等待被复制)。由此可以看出,当有一 块以上的数据块未被及时复制时,系统并无法确认哪一块数据块应该先复制到异地,所以,系统将任选一块,即不按到达的时间先后进行复制。可以看出, 这种方式不能根本保证异地数据库数据的完整性、一致性。

Timestamp方式是对每个未及时传送的数据块盖上一个时间戳。从表面上 看,由于时间戳的关系,好像能确定一个数据块被修改的时间顺序了。其实不 然,当一个未被及时复制的数据块被第2次修改并盖上新的时间戳时,数据复制的顺序就被破坏了。例如:

现在有10块数据块未被复制,编号“1、2、3、4、5、6、7、8、9、10”, 若第3块数据被再次修改,并被盖上一个新的时间戳“11”,那么系统会按“1、2、(没有3)、4、5、6、7、8、9、10、11”的次序进行复制。存储工程师可以看到,在复制进行到“4〜10”之间时,异地数据的完整性被破坏了。

事实上,在一个运行繁忙的系统中,出现这种情况的机率极高,甚至每时 每刻都处在这种状态之下。所以,本着严格的、对系统可用性负责任的态度, 可以认为Timestamp技术虽然比Bitmap技术有一定优势,但实际上也无法保证异地数据的完整性和可用性。

Bitmap和Timestamp方式的技术弱点是没有Log。

作为磁盘系统内置的数据复制功能,传统的磁盘管理模式没有考虑在磁盘 系统内部开辟出一个磁盘块给磁盘系统控制器本身使用,所以,磁盘系统无法 采用Log模式进行异步数据复制。

磁盘系统保留异步传输模式的目的是复制,但不是容灾复制。

数据复制的0的不仅仅是容灾。数据容灾要求两地时时保持连接,数据复 制过程在任一时间都在进行(除非有线路或设备故障)。而非容灾性复制只要求在某一个时间段里将数据复制到异地,复制告一段落后(在某一时刻完全同步), 复制工作会暂停。这种复制可能是为一个特殊目的只做一次,如在线业务迁移;也可能每天或每月追加一次。这样,在异地就会存在一份最大损失数据量为一 天或一个月的生产数据复制品,其对数据的保障能力,如同磁盘备份。这种方 式复制数据的S的包括:①在异地保存一份备份数据(如同磁盘备份异地保 存);②在线业务迁移,当信息中心或其中的一个服务要迁移到另一个地方,又希望少停机时(实际上也可用磁盘备份和恢复来实现③利用与磁盘快照 技术结合,为异地开发中心提供一个与生产数据尽量相同的测试数据源。当然, 也可用于其他可能的目的。

综上所述,可以看出,虽然基于磁盘系统的异地数据复制功能有异步传输 模式,但实际上并不支持异步数据容灾,只有像VERITAS Volume Replicator 这样基于先进先出的Log技术的解决方案才真正支持异步数据容灾。

4.软件容灾方式

广域网络的高可用技术,一般是软件容灾方式。它支持应用容灾,即应用 系统的完全高可用和远程切换系统,这里指一整套完整的本地高可用系统和异 地高可用系统的完整结合体系。本地的高可用系统指在多个服务器运行一个或多个应用的情况下,应确保任何服务器出现任何故障时,其运行的应用不能中 断,应用程序和系统应能迅速切换到其他服务器上运行,即本地系统集群和热 备份。

而远程的容灾系统中,除了本地系统的安全机制外,还应具有广域网范围 的远程故障切换能力和故障诊断能力。实际上,广域网范围的高可用能力与本 地系统的高可用能力应形成一个整体,实现多级的故障切换和恢复机制,确保系统在各个范围的可靠和安全。

广域网体系的远程故障切换机制的流程(软件方式)如下:

(1)本地系统的故障分级、常规级别在本地系统进行高可用切换,如网卡 故障、应用系统故障、文件系统故障(本地cluster)。

(2)高级别故障(如火灾、地震)通过远程监控体系和报警体系实现远程 切换(异地cluster)。切换包括IP、域名、应用等。

一旦故障解除,恢复体系如下:

(1) 应用系统实现主备站点的恢复传输。

(2) 异地复制中断传输的恢复流程(软件方式复制)。

(3) 断点序号重传或增量异地同步实现增量块复制。

三、小结

表9-7对于各种容灾技术的工作方式进行了总结。

表9-7容灾比较列表

项 目

Software (同步)

Software (异步)

基于阵列的同 步数据容灾

理想距离

< 100km

< 1000km

60km (光纤)

链路要求

任何支持

任何支持

ESCON、 ATM

TCP/IP的设备

TCP/IP的设备

IP over FC

理想链路带宽

> 40Mbit

相对较小

> 40Mbit

对应用系统性能的影响

很大

很小

很大

是否需要专用磁盘系统

不需要

不需要

必须

部署的简单性

长距:复杂 短距:一般

一般

硬件:复杂 软件:一般

维护的简单性

一般

简单

一般

造价

中等

中等

很高

涉及软件

VVR

VVR

阵列内置


 

 

根据以上的分析可以看出,硬件系统的容灾技术(指磁盘阵列)在对主机 系统的内部幵销上较小,但是十分影响本地I/O的性能,同时要求本地和异地 均采用专用的磁盘阵列,成本和造价极高。比较重要的是,这种方式的传输距离有限,仅限于同城传输。

采用软件的数据复制方式(如VVR),一般为异步方式。这种方式具有对 本地系统I/O影响很小、传输距离长的优势,并且可以支持任意磁盘阵列,使 得造价相对较小。其不足是如果线路速率较慢,会造成故障时轻微数据受损。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广