中央财经大学:“麻雀银行”小而灵活
2013-10-25王宏伟
文/王宏伟
由于完整的银行应用成百上千,其系统建设规模庞大。因此麻雀银行实验室建设过程中不能照搬银行的现有模式,需要根据本校对于麻雀银行系统的需求来建设。
中国的金融系统,尤其是银行系统的发展并不完善,也不均衡。银行业内对银行信息系统的建设尚没有一个统一的认识及标准。各银行的金融系统的模式构架及完善程度也不尽相同。一方面这为金融行业系统及业务的研究开辟了新的领域,这个领域有系统与业务的交叉,也有理论与实际的结合。在该领域有所建树是在金融行业保持领先的必要条件。而另一方面,这种情况也增加了对金融领域新的人才需求,从系统管理到业务的改造整合,从系统设计到维护,从业务需求到系统实施,都需要有新型的既有理论知识又有实践基础并有整体系统概念的人才。
作为以金融专业为特色专业的中央财经大学,必须跟上现在金融行业的发展节奏,并对应新变化新需求对教学科研活动进行改造。就目前而言,学校并没有一个能够支撑这种教学科研发展的平台。教学及科研活动没有一个完整的平台开展实施。为了打破这种瓶颈,建设一个完善的银行系统的教学科研实验室是非常必要的。该实验室必须能覆盖银行系统从业务到技术的各个环节,并能够支撑教学及科研环节中所出现的变化性需求。即该实验室是一个涵盖银行主要业务,保持银行系统的逻辑结构及物理结构,并能够灵活地改变其逻辑及物理结构的微缩化的银行系统。也正是因为该需求特点,据“麻雀虽小,五脏俱全”取名为麻雀银行实验室。
建设需求分析
由于完整的银行应用成百上千,其系统建设规模庞大。因此麻雀银行实验室建设过程中不能照搬银行的现有模式,需要根据本校对于麻雀银行系统的需求来建设。麻雀银行实验系统将会参照银行的典型应用架构来构建应用系统,以实现银行系统的仿真。对于应用系统,将逐步建立银行的系统构架和主要应用模拟。
对于麻雀银行的需求分析可归纳为以下几点:
1.麻雀银行的软硬件架构设计需要满足银行系统内部数据流转的需求,系统架构设计要满足银行业务正常使用的需求。其网络构架要能支持整个系统逻辑结构,并能根据系统逻辑结构的变化而随之变化,其安全性要能满足金融系统数据及信息安全的要求,并且要能满足信息及数据安全测试研究的要求。
2.麻雀银行使用的主要技术需要是行业内较为先进和成熟的技术,而在一些支持的关键技术上,通过最新的技术来节约大量的成本。其构架方式要能够支持从最普及的系统构架方式到最先进的构架方式等多种构架模式,并能非常方便地切换。
3.麻雀银行将建立银行系统里基础服务系统(业务服务、运作服务、信息管理服务、技术服务)、业务功能模块(银行产品、客户管理、零售服务、风险管理、信息提供)和交易服务渠道(网上银行/手机银行、分行系统、外接业务端口)中的主要部分。并能够在以后的扩展过程中较为方便地增加新的模块。各模块间的逻辑及权限关系要符合金融系统的安全及数据流转要求。网络模式应支持各模块间数据传输需求。
4.麻雀银行参照银行核心应用的基础框架即“客户端-应用服务器-数据库”的三层架构体系,在应用服务器和数据库层面使用和银行系统中类似的集群及负载均衡技术,实现应用级的冗余架构。并能实现在实验环境下金融系统的故障备份及切换到主要方式。
5.麻雀银行是实验系统,因此数据量不大,对每个系统的运行平台性能要求不高,但是需要建设的银行应用系统较多,需要具备银行基本结构。但是麻雀银行建设需考虑在大数据流转情况下的扩展性。
6.麻雀银行系统的主要功能是使学生了解主要银行系统的业务运作机制和底层架构,使学生通过实际的系统实验深刻理解书本上的银行业务实现以及银行实际生产环境的建设思路。学生需要在麻雀银行系统上进行上机实验。因此麻雀银行需要易于管理和重新部署。
7.麻雀银行也需要分期逐步建设,因此系统和网络的修改要非常灵活,可以实现任意的按需修改。由于场地等方面的限制,要求麻雀银行除基础物理连接外其他设置都可以通过网络方式远程实现。
图1 按照10:1的虚拟化整合预期得到的效果
图2 麻雀银行整体构架
系统构架方案
基于对目前麻雀银行的需求分析,建设方案对平台有如下要求:
目前麻雀银行初步的设想是建设大约15个左右的银行典型应用,按照银行应用的最小化配置,每个应用需要至少6台服务器(三台应用服务器,两台数据库服务器,一台存储服务器),因此总计需要100台左右的服务器。
如果按照这种需求采购硬件平台设备,存在如下问题:
1.一次性投入巨大;
2.维护成本高(管理成本,电力,机房,空调成本);
3.服务器利用率不高;
4.软硬件紧耦合,移植成本高。
为实现最佳性价比,更有效率地利用学校投资,降低管理和维护成本,引入虚拟化技术建设麻雀银行平台是最佳选择。
从实现虚拟化的方式看虚拟化技术大致分为两类:
1. 由软件配合硬件Firmware构成虚拟化解决方案
优点:虚拟化的接口由硬件Firmware提供,不需要或者部分需要软件模拟。能够提供较好的硬件电气隔离性和可靠性。虚拟化软件的作用是配置和管理虚拟机。在虚拟化管理软件失效的情况下,系统仍然正常运行。典型产品:IBM LPAR,Oracle OVM for SPARC, HP vPar。
缺点:由于虚拟化的主要功能由硬件支持完成,因此硬件资源的分配和调度不够灵活,管理和维护比较复杂。软硬件有一定
的耦合度,虚拟机的数量受到硬件架构的限制,整合服务器的效率不够高。
2. 由纯软件完成虚拟设备的模拟解决方案
优点:由操作系统或软件完成设备虚拟化的所有功能。因此硬件资源的分配非常灵活。软硬件完全解耦,便于移植和管理。由于软件的灵活性,可创建虚拟机的数量非常多,整合效率高。
缺点:虚拟化层软件构成了所有虚拟操作系统的基础。一旦虚拟化层出现问题,所有Guest OS将都不能工作。另外也很难提供完全的硬件隔离。可靠性稍差,不过这种可靠性还可以通过虚拟机集群技术得到改善。X86平台的所有虚拟化方案和小型机的Solaris Container,HP IVM都属于这种方案。
根据目前麻雀银行的需求,由于实现了银行应用系统的集群和高可用性架构,对单虚拟机的可靠性要求已经大大降低。纯软件的虚拟化方案对硬件分配非常灵活,可以任意创建虚拟设备以满足实验需求。软件虚拟机的数量可以超过数千,而软硬件结合的虚拟化在实际应用中一般不超过8个。因此纯软件虚拟化可以更有效地实现服务器的整合,能节省更多的服务器资源。
由于银行系统主要是运行UNIX系统,所有的应用软件也基于UNIX。从给学生提供与银行相同的系统环境和提高服务器整合效率节省投资综合考虑,推荐使用基于小型机的纯软件虚拟化方案。
将原本需要10台服务器的应用整合到一台物理服务器中,通过虚拟化技术建立10套操作系统。所有的虚拟机和应用程序数据通过Infiniband交换机互联,实现内部数据交换的高性能。应用服务器和数据库服务器之间的对内通讯使用千兆以太网,与客户端对外通讯通过防火墙+标准千兆以太网模拟银行的安全架构。
通过物理服务器上的多个网口做到每个应用都有独立的网卡,都处在独立的网络环境中。总计需要高性能物理服务器10台,支持Infiniband连接的存储一台。
关键技术
关键技术层次
1. 银行业务应用程序
银行业务应用程序是教学和科研的重点,需要通过有实际银行系统软件开发的厂商提供软件样例,我校根据实际需求进行裁剪和定制化开发,以满足学生教学和教师科研的需求。
2. 中间件软件
中间件软件借鉴银行和业内先进成熟的SOA理念和J2EE技术,实现面向服务的三层应用架构。通过上层应用软件和中间件技术,搭建一个无缝结合,业务可灵活调整,数据易于共享的银行实验系统,为将来的教学和科研提供灵活敏捷的应用平台。
3. 数据库
使用业内最为成熟的数据库技术,搭建一套高可用,高可靠,高可服务性的数据库平台。
4. 虚拟化软件
通过虚拟化软件模拟实验系统的所需要的多个操作系统环境。虚拟化软件需要支持UNIX系统的模拟,以便与现今银行的业务实际情况相适应。
5. UNIX操作系统
UNIX操作系统为应用程序提供运行环境,由于银行系统核心应用多为UNIX,使用UNIX系统可以最大化模拟真实银行环境,为教学和科研提供一个接近正式环境的运行平台。
6. 服务器
服务器需要具备高性能,多核多线程的处理能力,以便满足大量虚拟机的整合要求。在保证性能的前提下,多核多线程可以最大化地整合多个虚拟机,降低能耗与投资。
7. 统一存储
存储为上层大量应用提供数据访问,因此需要具有多协议支持的能力已满足多种应用的复杂需求。同时存储需要高性能,以满足大量应用的访问需求。目前业内流行的统一存储可以同时满足两种需求,在提供万兆网、光纤、Infiniband接口和NFS、CIFS、FTP、Http等多协议的同时,通过SSD磁盘+高容量SAS磁盘的组合方式保证性能价格比。SSD磁盘+高容量SAS磁盘的组合是兼顾了SSD的性能和高容量SAS磁盘的价格的最佳方案。
需要解决的技术问题
1. 应用软件兼容性问题
现行大部分银行核心应用软件都是部署在UNIX平台之上,因此选用UNIX平台的虚拟机可以最大可能地降低软件兼容性问题。
由于银行应用架构中大量使用集群技术,集群技术和虚拟化技术的结合是需要注意的技术问题。需保证集群技术应用在虚拟机上稳定运行,对于集群在虚拟化平台下的部署需要有官方的参考和认证支持。
通过实现基于中间件的应用开发,通过java技术避免跨平台的兼容性问题。
2. 虚拟化硬件平台的数据共享
虚拟化技术下的数据分为两个类型:虚拟机文件和应用数据。
数据共享考虑两个关键问题:
(1)数据共享的多协议支持
为了方便虚拟机的跨物理机迁移,数据即时共享。本地硬盘不能满足多机文件共享的需求。需要使用外置存储。目前外置存储分为:FC存储和NAS存储两个主要类型。从兼容性上来讲,NAS存储已经能够同时支持FC和NAS两种协议,具有更广泛的支持性。因此建议使用多协议支持的统一NAS存储,同时实现对iSCSI和NFS的支持以满足数据共享的需要。NFS比iSCSI有更大的灵活性,更易于实现共享,iSCSI模拟传统的裸设备服务,兼容所有应用程序(例如Oracle RAC对于要求的Voting Disk可通过iSCSI实现),是对NFS的很好补充。多种协议支持可以满足不同应用程序对系统的要求。
(2)数据共享的性能保证
在不使用虚拟化技术的方案下,50个系统对应50个物理服务器,每台物理服务器都至少有2块系统硬盘。因此本地IO访问是足够的。但是在虚拟化方案中,10个操作系统对应2块本地物理磁盘,本地物理磁盘就成了性能瓶颈。因此虚拟机需要建立在外置的高性能存储上。根据之前的计算,需要大致12TB的外置存储容量,在当前单硬盘就能达到2TB的情况下,少量硬盘就能达到容量需求。但不能达到性能需求,为性能考虑建议如下:
a.通过目前行业成熟的解决方案Flash硬盘+SATA盘的组合既满足性能要求又满足容量要求;
b.存储连接通过低延时的万兆以太网或者Infiniband,使传输过程不成为系统瓶颈。
3. 虚拟化平台的一体化管理
由于虚拟机的数量非常大,而麻雀银行不像真实银行系统那样,系统的变动不大,维护人员非常专业,有众多厂商驻场支持。麻雀银行的使用学生大多对银行系统处在学习过程中,对系统配置的尝试性修改很多。因此需要管理系统实现应用程序-虚拟机-物理服务器的一体化管理。在满足学生动手实验的同时,维持每次实验课后系统的一致性,稳定性。
4. 虚拟化平台的服务器性能问题
由于使用10:1的整合方式,服务器的单机性能成为了比较关键的技术问题。主要的性能考虑来自两个方面:
(1)CPU性能
目前虚拟机对CPU的管理方式有两种:共享方式和独享方式。
共享方式管理将物理服务器的CPU当做一个资源池,所有虚拟机共享资源池的CPU资源。
独享方式将单个CPU内核分配给指定的虚拟机,其他虚拟机不能够使用分配给指定虚拟机的CPU资源。
共享方式是一种最灵活的,对服务器CPU性能利用最充分的管理方式。因此虚拟化过程中需要使用共享方式管理CPU资源。
对于CPU本身,最好具有更多的内核和吞吐能力,这样能够保证在10:1的整合每个虚拟机的性能。
(2)内存性能
由于在每个物理服务器上要安装10个操作系统,因此对内存的需求也比较大,通过计算,每台应用服务器配置64GB内存(平均每个应用4GB,其余作为空闲内存防止突发的内存需求),每台数据库服务器配置128GB内存(平均每个数据库8GB),其余作为空闲内存防止突发的内存需求。
图3 基础架构
麻雀银行应用部署
1. 虚拟化软件的部署
虚拟化软件的部署和普通操作系统相同,只需安装在物理服务器上与共享存储互联互通。
2. 虚拟机的部署
虚拟机的部署可以通过建立虚拟机模板的方式。先创建虚拟机模板,再将模板批量部署到所有物理服务器。
3. 应用服务器的部署
由于虚拟化技术对应用服务器透明,因此应用服务器的部署与在物理机环境下的部署方式相同。
4. 数据库服务器的部署
数据库服务器的部署在数据库软件支持该虚拟化技术的条件下,部署方式与物理机相同。
5. 集群软件的部署
集群软件的部署由于涉及底层硬件,与物理机环境下的不同。但虚拟化厂家能够提供虚拟化环境下的部署文档,完成集群部署。
6. 管理服务器的部署
管理服务器对应用程序-虚拟机-物理机进行一体化管理,需要单独一台服务器作为管理服务器,通过与物理机的专用端口通信获得物理机、虚拟机和应用程序的信息,进行监控管理。
银行系统的服务器都是采用直接物理连接的方式对接到相应的网络位置上,而服务器之间的逻辑距离与物理距离都有可能很远,在实验室环境下,由于工作服务器均为虚拟服务器,而服务器也需要集中存放,所以不能采取相同的方式,而且物理连接的方式在结构变更时有很大的难度,所以服务器与拓扑结构的连接采用最新的拓扑连接器技术,将集中连接的虚拟服务器连接到相应的拓扑位置。
拓扑连接的大致过程如图4所示,服务器A中虚拟出来A1/A2/A3三个虚拟服务器通过不同的网卡连接到拓扑连接器 1000-A上的不同端口(F0/1、F0/2、F0/3)上,而每个实验台的各类设备同样也将各自端口连接到每组自己的拓扑连接器上,并通过实验室互联设备连接起来。
当用户搭建环境时,将虚拟服务器A1在RG-LIMP中与第一组的网络设备R1的端口E0/1连接,此时,连接A1的A上的F0/1端口,就会通过与第一组的1上与E0/1端口连接的F0/2端口之间建立起基于QinQ的隧道,将每个发送的数据报文打上相应的标签,使得A1的网卡与R1的E0/1端口直接形成一个二层VLAN,从逻辑上实现两台设备的直接互联,从而实现多台虚拟服务器在不同逻辑位置的连接。
图4 麻雀银行拓扑挂接方式
网络实现方法
每个实验台可供4~6人同时实验,每个实验小组都能在一个实验台上单独完成全部实验内容。一般由6~8个实验台可以构成一个实验室,供40~48人左右实验。
实验环境按照模拟当前最新的行业级网络安全技术应用环境设计,可以满足目前金融网络与信息安全实验室需要,可以后期进行平滑升级,通过添加部分网络设备和模块来组建更为复杂的网络与信息安全实验室环境。
通过以上的每组设备构建,每组的学生可以在实验室里构建行业级的真实场景应用实验,实际银行系统的建设规模庞大并耗资巨大,是一个高校所不能承受的。所以一直以来所有高校都没有建设过类似的实验室。而由于近些年,尤其是最近2年,新技术不断的产生完善推广,使该类实验室成本大大降低,因而变得实际可行。实际上,麻雀银行建设方案中应用的很多的新技术为近两年最新推出的技术,远超过大部分银行现在采用的技术。通过新技术的应用,使麻雀银行的方案切实可行,并能够满足教学科研活动中的各种需求。