建设了容灾系统,然后呢?
出于业务连续性与数据保护等目的,最早是银行等金融机构完成了业务的容灾系统的建设,随后电力等关键能源行业、海关等政务单位、大型互联网公司都着手建设了完备的业务容灾系统。
但是当容灾系统建设完毕后,大家发现一个尴尬的问题:容灾系统是有了,但只要不是逼不得已,没人愿意进行容灾的切换演练,更别提正式切换了,这是为什么呢?
这是因为容灾系统往往都很复杂:
- 每个企业的灾备环境不同:冷备容灾、同城双活、异地双活、两地三中心等等,每种灾备架构使用的产品、技术、切换过程可能都各不相同;
- 涉及的产品和技术多且复杂:web访问切换、应用切换、数据库切换、网络切换、存储切换等等,每种服务切换背后又是一堆厂商不同的产品、技术和方案,而一个业务系统的切换往往需要整合多种产品和技术实现;
- 需要多个部门紧密协作:切换,需要一大堆部门和人员配合,往往是整一个切换手册,按照岗位的不同,规定每个岗位具体的职责,看起来清晰,执行起来却很容易拧成一团麻;一个人搞错,大家都跟着完蛋;
- 切不好就出事:你懂的!
最最重要的,整个切换工作手工线下为主,效率低、成本高、易出错!
应该说这个是主要原因。由于前面那一堆因素,再加上这个主要原因,除了像银行这种被监管机构强制要求的,很多企业的容灾系统都在睡大觉。主生产环境真出了问题,能不能切换到备用机房,切换过去能不能用,基本上全凭运气。
传统容灾管理系统
有需求,就有供给。国外的一些嗅觉比较灵敏的厂商,首先发现了商机,推出了一些容灾管理系统。以下是某个数据保护软件行业巨头的容灾管理系统的方案和技术组件:
管理端
- 管理端部署VRP 和VOM 两套系统,共同组成Veritas 容灾切换管理平台;
- VRP 包含RM和IMS两个模块,RM负责管理容灾切换管理,RM通过IMS模块;
- 管理VMware虚拟化和VOM ;
- VOM 负责管理受控端的VCS软件集中管理,并通过VCS集中管理Weblogic和应用;
- 部署了一个console主机,用来管理VRP和VOM,以及配置受控端的VCS。
受控端
- 受控端部署VOM代理VRTSsfmh、VCS软件和Weblogic agent;
- VCS 对Weblogic和应用进行管理;
- VRP对受控端VMware虚拟化进行统一灾备切换管理;
- VRP 通过的VOM 对受控端的应用进行统一的灾备切换管理。
受控端VCS软件架构
全部受控端需要安装了Veritas InfoScale Availability(VCS)软件,通过VOM进行集中管理,配置,并通过VOM与VRP进行通信和受管;Java console 是对为单台主机进行管理和配置的工具;Veritas InfoScale Availability 由7个模块构成:
- LLT 模块,集群心跳模块,本项目使用的是VCS one node模式,本模块功能不启用;
- GAB模块,集群成员管理模块,本项目使用的是VCS one node模式,本模块功能不启用;
- VXFEN模块,集群仲裁模块,本项目使用的是VCS one node模式,本模块功能不启用;
- HAD模块,集群核心模块,负责管理agent 模块;
- HASHDOW模块,集群HAD模块的守护模块,负责监控HAD状态;
- Agent 模块,负责监控,启停具体应用;
- VRTSsfmh模块,VOM 代理模块,VOM通过VRTSsfmh模块,对VCS进行管理。
这个方案给人的第一感觉是非常复杂,第二感觉是组件和英文名称真多呀。
这是典型的外国厂商的产品架构,先不谈是否产品架构是否合理以及是否先进,部署麻烦、不好用、维护成本高是肯定的。
而且这类软件实现的往往是比较简单的业务逻辑定义、机器分组和启停过程管理,无法满足很多复杂业务系统甚至是业务群的整体切换管理。
事实上很多业务系统的切换过程是比较复杂的,在停止主业务之前有一堆工作要做,在启动备业务之后也有一堆工作要做,中间可能还有一堆启停之外的切换操作,而这些用户只能手动线下管理;更不用提对接外部各类系统,实现比较复杂的外部系统驱动和编排了。
下面是这个产品的软件风格,你感受下:
早期部分用户需求迫切,可选产品又不多的时候,也没太多办法,只能咬牙硬上这种容灾管理系统。但真正用起来,那叫一个酸爽。
嘉为蓝鲸容灾切换管理系统
上帝说,要有光,于是就有了光。后来市场上出现了腾讯蓝鲸智云平台和嘉为蓝鲸容灾切换管理系统。
嘉为蓝鲸针对日常运维执行的管理理念是:切分,原子化,然后编排一切。对于蓝鲸的运维编排能力不熟悉的,请参见之前的文章《看蓝鲸标准运维如何编排一切》。
除了搬机器这种非人工不可的活,脚本下发、命令执行、数据采集、SQL执行、驱动虚拟化平台/混合云资源、驱动应用系统、驱动操作系统、驱动存储管理软件、驱动数据库管理和配置、驱动网络设备和配置等等,都可以是被编排的操作原子。
这种基于标准IT对象的、长链条的、复杂的运维管理场景,都可以被切分、原子化、并编排起来。
显然容灾切换就是这种一种复杂的运维管理场景之一。基于用户的需求和蓝鲸的能力,我们打造了嘉为蓝鲸容灾切换管理系统。这个系统简单概括就是:简单、易用、灵活、强大。
容灾切换的功能架构如下:
整个系统就是基于蓝鲸PaaS平台的一个SaaS工具,没有那么多复杂的组件和英文名称,打开就能用。
在容灾切换管理工具中,可以直接一键从CMDB中同步所有业务系统,并能够非常灵活的定义每个业务系统的切换过程环节以及每个环节所有执行的具体操作。
例如下图中,第一步可能需要在停止当前系统前做一些主环境和备用环境的检测,然后判断容灾切换条件是否具备,就可以执行“灾备环境检查”这一动作,执行必要的检查。
而“灾备环境检查”事实上就是我们在编排引擎中定义的一个操作执行流程,可以按照实际需要,将脚本、命令、数据提取、外部系统驱动等各种操作编排为一个流程来进行执行。
接下来我们就可以定义具体的灾备切换预案了。预案是一个任务模板,这个任务可能包含了单个应用、某几个应用或者一大批应用的整体切换执行。按照实际切换需求定义具体的灾备切换预案。
支持多步骤、每个步骤多执行节点、中间穿插手工环节和暂停环节、流转到流程平台的审批环节等等灵活的切换过程管理。
定义完毕切换预案之后,即可以基于预案启动灾备切换任务,并进行任务的启动、切换大屏的查看以及切换过程和结果的审计记录等。
简单总结下这个产品的特性和优势就是:
- 灵活配置的切换流程引擎:支持灵活的应用切换流程定义、批量切换预案定义和切换任务管理;
- 强大的运维操作编排引擎:上面的引擎负责定义各种类型的切换逻辑过程和切换预案;编排引擎的目的在于实现强大的具体运维操作编排和执行;
- 可视化的切换过程管理:建立了一个可以清晰反映切换流程进度和故障点的展示平台,进度展示可以让领导和相关人员实时掌握切换进度;
- 兼容手工操作步骤和审批环节:不是所有步骤都能够自动执行。手工操作步骤、手工审批和自动操作步骤在本系统中的处理和展现应保持一致;
- 所有切换环节和结果可查询、可追溯、可审计:基于强大的结果采集和记录能力,可以将每个环节的执行结果和整个任务的结果完整呈现,方便查询、统计和审计。
助力赣州银行,实现一键灾备切换
2019年8月23日,周五,到了下班时间,赣州银行数据中心还是一片忙碌。今天晚上,他们将在这里开始一年一度的灾备切换演练,11个部室和8个分支行验证机构参与,演练范围包括核心业务系统、柜面系统、二代支付系统等23个重要业务系统和核心骨干网络。
赣州银行属于城市商业银行,总部位于潜力之城江西省赣州市,先后跻身“中国服务业企业500强”“中国金融500强”,荣膺“全国城商行最具竞争力十大品牌”“中国银行业星级服务机构”“中国最佳百姓银行”“全国最佳小微企业服务机构”等称号。
为响应银保监会严格的监管要求,赣州银行建立了完备的两地三中心灾备体系,并且每年都会进行真实的灾备切换演练。叶光芳是赣州银行系统数据库团队负责人,每年,他都要参与灾备切换演练。
“我们的生产环境运行于虚拟化双活云平台,在正常情况下,可以在线将虚拟机迁移至同城灾备中心,但灾备切换演练时一般是模拟灾难发生,需要进行停机切换,回切时再进行在线回切。”叶光芳介绍道。
“单个应用的演练步骤分为10步,涉及到应用运维人员、DBA和虚拟化平台管理员,需要各个运维团队相互配合才能顺利完成。而在年度大型演练时,往往是几十个应用系统参与切换演练,3个DBA和虚拟化平台管理员要对接几十个应用运维人员,涉及几百个操作步骤,完成切换往往要好几个小时,ECC操作现场就跟战场似的。”
跨应用的灾备切换,复杂程度非常高。嘉为蓝鲸容灾切换管理系统,能够快速编排出整体的灾备切换方案,并一键自动化的执行所有操作。同时,还引入了可视化技术,通过大屏直观展示实时切换过程,几百项演练操作步骤高效执行。
所以,在今年的年度灾备切换演练中,赣州银行摒弃了传统的手工操作模式,采用自动化的创新模式。经过充分的技术方案规划和测试验证,最终23套业务系统实际切换时间不到30分钟,回切过程控制在20分钟左右,显示出了极高的灾备演练执行能力和管理水平。