本文作者:财达证券 杨涛

近年来,伴随着证券行业业务多样性的增加,证券机构的信息系统安全与业务连续性遭受网络攻击、人为误操作、自然灾害的挑战越来越大,而能够预留的停机时间窗口却在减少,保障金融数据安全、满足监管要求、保障业务连续性、避免数据中心宕机带来的损失成为摆在每个金融机构面前的挑战。

为应对业务需求以及相关政策对金融重要系统的监管要求,财达证券根据多方调研确定了采用国产超融合搭建同城双活集群,实现跨站点集群数据保护和容灾,有力保障业务连续性。

一、项目背景

由于金融行业具有信息化程度高、安全性要求高的“双高”特点,财达证券从应用层、网络层、数据层等多方面进行不同方案的比较分析,综合考虑了同城灾备、异地灾备、两地三中心、双活、云灾备等解决方案。经过对恢复指标要求、技术成熟可靠、成本效益高等多方面的综合考量, 确定采用同城双活的总体方案技术架构来实现跨站点集群数据保护和容灾,双活数据中心解决了传统数据中心单一“主备”模式资源利用率低、可用性差、故障停机时间长、数据恢复慢等弊端。

基于此,财达证券制定了如下项目目标:

  • 实现灾备系统的 RPO=0:存储层实现 IO 实时同步复制,即使单一机房发生严重灾难,依然可以保障数据可靠性,数据不丢失。
  • 实现业务持续性保障:支持虚拟机的跨站点级别高可用,即使发生站点级别故障,系统可以最短时间自动切换至正常站点并恢复虚拟机运行。
  • 支撑应用层双活:双活集群可配合数据库/应用服务器集群功能,实现应用层面的透明故障切。

同时,“软件定义”成为驱动未来发展的重要力量,《“十四五”软件和信息技术服务业发展规划》已经提出要深化软件定义,加快发展软件定义计算、软件定义存储、 软件定义网络等。财达证券结合自身业务特点与未来发展趋势,确定了基于志凌海纳 SmartX 超融合搭建双活数据中心,通过超融合架构实现软件定义计算和软件定义分布式存储,通过国产超融合集群跨站点延伸能力,实现计算、存储、网络的跨双活数据中心的统一编排与资源调度,并为各种系统、应用软件和中间件的双活部署提供支撑,实现应用高可用和灾难可恢复能力。

二、基于超融合延伸集群验证测试

基于超融合架构的双活架构简介

双活是 SmartX 超融合提供的一种数据保护和容灾方案,提供 RPO(数据恢复点目标)为 0,RTO(恢复时间目标)为分钟级的站点失效容错能力。

SmartX 超融合双活集群以拉伸形态部署,由两个可用域和一个仲裁节点组成。两个可用域与仲裁节点间通过网络连接通信。当一个可用域失效后,另一个可用域仍可以继续提供服务,从而获得可用域级别的容灾能力。

可用域

两个可用域一般位于同一个城市有一定距离的物理节点所在区域,分为优先可用域和次级可用域,通常对应两个数据中心,每个可用域至少包含 3 个节点,并且均可以完全独立地提供计算和存储服务。

当两个可用域工作正常时,集群会将每个数据块在两个可用域内分别保存副本,以保证当一个可用域失效时,从另外一个存活的可用域中可以获得完整的数据用于恢复业务。

仲裁节点

设置仲裁节点主要是为了保证集群中选主类服务正常运行,并使得业务在优先或次级可用域中自动切换。仲裁节点仅仅在发生故障时进行切换判断,不存放任何数据。

仲裁节点建议部署在与优先可用域和次级可用域不同的物理故障区。从而保障任意一个可用域故障,仲裁都可以即刻作出切换判断,保障集群作出正确的故障响应操作。

 

双活架构功能验证测试

双活功能验证测试用例包括以下内容。

站点故障验证测试

可用域内主机故障测试 任意可用域故障测试
1.png 2.png
当可用域内任意物理主机故障发生时,业务系统会在当前可用域内完成恢复,恢复时间 2-3 分钟。 当任意可用域整体发生故障,如上图所示次级可用域故障,业务系统会跨可用域完成恢复,恢复时间 3-5 分钟。

网络故障验证测试

可用域间网络故障测试 仲裁与可用域之间网络故障测试
3.png 4.png
当可用域间网络发生故障时,业务系统会跨域恢复至事前定义的优先可用域继续运行。 仲裁站点到可用域间的网络发生故障时,业务系统运行不受影响。

仲裁故障测试

仲裁站点故障测试 仲裁异机恢复测试
5.png 6.png
当仲裁站点发生故障时,业务系统运行不受任何影响。 当仲裁自身或所处环境发生故障,可以利用当前集群配置异机重建仲裁,持续保证架构健壮性。重建可在 20 分钟内完成恢复。

 

双活站点 Oracle RAC 架构验证测试

通过数据库插入脚本模拟生产业务模型,通过如下列表测试项进行测试,观察 Oracle RAC 数据库表现,判断结果是否符合生产业务要求,符合要求测试结果为通过。

序号 测试内容 测试结果 测试结果
1 基于 SmartX 超融合平台成功部署安装 Oracle RAC 数据库 成功部署 ✅通过
2 任意可用域内主机故障对于 Oracle RAC 架构运行是否有影响 无影响 ✅通过
3 任意可用域故障对于 Oracle RAC 架构运行是否有影响 无影响 ✅通过
4 仲裁站点故障对于 Oracle RAC 架构运行是否影响 无影响 ✅通过
5 可用域间整体网络故障对于 Oracle RAC 架构运行是否有影响 写入延迟小幅增加 ✅通过

 

双活架构验证测试总结

通过模拟主机故障、任意可用域(数据中心)故障、网络故障等多种类型的故障场景,超融合双活集群都可以即刻进行风险规避处置策略,对于单体架构业务系统,可以在 2-3 分钟内恢复业务,结合 Oracle RAC 数据库多活架构,可以实现 RPO 和 RTO 均为零的容灾目标。 

三、国产超融合平台双活集群建设方案

7.png

财达证券目前中华商务为主数据中心,运行财达核心业务系统,开发区电信机房为灾备数据中心,承载主数据中心中华商务的灾难职能,庄家金融大厦数据中心运行少量管理类业务。主备机房间物理距离约为 20km ,网络往返延迟(基于 ping 测试)稳定在 0.6 ms 。

通过当前各数据中心功能定位,规划将开发区电信机房和中华商务分别定位优先和次级可用域,庄家机房设定为仲裁站点,通过 SmartX 延伸集群技术,结合财达当前大二层双活网络能力,实现双活数据中心的构建。

双活平台上,规划费控和呼叫中心等轻型业务系统进行试点运行,积累运维使用经验后再逐渐扩展业务范围,最终实现业务 RPO = 0 , RTO = 0 双活数据中心架构。

四、经验成果

在对国产超融合双活集群建设进行探索和实践后,财达证券对双活场景进行了总结和思考:

  • 适用场景

双活集群中单节点失效或硬件失效的适应场景与普通集群相同,但在如下场景中,虚拟机可在 2~3 分钟内恢复正常,实现分钟级 RTO。

    • 单个可用域异常。虚拟机将在正常的可用域继续运行,异常可用域不会有残留数据操作影响数据一致性。
    • 可用域之间网络中断,但它们与仲裁节点之间的网络连接保持正常,优先可用域保持可用。如果虚拟机已开启 HA,并且没有通过放置组规则禁止运行在优先可用域上,则虚拟机将 HA 至优先可用域内运行。
  • 在如下场景中,双活模式将无法保证服务可用。
    • 超过半数的主节点和仲裁节点均处于异常状态(一个可用域完全失效即可导致半数主节点失效)。
    • 可用域之间网络中断,并且仲裁节点或者网络异常。

通过国产超融合搭建的双活集群为业务连续性提供了坚实“底座”,并为财达证券带来了如下收益:

  • 先期把全面预算、费控等近两年内新建系统,尤其是因为资源紧张等原因未在灾备机房建设灾备的业务系统迁移到双活集群,加强了该部分系统的应急灾备级别。
  • 因后续无需再为双活集群之上的系统建设灾备系统,降低了 IT 投入成本。
  • 目前生产、灾备系统的应急切换采用自动化流程结合手工方式;应用系统版本升级迭代多采用手工手段,容易引起主备系统文件版本、参数配置不一致。上述情况给运维人员无论是工作量及工作复杂程度都带来了很大的挑战。双活集群的投产使用,避免了上述环节带来的负面影响,提高了业务连续性、合规性。
  • 在双活集群建设以及后续往双活集群迁移系统的投产使用过程中拓宽了运维视野,在系统运维应急、网络架构设计方面打破了当下固有模式,开拓了应急升级、网络优化新思路。

五、总结与展望

跨主备机房双活集群的尝试是对现有基础架构平台模式的颠覆性变革,财达证券通过基于国产超融合构建的同城双活数据中心,将原来灾难故障容忍范围由主机级别提升至数据中心,以小范围生产业务系统进行尝试探索,提升了部分业务系统整体的健壮性,为后续扩大双活数据中心范围奠定了坚实的技术理论和实践基础。

未来,财达证券将继续基于超融合架构平台和业务分布式架构的转型,结合主机负载均衡,链路负载均衡等技术实现全面双活数据中心平台服务。

欲了解更多金融行业应用场景探索实践,请点击链接,一键获取《金融核心生产业务场景探索文章合集》

继续阅读