双活数据中心的优劣势分析?
前面的文章我们大量的介绍了IDC,IDC对企业十分重要,但为提高可靠性,双活的IDC更为重要。今天和大家一起聊聊双活数据中心,即双活IDC.
什么是双活数据中心 ?
首先我们要知道双活就是Active-Active,故名思义就是两边都是活动在线提供服务的,是相对于传统的主备模式Active-Standby模式的。一个真正的双活方案是应该涵盖基础设施、中间件、应用程序各个层次的。
双数据中心同时对外提供业务生产服务的双活模式,两个数据中心是对等的、不分主从、并可同时部署业务,可极大的提高资源的利用率和系统的工作效率、性能,让客户从容灾系统中获得最大的价值。
a.两个生产中心部署相同的业务系统,结合网络层、主机层或应用的负载均衡技术,实现业务系统在两个数据中心并行工作和负载分担。
b.两个生产中心部署不同的业务系统,互相实时灾备接管。
数据中心双活又分为:同城双活、异地双活。
传统主备模式的缺点
出于灾备(Disaster Recovery)的目的,一般都会建设2个(或多个)数据中心。一个是主数据中心用于承担用户的业务,一个是备份数据中心用于备份主数据中心的数据、配置、业务等。
主备数据中心之间一般有热备、冷备、双活三种备份方式。
热备的情况下,只有主数据中心承担用户的业务,此时备数据中心对主数据中心进行实时的备份,当主数据中心挂掉以后,备数据中心可以自动接管主数据中心的业务,用户的业务不会中断,所以也感觉不到数据中心的切换。
冷备的情况下,也是只有主数据中心承担业务,但是备用数据中心不会对主数据中心进行实时备份,这时可能是周期性的进行备份或者干脆不进行备份,如果主数据中心挂掉了,用户的业务就会中断。
双活是觉得备用数据中心只做备份太浪费了,所以让主备两个数据中心都同时承担用户的业务,此时,主备两个数据中心互为备份,并且进行实时备份。一般来说,主数据中心的负载可能会多一些,比如分担60~70%的业务,备数据中心只分担40%~30%的业务。
传统主备模式是一个业务只在一个数据中心运行,企业结合灾备等级需求和业务需求,在备份中心部署了大量的备份服务器,但备份中心仅为该业务提供灾备服务,只有当灾难发生、生产数据中心瘫痪时,灾备中心的业务系统才启动这些服务器,造成备份中心服务器资源浪费,广域网链路也无法得到充分的利用。
双活数据中心优点
充分利用资源,避免了一个数据中心常年处于闲置状态而造成浪费。通过资源整合,“双活”数据中心的服务能力是双倍的。
双活数据中心如果断了一个数据中心,另外一个数据中心还在运行,对用户来说是不可感知的。
而一个灾备中心的模式,如果生产数据中心瘫痪,需要半个小时、甚至两个小时、甚至更长时间才能启动灾备中心,在启动灾备中心的时间里,用户交易会严重受损。
双活数据中心的最大优势是有效利用资源。灾备中心建设的投资巨大及每年运维成本极高,如果资源处于闲置状态,资源是相当浪费的,有了虚拟化,能够把闲置的资源整合,服务能力会提高一倍。银行系统中很多资源都是弹性需求,如基金、贵金属交易、电子支付、和网银交易,在交易火爆时一天交易量可能达到全年交易量总和。故银行系统容量规划时是充分考虑到交易峰值的,但这样在正常时间就有很大的交易浪费,以淘宝“双十一”活动为例,交易量在几分钟内就可能达到全年交易量的总和,需要系统服务能力提高十倍,这时双活数据中心和灵活快速的资源调度就充分发挥出了作用。云计算技术,让IT系统有了资源整合的能力,让系统有了充分的弹性,随时可以调度十台机器来提高服务能力,来保证交易的突发需求,以及各种突发因素造成的交易量猛增。
有了云计算技术,不代表投入会更少,但是资源利用率会更高,系统但抗冲击能力会更强,自由调度能力会更强。
自动化是“双活”与“云计算”必不可少的前提条件
云计算需要自动化手段来帮助系统维护人员进行自动的资源调配。比如,通过虚拟化技术虚拟出了上万台虚拟机器,白天需要50台机器给网银系统提供web服务,晚上网银交易少了,贵金属交易多了,这50台机器要调配到另一个系统上。这五十台不可能一个人一台台调配,那可能配一晚上都配不完,就需要自动化的软件来自动调整资源分配。
异地“双活”难度大
当然,部署“双活”数据中心的难度也非常大,尤其是异地“双活”,涉及到数据同步效率问题。如果数据同步效率达不到要求,在灾难发生时就会造成一段时间的交易丢失。在异地“双活”的模式中,两地数据中心同时接纳交易,技术难度很大,需要更改众多底层程序。
双活数据中心的建设三个条件
双活数据中心的建设首先要满足三个条件,第一个是应用双活,也就是说数据库一定要实现双活,第二个是网络要双活,业务网络要保证能够同时联通两个数据中心,第三个是数据要双活,两边的数据要能够实现被独立使用。
双活数据中心解决方案缺点
虽然双活容灾解决方案对于集中式管理的数据中心更大限度的保证了业务生产的在线性及有效的防御了灾难性事件恢复业务生产的能力。但是双活数据中心的容灾方案还是存在一定的不足之处,理想与现实总存在一定的距离。
1.脑裂现象
双活数据中心方案实现了站点级的冗余的容灾解决方案,但是受限于当前的技术等因素,在建设过程中解决了企业当前面临的业务连续性问题,同时也产生了新的问题,就是双活解决方案普遍存在的脑裂现象,在意外事件发生时,若监测技术不到位、系统平台不健康、两数据中网络波动性中断等因素的发生,使得两个数据中心一体化的业务系统会分裂成两个独立的数据中心。使用户很难取舍那一个是唯一的生产数据,那一个是将要废掉的非生产数据。这就是早年veritas VVR解决方案退出灾备舞台的原因之一。
2.非“零丢失”,不具备软错误的保障
双活容灾解决方案的优势强调在健康的运行平台下,大型灾难事件发生是的“零”数据丢失,但是若双活平台本身不健康或者遭遇逻辑故障时,并不能保障数据零丢失。这种故障发生的数据恢复或渐变式灾难发生的情况下,还需借助备份系统的数据恢复手段或方法。因此,双活容灾方案大多数情况下不具备解决软错误的保障,而恰恰这种事件发生的概率远远超过站点级的灾难及硬件故障事件。在2012年时,某省政府部门的业务系统已建设容灾系统,但是在业务系统进行升级时出错,导致业务宕机一周多时间,而这期间的大部分时间是查找依据恢复数据。
3.需容忍高可靠性及性能的下降
双活容灾解决方案虽然提升了站点级的冗余保护,但是,在实际中确除低了整体业务平台的可靠性及性能。在可靠性方案,双活容灾解决方案就是把本地的双机双柜的硬件冗余方案跨站点建设,无论是传统的集群系统、虚拟化主机平台Vmware,还是Oracle RAC等,跨站点建设都会无形中在业务平台中增添几分不稳定的因素,我想从现在流行的一体机解决方案更能说明这方面的问题,即系统越简单越稳定。在性能方案,站点间的监测、业务会话的同步确认等的网络延迟数,加上数据同步双写的光纤延迟,都或多或少的影响了整体业务处理的性能。距离越远影响越明显,如果距离较近,也会失去建设双活容灾数据中心的意义。
4.运营维护并不简单
双活容灾解决方案灾难切换方面变的较为简单,但在实际的维护方面并不简单,除了要求企业用户提升自己的维护能力,还需双活容灾解决方案提供商的售后服务能力。
a.企业自身人员的维护能力必须加强,才具备能力维护跨站点的双活系统,也就是需企业用户自身人维护人员必须从维护设备的能力转变为具备维护双活系统架构的能力,才能维稳系统的正常运行,让双活系统实现该有的效果。
b.提供商的服务能力也直接影响双活容灾系统部署后的效果,在已有的案例中,我们经常看到提供商的800电话,除了收集日志还是收集日志,除了正在后台诊断还是后台诊断,经常让一个小小问题需有好多层、次的沟通才能解决,这样的方式如何保障双活容灾系统的稳定?如保达到用户对双活系统在线性要求的期望?
5.性价比并不会太高
我们经常会听到双活容灾方案可以让生产中心和容灾中心都“活”起来,有效的利用资源,面临灾难性事件时,最大化业务系统的在线性,解除原有灾备系统有灾无备等等的不足之处。但是,当我们认真考虑建设双活容灾系统时发现,如果自身IT人员的维护能力不足,很难达到我们期望的效果。在现实案例中,很多用户一次性的费用建设的系统,后续的维保经费很难申请,这种情况很难有效的保障我们的信息系统的健康运行。宁夏银行就是在没有后续维保经费支撑的情况下,硬件出故障,自身IT人员修复过程中出现人为错误而引起的重大事故。因此,建设双活容灾系统的同时,必须要保障后续的维护经费。使得双活容灾系统向高大上偏移。
一般国内的IDC,金融业务会考虑两地三中心,非金融业务会考虑主备IDC或双活IDC,如果是全球的业务,一般会分区域在全球建立全球IDC,并一个区域至少建立2个节点做主备或双活。
深入探讨IDC双活架构,可以给我们留言。