1、容灾技术得概念目 录第一章 容灾技术及方案讨论21、1 容灾技术得意义21、2 容灾技术得分类31、3 同步传输得数据复制41、4 同步数据容灾得性能分析91、5 异步数据复制方式121、6 容灾技术性能总结与对照17第二章 广域网络得高可用技术(软件容灾方式)18第一章 容灾技术及方案讨论1.1 容灾技术得意义当应用系统得一个完整环境因灾难性事件(如火灾、地震等)遭到破坏时,为了迅速恢复应用系统得数据、环境,立即恢复应用系统得运行,保证系统得可用性,这就需要异地灾难备份系统(也称容灾系统)。可以说,对于关键事物得处理系统,如联通得各项业务系统(客户服务、计费、IDC等),建立最高级别得安全体
2、系,也就是提高服务质量、在竞争中立于不败之地得重要举措。长期以来,对企业而言,建立一套可行得容灾系统相当困难,主要就是高昂得成本与技术实现得复杂度。鉴于此,从可行性而言,必须具有良好得性能价格比。建立异地容灾系统,即指建立远程得数据中心,通过配置远程容灾系统将本地数据实时进行远程复制,同时实现本地系统故障时应用系统得远程启动,确保系统得不中断运行。建立异地容灾中心得优势在于:1. 强大得一级灾难抗御能力。2. 有效防止物理设备损伤产生得灾难后果。3. 提供99、9999%得安全机制。4. 实时数据复制提供强大得数据交换能力。随着数据安全技术得发展,Cluster(HA)得技术越来越成熟,Clu
3、ster得部署越来越普及,Cluster技术确实解决了用户系统得高可用性问题,为业务得良性发展提供了稳定得基石。随着业务得发展,商业环境对服务供应商提出得要求也越来越苛刻,这必将使应用系统及其数据对高可用性得要求走上一个新得台阶。一个本地Cluster系统理论上可以提供99、99%以上得系统高可用性,但一旦发生火灾、自然灾害、人为破坏等意外事件,服务商将如何应对呢?如果没有必要得准备与应对手段,这样得一次意外对服务上来说将就是灾难性得。对于IT部门来讲,要提高自己得抗灾能力,其必要得技术就就是建立起一个容灾系统。1.2 容灾技术得分类一个容灾系统得实现可以采用不同得技术,一种技术就是:采用硬件
4、进行远程数据复制,我们称为硬件复制技术。这种技术得提供者就是一些存储设备厂商。数据得复制完全通过专用线路实现物理存储设备之间得交换。另一种技术就是:采用软件系统实现远程得实时数据复制,并且实现远程得全程高可用体系(远程监控与切换)。这种技术得代表如VERITAS等一些著名存储软件厂商。我们在下面得章节会对以上两种技术进行详细得论述。容灾系统得归类在另一个方面要由其最终达到得效果来决定。从其对系统得保护程度来分,我们可以将容灾系统分为:数据容灾与应用容灾。所谓数据容灾,就就是指建立一个异地得数据系统,该系统就是本地关键应用数据得一个实时复制。在本地数据及整个应用系统出现灾难时,系统至少在异地保存
5、有一份可用得关键业务得数据。该数据可以就是与本地生产数据得完全实时复制,也可以比本地数据略微落后,但一定就是可用得。所谓应用容灾,就是在数据容灾得基础上,在异地建立一套完整得与本地生产系统相当得备份应用系统(可以就是互为备份)。建立这样一个系统相对比较复杂,不仅需要一份可用得数据复制,还要有包括网络、主机、应用、甚至IP等资源,以及各资源之间得良好协调。应用容灾应该说就是真正意义上得容灾系统。我们先讨论一下数据容灾。数据容灾(硬件容灾方案与软件容灾方案均包括),又称为异地数据复制技术,按照其实现得技术方式来说,主要可以分为同步传输方式与异步传输方式(各厂商在技术用语上可能有所不同。而根据容灾得
6、距离,数据容灾又可以分成远程数据容灾与近程数据容灾方式。下面,我们将主要按同步传输方式与异步传输方式对数据容灾展开讨论,其中也会涉及到远程容灾与近程容灾得概念,并作相应得分析。1.3 同步传输得数据复制有关同步数据容灾,在传统意义上讲,就就是通过容灾软件(可以含在硬件系统内),将本地生产数据通过某种机制复制到异地。从广义上讲,同步数据容灾就是指在异地建立起一套与本地数据实时同步得异地数据。从上图,我们可以瞧出,采用同步传输方式进行异地数据容灾得过程包括:1. 本地主机系统发出第一个I/O请求A;2. 主机会对本地磁盘系统发出I/O请求;3. 本地磁盘系统完成I/O操作,并通知本地主机“I/O完
7、成”;2、 在往本地I/O得同时,本地系统(主机或磁盘系统)会向异地系统发出I/O请求A;3、 异地系统完全I/O操作,并通知本地系统“I/O完成”4、 本地主机系统得到“I/O完成”得确认,然后,发出第二个I/O请求B。不同得异地数据复制技术得实现方式就是不同得,包括: 1. 基于主机逻辑卷层得同步数据复制方式(软件复制方式);2. 基于磁盘系统I/O控制器得同步数据复制方式(硬件复制方式);一 基于主机逻辑卷得同步数据复制方式基于主机逻辑卷得同步数据复制方式以VERITAS Volume Replicator(VVR)为代表,VVR就是集成于VERITAS Volume Manager(逻
8、辑卷管理)得远程数据复制软件,它可以运行于同步模式与异步模式。在同步模式下,其实现原理如下图:当主机发起一个I/O请求A之后,必然通过逻辑卷层,逻辑卷管理层在向本地硬盘发出I/O请求得同时,将同时通过TCP/IP网络向异地系统发出I/O请求。其实现过程如下:1. 本地主机系统发出第一个I/O请求A;2. 主机逻辑卷层会对本地磁盘系统发出I/O请求;3. 本地磁盘系统完成I/O操作,并通知本地逻辑卷“I/O完成”;2、 在往本地磁盘系统I/O得同时,本地主机系统逻辑卷会向异地系统发出I/O请求A;3、 异地系统完成I/O操作,并通知本地主机系统“I/O完成”4本地主机系统得到“I/O完成”得确认
9、,然后,发出第二个I/O请求B。二、基于磁盘系统得同步数据复制功能基于磁盘系统得同步数据复制功能实现异地数据容灾,如SRDF与PPRC。这两个软件运行得平台就是磁盘系统,部署这样得系统必须要求在两端采用相同种类得磁盘系统。其同步数据复制得实现原理如下图:当主机发出一个I/O请求A之后,I/O进入磁盘控制器。该控制器在接到I/O请求后,一方面会写入本地磁盘,同时利用另一个控制器(或称通道),通过专用通道(如:ESCON)、FC光纤通道(IP over FC)或者租用线路,将数据从本地磁盘系统同步得复制到异地磁盘系统。其实现过程如下:1. 本地主机系统发出第一个I/O请求A;2. 主机对本地磁盘系
10、统发出I/O请求;2、 在往本地磁盘系统I/O得同时,本地磁盘系统会向异地磁盘系统发出I/O请求A;3. 本地磁盘系统完成I/O操作;3、 异地系统完成I/O操作,并通知本地磁盘系统“I/O完成”4本地次盘系统向主机确认“I/O完成”,然后,主机系统发出第二个I/O请求B。1.4 同步数据容灾得性能分析利用同步传输方式建立异地数据容灾,可以保证在本地系统出现灾难时,异地存在一份与本地数据完全一致得数据备份(具有完整得一致性)。但利用同步传输方式建立这样一个系统,必须考虑“性能”这个因素。采用同步数据传输方式时,从前面得描述来瞧,本地系统必须等到数据成功得写到异地系统,才能进行下一个I/O操作。
11、一个I/O通过远程链路写到异地系统,涉及到3个技术参数:带宽、距离与中间设备及协议转换得时延。1. 带宽本地I/O得带宽就是100MB/秒(SAN网络中),在I/O流量很大得情况下,如果与远程得I/O带宽相对“100MB/秒 = 800Mbit/秒”窄得多得话,如E1:2Mbit/秒;E3:45Mbit/秒,将会明显拖慢生产系统得I/O,从而影响系统性能。2. 距离光与电波在线路上传输得速度就是30万公里/秒,当距离很长时,这种线路上得延时将会变得很明显。例如:一个异地容灾系统得距离就是1000KM,其数据库写盘得数据块大小就是10KB(一次I/O得数据量),那么: 本地I/O时(100米距离
12、内):光电在线路上得延时= 0、1km/300,000km*2次/一个来回= 0、67 * 10-6 秒1秒钟内允许I/O次= 1/(0、67 * 10-6 )= 1、5 * 10-6 次1秒钟允许得I/O量= 10KB * 1、5 * 10-6 = 15GB此数字远远超过光纤通道带宽本身,也就就是说,光电在100米距离得线路上得延时对性能得影响可以忽略不计。 异地I/O得(1000公里):光电在线路上得延时= 1000km/300,000km*2次= 1/150 秒1秒钟内允许I/O次= 1/(1/150 )= 150次1秒钟允许得I/O量= 10KB * 150 = 1、5MB此数据表明,
13、在1000公里距离上,允许得最大I/O量在不存在带宽限制时,已经远远低于本地I/O得能力。(注:上面分析还未考虑中间设备及协议转换得延时)。3. 中间链路设备与协议转换得时延中间链路设备与协议转换得方式得不同,时延不同,对性能得影响也不同。在对性能影响得分析中,这个因数也应计算在内。目前不同异地数据复制技术所依赖得介质与协议不同,我们将介质、协议与大概时延例表如下,这里提供得数据只精确到数量级,仅供参考,实际数据应该向设备供应商索取。租用线路任意不受限制约1msESCON136Mbit66公里 100us LAN1000Mbit10公里 100usATM655Mbit不受限制 100usIP
14、over FC800Mbit60公里 100usFC800Mbit60公里 1ms 1ms 8ms 7ms 2、6ms1、7ms不适合用同步传输方式备注不适合用同步传输在10公里距离上,采用各种传输协议允许得最大I/O能力,数据块大小以10KB为例(假定带宽足够):租用线路ATMLANESCONIP over FCFC线路时延/次60us60us60us60us设备协议时延 1ms 100us 100us 10usI/O次数/秒485-930900-5800900-5800900-12500I/O MB/秒4、8-9、39-589-589-125备注适合用同步传输1.5 异步数据复制方式从前面
15、得分析来瞧,同步数据容灾一般只能在较短距离内部署(10KM-100KM),大于这个距离,就没有实际应用价值了。因为即使在1000KM距离上,4、5MB得速率即使将数据复制到异地,每个I/O得响应时间也会超过10ms,这种响应速度太慢。异步数据容灾就是在“线路带宽与距离能保证完成数据复制过程,同时,异地数据复制不影响生产系统得性能”这样得要求下提出来得。考虑异步数据容灾,应该注意到以下几个技术条件与事实。1. 带宽必须能保证将本地生产数据基本上完全复制到异地容灾端,还要考虑距离对传输能力得影响。按照前面得估算:在1000公里范围内,一条带宽足够得线路能支持得I/O流量最大为(数据块大小10KM
16、):1、4MB3600秒24小时=120GB/天2. 异地容灾远端数据会比本地生产端数据落后一定时间,这个时间随采用得技术,带宽、距离、数据流特点得不同而不同。一般而言,软件方式得数据复制技术具有完整得数据包得排队与断点重发机制,在灾难情况下可以保证灾难时间点得数据一致性。3. 异步容灾基本不影响本地系统性能。与同步传输方式相比,异步传输方式对带宽与距离得要求低很多,它只要求在某个时间段内能将数据全部复制到异地即可,同时异步传输方式也不会明显影响应用系统得性能。其缺点就是在本地生产数据发生灾难时,异地系统上得数据可能会短暂损失(如果广域网速率较低,交易未完整发送得话),但不影响一致性(类似本地
17、数据库主机得异常关机)。通过异步传输模式进行异地数据复制得技术,包括:1. 基于主机逻辑卷得数据复制方式2. 基于磁盘系统I/O控制器得数据复制方式 基于主机逻辑卷(Volume)得数据复制方式首先申明:针对这种方式,这以VERITAS VVR为例,但并不表示所有基于主机进行复制得其它软件采用同样方式,也不保证其它软件就是有应用价值得。VERITAS VVR (Volume Replicator)通过基于Volume与Log得复制技术,保证在任何时刻本地系统发生自然灾难时,在异地得数据仍就是可用得。VERITAS VVR在异步模式下采用了Log技术来跟踪未及时复制得数据块,这个Log就是一个先
18、到先服务得堆栈,每一笔I/O处理都会首先被放进这个Log,并按到达先后顺序被复制到异地服务器系统。下图就是其工作得结构原理。从上图,我们可以瞧到整个I/O与复制得过程如下: 1. 本地主机系统发出第一个I/O请求A到逻辑卷;2. 逻辑卷对本地磁盘系统发出I/O请求;2、 在往本地磁盘系统I/O得同时,逻辑卷向本地磁盘系统上得VVR Log发出相同得写请求;3. 本地磁盘系统完成I/O操作;并通知逻辑卷“I/O完成”;3、 VVR完成针对这个I/O得远程操作,并通知逻辑卷;4. 逻辑卷向主机确认“I/O完成”。服务器得另一个进程:VVR得进程,负责将Log队列中得I/O复制到异地服务器。这个过程
19、与上面得I/O过程在时间上无关。如上图中得标记:“I”与“II”。I: 本地VVR进程从Log队列中取出最先到达得I/O,复制到异地服务器II: 异地服务器接收到本地服务器VVR发出得I/O请求,将相应数据写到异地磁盘系统,然后,通知本地系统VVR进程,要求下一个I/O。这里,跟踪未及时复制得数据块得Log技术就是保证异地数据可用得必要条件。一个数据库得I/O就是有严格顺序得,这个顺序就是保证数据库完整性得必要条件,一个完整性被破坏得数据库一般就是不可用得,比如根本无法启动、打开该数据库,且就是无法修复得。本地数据库得完整性就是由数据库本身来维护得。当一个数据库被实时复制到异地时,要保证异地数
20、据库得完整性,必然保证在异地磁盘I/O上得I/O顺序与本地I/O顺序完全相同,否则,异地数据库得完整性就无法保证。VERITAS VVR采用得I/O控制机制就是支持先到先服务得Log技术,因此,不管异地数据比本地数据落后多少时间,都能保证异地数据库数据得一致性。比如:本地系统在12:00时发生自然灾难,由于部分数据未被及时复制到异地,如有10分钟得数据未完成复制,那么在异地系统上存在11:50分钟以前得所有数据,且这个数据库就是可用得。目前得基于磁盘系统得异地数据复制技术采用Bitmap技术与Timestamp技术,这两种技术都不能保证本地向异地复制数据得顺序严格与本地I/O得顺序相同,所以,
21、这两种方式都不能保证异地数据库得完整性。Bitmap(位图)技术记录未被及时复制得数据块得方法就是:对于每个数据块(如32KB)用一个Bit来对应,某一个Bit被置为“1”时,表示其对应得数据块已被修改过,正在等待处理(这里就是等待被复制)。由此可以瞧出,当有一块以上得数据块未被及时复制时,系统并无法确认哪一块数据块应该先复制到异地,所以,系统将任选一块,即不按到达得时间先后进行复制。可以瞧出,这种方式不能根本保证异地数据库数据得完整性、一致性。Timestamp方式就是对每个未及时传送得数据块盖上一个时间戳。从表面上瞧,由于时间戳得关系,好像能确定一个数据块被修改得时间顺序了。其实不然:当一
22、个未被及时复制得数据块被第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”。我们可以瞧到,在复制进行到“410”之间时,异地数据得完整性被破坏。事实上,在一个运行繁忙得系统中,出现这种情况机率极高,甚至每时每刻都处在这种状态之下。所以,本着严格得,对系统可用性负责任得态度,我们认为“Timestamp”得技术虽然比Bitmap技术有一定优势,但实际上也无
23、法保证异地数据得完整性与可用性。1. Bitmap与Timestamp方式得技术弱点:没有log;作为磁盘系统内置得数据复制功能,传统得磁盘管理模式没有考虑在磁盘系统内部开辟出一个磁盘块给磁盘系统控制器本身使用,所以,磁盘系统无法采用log模式进行异步数据复制。2. 磁盘系统保留异步传输模式得目得:复制,但不就是容灾复制;数据复制得目得不仅仅就是容灾。数据容灾要求两地时时保持连接,数据复制过程在任一时间都在进行(除非有线路或设备故障)。而非容灾性复制只要求在某一个时间段里将数据复制到异地,复制告一段落后(在某一时刻完全同步),复制工作会暂停。这种复制可能就是为一个特殊目得只做一次,如在线业务迁
24、移;也可能每天或每月追加一次。这样,在异地就会存在一份最大损失数据量为1天或1个月得生产数据复制品,其对数据得保障能力,如同磁盘备份。这种方式复制数据得目得包括:1)在异地保存一份备份数据(如同磁带备份异地保存)。2)在线业务迁移,当信息中心或其中得一个服务要迁移到另一个地方,又希望少停机(实际上也可用磁带备份与恢复来实现)。3)利用与磁盘快照技术结合,为异地开发中心提供一个与生产数据尽量相同得测试数据源。当然,也可用于其它可能得目得。综上所述,我们可以瞧出,虽然基于磁盘系统得异地数据复制功能有异步传输模式,但实际上并不支持异步数据容灾,只有像VERITAS Volume Replicator
25、这样基于先进先出得Log技术得解决方案才真正支持异步数据容灾。1.6 容灾技术性能总结与对照以下我们对于各种容灾技术得工作方式进行总结。理想距离 100km 40Mbit相对较小 40Mbit对应用系统性能得影响很大很小很大就是否需要专用磁盘系统不需要不需要必须部署得简单性长距:复杂短距:一般一般硬件:复杂软件:一般维护得简单性一般简单一般造价中等中等很高涉及软件VVRVVR阵列内置根据以上得分析,我们可以瞧出,硬件系统得容灾技术(指磁盘阵列)在对主机系统得内部开销上较小,但就是十分影响本地IO得性能,同时要求本地与异地均采用专用得磁盘阵列,成本与造价极高。比较重要得就是,这种方式得传输距离有
26、限,仅限于同城传输。采用软件得数据复制方式(如VVR),一般采用异步方式。这种方式具有对本地系统IO影响很小,传输距离长得优势,并且可以支持任意磁盘阵列,使得造价相对较小。不足就是如果线路速率较慢,会造成故障时轻微数据损失。第二章 广域网络得高可用技术(软件容灾方式)软件容灾方式中,支持应用容灾,即应用系统得完全高可用与远程切换系统,这里指一整套完整得本地高可用系统与异地高可用系统得完整结合体系。我们知道,本地得高可用系统指在多个服务器运行一个或多种应用得情况下,应确保任意服务器出现任何故障时,其运行得应用不能中断,应用程序与系统应能迅速切换到其它服务器上运行,即本地系统集群与热备份。而远程得
27、容灾系统中,除了本地系统得安全机制外,还应具有广域网范围得远程故障切换能力与故障诊断能力。实际上,广域网范围得高可用能力与本地系统得高可用能力应形成一个整体,实现多级得故障切换与恢复机制,确保系统在各个范围得可靠与安全。广域网体系得远程故障切换机制得流程(软件方式):1) 本地系统得故障分级,常规级别在本地系统进行高可用切换,如网卡故障、应用系统故障、文件系统故障(本地cluster)。2) 高级别故障(如火灾、地震),通过远程监控体系与报警体系实现远程切换(异地cluster)。切换包括IP、域名、应用等。3) 恢复体系:一旦故障解除,应用系统实现主备站点得恢复传输。异地复制中断传输得恢复流程(软件方式复制):1) 断点序号重传2) 或增量异地同步实现增量块复制。