• 快捷搜索
  • 全站搜索

北金所敏捷高可用系统设计与实现

2017-12-20 19:26:12作者:北京金融资产交易所系统运行部 刘雷编辑:金融咨询网
北金所业务范围的拓宽和国内金融市场的瞬息万变对整个IT系统的敏捷性有着越来越高的要求。如何建设一个敏捷、同时又具备高可用性的系统平台是北金所信息技术部面对的最大挑战。

北京金融资产交易所有限公司(简称“北金所”)是人民银行授权的债券发行、交易平台,财政部指定的金融类国有资产交易平台以及中国银行间市场交易商协会的指定交易平台。北金所业务范围的拓宽和国内金融市场的瞬息万变对整个IT系统的敏捷性有着越来越高的要求。如何建设一个敏捷、同时又具备高可用性的系统平台是北金所信息技术部面对的最大挑战。从理论角度看,敏捷基础架构和IT系统高可用都有多种技术实现方式,兼顾IT系统的敏捷和高可用并非不可能。考虑到北金所的实际情况,在尽量不增加系统架构复杂度、不额外增加运维工作量的前提下建设敏捷、高可用的基础架构并非易事。因此,在选择具体技术方案和架构时需十分慎重,既要参考现代化数据中心建设的最佳实践,又要考虑具体技术路线选择与现有应用架构的相互融合。

从架构层面关注IT系统敏捷性

  就业务发展对IT系统敏捷性方面的要求,我们坚持从系统总体架构层面入手进行分析。目前北金所的重要业务应用主要基于三层六区的总体系统架构建设,其中,三层包括:数据库层、应用服务器层、前置区层,六区包括:互联网DMZ区、机构互联DMZ区、应用服务器区、数据库服务器区、测试服务器区(不在债券专网内)、SAN存储网络区。我们发现IT系统敏捷性方面的需求主要聚焦在应用服务器这一层,涵盖应用服务器区(包括生产环境和准生产环境)和测试服务器区。如果采用传统的物理服务器资源配给方式,搭建一套应用环境通常需几天甚至一周以上。考虑到目前所有应用均已基于x86平台环境开发,我们采用了VMware服务虚拟化技术实现计算资源的池化管理和虚拟机的模版基线管理,实现了应用服务器的快速部署、在线管理和在线维护。

图片1.jpg
图1 北金所应用服务器区物理部署图

从灾难恢复角度实现IT系统的高可用

  为了进一步提升IT系统的可用性,我们参考了国际灾难恢复协会的业务连续性管理理论框架,把可能造成信息系统不可用的各类场景均看作灾难,以发生灾难时信息系统的恢复为中心,并把对各类灾难关注的重点聚焦到数据中心内部。

  我们首先梳理了服务中断可能对业务产生较大影响的应用系统,这些系统的可用性要求都非常高。进而分析并列出可能导致这些应用系统服务中断和数据丢失的各类IT风险,以及在发生各类故障场景时业务对IT系统恢复的RTO和RPO预期。我们发现业务部门和管理层都会首先关注物理设备的可靠性,要求能够避免或尽量减少设备物理故障以及物理设备维护(如设备微码升级、设备更换、升级替换和数据迁移等)可能造成的服务中断。最后,发现整个IT系统的可用性很大程度上取决于后台数据库系统的可用性,因此我们在数据库服务器环境部署了OraIce RAC集群技术确保单台服务器物理故障不会造成服务中断(见图2)。

图片2.jpg
图2 北金所数据库服务器区物理部署图

  然而,支撑关键业务应用的OracIe数据库系统仍采用传统的共享磁盘架构,一旦存储系统发生本地灾难,需启用应急备份流程,这时要追补的丢失数据和由此带来的业务中断可能会是“天”这一级别的。不难看出,系统的整体可用性往往取决于最薄弱的环节,应用和服务器都构建在数据存储系统之上,因此存储系统的可靠性对于整套IT系统特别重要。尽管我们一直坚持关键业务系统不能存在单点故障隐患的原则,单一存储系统内部所有部件均是冗余的。但是考虑到存储设备对IT系统总体可用性的影响程度较高,仍需解决系统整体可用性对于单一存储系统可靠性的依赖。

基于端到端双活技术建设IT系统的高可用

  1.实现存储系统级别高可用性的几种方法。根据典型的存储系统部署的结构层次,通常可在三个不同的系统层次解决存储高可用问题:服务器层、存储网络层、存储系统层。结合北金所的现状,我们认为采用基于存储虚拟化的双活技术实现存储系统双活高可用效果好、实施和维护管理简单。

  2.基于端到端双活技术建设IT系统的高可用。可从两个方面进行分析。

  (1)VPLEX Metro存储虚拟化双活技术。VPLEX是一种存储虚拟化应用装置设备,通过存储网络连接服务器与异构存储阵列,驻留在服务器和异构存储阵列之间,VPLEX将管理的一个或多个存储阵列构成一个虚拟的共享存储池,提供给所连接的服务器统一使用,无须关心存储卷位于哪一个具体的物理存储阵列上。VPLEX采用独特的群集体系结构和一致性缓存技术,多个VPLEX设备可构成一个统一的VPLEX Metro扩展群集系统。这个群集系统不但可以跨数据中心、跨地域,也允许多个数据中心的服务器能够对共享块存储设备同时进行读/写操作,并保持数据一致。

  (2)存储虚拟化双活技术实现存储高可用系统。总体架构上,我们采用了基于EMC VPLEX Metro的本地双活高可用解决方案。在同中心搭建VPLEX Metro扩展群集实现底层存储的双活高可用。结合上层OracIe RAC和VMware集群技术跨两套VPLEX集群的部署,实现同中心内部端到端的双活高可用。采用LUN一对一封装方法,存储虚拟化不会改变原有存储上的业务数据,整个实施过程仅需短暂的计划内停机完成虚拟化封装操作,无需迁移业务数据。

  单个VPLE×引擎包含两个控制器,和有双控制器的VNX5500存储阵列共同组成一个冗余高可用的VPLEX本地集群。在此基础之上,通过VPLEX Metro扩展集群通过冗余的存储网络将两个本地集群连接起来,并通过数据实时同步在两个本地集群中存储完全相同的数据副本;于是在服务器访问存储数据的路径上总共有4个VPLEX控制器和4个存储阵列控制器,最多允许失效3个控制器,可用性显著提升。

  通过与OracIe RAC技术集成,实现端到端的双活。Oracle RAC增强了在服务器群集系统中的可靠性,但却更加依赖共享存储系统的可靠性。我们通过在底层通过VPLEX Metro建立存储双阵列双活系统,允许RAC并发访问位于不同存储阵列的数据。将所有OracIe ASM磁盘组设置为外部冗余保护。应用可在访问单个数据库的两个站点之间透明地共享工作负载。在计划内事件(例如硬件维护)时灵活地迁移节点间的工作负载。如果发生的计划外事件导致其中一个存储系统中断服务,无需Oracle RAC节点迁移和切换。通过两种技术结合,实现从上层应用到底层硬件端到端双活系统,提高可用性,简化了管理。

图片3.jpg

  最后要强调的是北金所建设敏捷高可用基础架构实践的思路与国内大型金融机构不同。在建设敏捷基础架构方面,基本是以不改变现有应用架构为前提的;在建设高可用基础架构方面,也不做很复杂的业务连续性管理规划和大量的非技术组织工作。我们整个双活高可用平台的搭建和集成基本没有增加系统架构的复杂度、没有额外增加运维的工作量。

(文章来源:金融电子化杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章