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