(准)异地容灾系统建设的关键点

最近两年,很多大中型公司都已经完成了IT基础设施的建设,本地数据保护和高可用都已经上线并稳定工作。容灾建设开始纳入议事日程了,所以我今天介绍一下容灾系统的建设,容灾是一个涉及到网络,主机,应用和存储等多个模块的项目,形式多种多样,国标分为1-6级,涵盖数据级容灾和应用级容灾,数据级容灾比较简单,所以我我今天谈谈应用级容灾的几个关键点。
 
1,数据是基础
 
应用级容灾的基础还是数据,如何保证数据的变化被及时准确地传送到容灾站点,是容灾系统建设的核心,也是容灾项目是否成功的关键。数据传送的手段有很多种,但是基本上可以归结为两大类:镜像和复制。
 
镜像比较简单,通常来说,组成镜像卷的多个设备都部署在一个机房里,但是如果我们把其中的一部分设备移到较远的地方,就可以起到容灾的作用了。这个方案的要求:
A,距离的延伸,实际上就是SAN网络的延伸,需要有可用的光纤网络支撑。
B,距离的延伸,会导致传输延时,影响I/O性能,所以这种技术有距离限制。
 
复制比镜像复制一些,通常是利用TCP/IP网络来实现的,所以实施起来更自由,根据数据量,可用带宽和距离,复制又可分为同步和异步两种。同步可保证数据不丢失,但是网络延时会影响I/O性能。异步不会影响I/O性能,但是可能会有数据丢失。具体方案可以采用同异步相结合的方案,如电信,金融行业经常采用的“两地三中心”架构。
 
2,切换是关键
 
如果实现切换呢?我们先说说本地集群,本地集群通过专用的二层链路传送状态信息,来保证构成集群各节点的状态一致性。通常还要有其它的手段防止脑裂,但是心跳网络是最主要的。
 
好,现在是异地了,如果能够在主站点和容灾站点之间建立用于传送集群状态信息的心跳网络,那么我们可以将本地集群延伸为准异地容灾了。实际上更多的情况是,无法在主站点和容灾站点之间搭建二层网络,这样就不能直接传送状态信息了,这些信息要通过二次封装(如封装到UDP数据包中)的方法来进行传送。
 
异地切换与本地切换有几点不同:
A,异地通讯延时较大,所以感知应用故障并完成切换所需时间要比本地集群长。
B,异地通讯质量相对较差,为了避免因为拥塞,链路短暂故障等原因导致切换,通常异地容灾的切换不会设计成全自动的方式,而且采用人工确认加自动切换的方式,通常点讲,就是“一键式切换”。
 
3,客户端访问需要特殊处理
 
本地集群发生切换,客户端访问不受影响,因为集群资源服务于浮动IP地址之上,切换之后IP地址无需改变。但是异地容灾就会不同,基本上两个站点不可能采用相同的地址段。这样在发生切换之后,客户端需要访问新地址以得到服务。
 
客户端是通过名称解析系统来得到服务器IP地址的,所以我们可以通过修改主机的A记录来解决这一问题,修改A记录可以脚本化,自动化。问题是,客户端会有DNS记录的缓存,如果缓存不刷新,客户端可能不会尝试重新进行名称解析从而得到新的IP地址。缩短A记录的生命周期可以帮助客户端尽快地刷新DNS记录缓存。
 
4,容灾演练不应被忽略
 
容灾系统是否有效,需要进行验证,如何验证呢?如果停掉生产系统,启动容灾系统,可以进行验证,但是会对生产环境产生较大影响。如果停掉数据同步或镜像,也可以启动容灾系统进行测试,但是会暂时破坏容灾系统的完整性。
 
比较好的解决方案是在容灾站点对数据做快照,通过快照来启动容灾系统,验证应用的有效性,完成演练之后,只要简单地删除快照就可以了。
 
[完]

本文出自 “西蒙[爱生活,爱学习]” 博客,谢绝转载!

你可能感兴趣的:(网络,存储,应用,切换,容灾)