文/王宏偉
由于完整的銀行應用成百上千,其系統(tǒng)建設規(guī)模龐大。因此麻雀銀行實驗室建設過程中不能照搬銀行的現(xiàn)有模式,需要根據本校對于麻雀銀行系統(tǒng)的需求來建設。
中國的金融系統(tǒng),尤其是銀行系統(tǒng)的發(fā)展并不完善,也不均衡。銀行業(yè)內對銀行信息系統(tǒng)的建設尚沒有一個統(tǒng)一的認識及標準。各銀行的金融系統(tǒng)的模式構架及完善程度也不盡相同。一方面這為金融行業(yè)系統(tǒng)及業(yè)務的研究開辟了新的領域,這個領域有系統(tǒng)與業(yè)務的交叉,也有理論與實際的結合。在該領域有所建樹是在金融行業(yè)保持領先的必要條件。而另一方面,這種情況也增加了對金融領域新的人才需求,從系統(tǒng)管理到業(yè)務的改造整合,從系統(tǒng)設計到維護,從業(yè)務需求到系統(tǒng)實施,都需要有新型的既有理論知識又有實踐基礎并有整體系統(tǒng)概念的人才。
作為以金融專業(yè)為特色專業(yè)的中央財經大學,必須跟上現(xiàn)在金融行業(yè)的發(fā)展節(jié)奏,并對應新變化新需求對教學科研活動進行改造。就目前而言,學校并沒有一個能夠支撐這種教學科研發(fā)展的平臺。教學及科研活動沒有一個完整的平臺開展實施。為了打破這種瓶頸,建設一個完善的銀行系統(tǒng)的教學科研實驗室是非常必要的。該實驗室必須能覆蓋銀行系統(tǒng)從業(yè)務到技術的各個環(huán)節(jié),并能夠支撐教學及科研環(huán)節(jié)中所出現(xiàn)的變化性需求。即該實驗室是一個涵蓋銀行主要業(yè)務,保持銀行系統(tǒng)的邏輯結構及物理結構,并能夠靈活地改變其邏輯及物理結構的微縮化的銀行系統(tǒng)。也正是因為該需求特點,據“麻雀雖小,五臟俱全”取名為麻雀銀行實驗室。
由于完整的銀行應用成百上千,其系統(tǒng)建設規(guī)模龐大。因此麻雀銀行實驗室建設過程中不能照搬銀行的現(xiàn)有模式,需要根據本校對于麻雀銀行系統(tǒng)的需求來建設。麻雀銀行實驗系統(tǒng)將會參照銀行的典型應用架構來構建應用系統(tǒng),以實現(xiàn)銀行系統(tǒng)的仿真。對于應用系統(tǒng),將逐步建立銀行的系統(tǒng)構架和主要應用模擬。
對于麻雀銀行的需求分析可歸納為以下幾點:
1.麻雀銀行的軟硬件架構設計需要滿足銀行系統(tǒng)內部數(shù)據流轉的需求,系統(tǒng)架構設計要滿足銀行業(yè)務正常使用的需求。其網絡構架要能支持整個系統(tǒng)邏輯結構,并能根據系統(tǒng)邏輯結構的變化而隨之變化,其安全性要能滿足金融系統(tǒng)數(shù)據及信息安全的要求,并且要能滿足信息及數(shù)據安全測試研究的要求。
2.麻雀銀行使用的主要技術需要是行業(yè)內較為先進和成熟的技術,而在一些支持的關鍵技術上,通過最新的技術來節(jié)約大量的成本。其構架方式要能夠支持從最普及的系統(tǒng)構架方式到最先進的構架方式等多種構架模式,并能非常方便地切換。
3.麻雀銀行將建立銀行系統(tǒng)里基礎服務系統(tǒng)(業(yè)務服務、運作服務、信息管理服務、技術服務)、業(yè)務功能模塊(銀行產品、客戶管理、零售服務、風險管理、信息提供)和交易服務渠道(網上銀行/手機銀行、分行系統(tǒng)、外接業(yè)務端口)中的主要部分。并能夠在以后的擴展過程中較為方便地增加新的模塊。各模塊間的邏輯及權限關系要符合金融系統(tǒng)的安全及數(shù)據流轉要求。網絡模式應支持各模塊間數(shù)據傳輸需求。
4.麻雀銀行參照銀行核心應用的基礎框架即“客戶端-應用服務器-數(shù)據庫”的三層架構體系,在應用服務器和數(shù)據庫層面使用和銀行系統(tǒng)中類似的集群及負載均衡技術,實現(xiàn)應用級的冗余架構。并能實現(xiàn)在實驗環(huán)境下金融系統(tǒng)的故障備份及切換到主要方式。
5.麻雀銀行是實驗系統(tǒng),因此數(shù)據量不大,對每個系統(tǒng)的運行平臺性能要求不高,但是需要建設的銀行應用系統(tǒng)較多,需要具備銀行基本結構。但是麻雀銀行建設需考慮在大數(shù)據流轉情況下的擴展性。
6.麻雀銀行系統(tǒng)的主要功能是使學生了解主要銀行系統(tǒng)的業(yè)務運作機制和底層架構,使學生通過實際的系統(tǒng)實驗深刻理解書本上的銀行業(yè)務實現(xiàn)以及銀行實際生產環(huán)境的建設思路。學生需要在麻雀銀行系統(tǒng)上進行上機實驗。因此麻雀銀行需要易于管理和重新部署。
7.麻雀銀行也需要分期逐步建設,因此系統(tǒng)和網絡的修改要非常靈活,可以實現(xiàn)任意的按需修改。由于場地等方面的限制,要求麻雀銀行除基礎物理連接外其他設置都可以通過網絡方式遠程實現(xiàn)。
圖1 按照10:1的虛擬化整合預期得到的效果
圖2 麻雀銀行整體構架
基于對目前麻雀銀行的需求分析,建設方案對平臺有如下要求:
目前麻雀銀行初步的設想是建設大約15個左右的銀行典型應用,按照銀行應用的最小化配置,每個應用需要至少6臺服務器(三臺應用服務器,兩臺數(shù)據庫服務器,一臺存儲服務器),因此總計需要100臺左右的服務器。
如果按照這種需求采購硬件平臺設備,存在如下問題:
1.一次性投入巨大;
2.維護成本高(管理成本,電力,機房,空調成本);
3.服務器利用率不高;
4.軟硬件緊耦合,移植成本高。
為實現(xiàn)最佳性價比,更有效率地利用學校投資,降低管理和維護成本,引入虛擬化技術建設麻雀銀行平臺是最佳選擇。
從實現(xiàn)虛擬化的方式看虛擬化技術大致分為兩類:
1. 由軟件配合硬件Firmware構成虛擬化解決方案
優(yōu)點:虛擬化的接口由硬件Firmware提供,不需要或者部分需要軟件模擬。能夠提供較好的硬件電氣隔離性和可靠性。虛擬化軟件的作用是配置和管理虛擬機。在虛擬化管理軟件失效的情況下,系統(tǒng)仍然正常運行。典型產品:IBM LPAR,Oracle OVM for SPARC, HP vPar。
缺點:由于虛擬化的主要功能由硬件支持完成,因此硬件資源的分配和調度不夠靈活,管理和維護比較復雜。軟硬件有一定
的耦合度,虛擬機的數(shù)量受到硬件架構的限制,整合服務器的效率不夠高。
2. 由純軟件完成虛擬設備的模擬解決方案
優(yōu)點:由操作系統(tǒng)或軟件完成設備虛擬化的所有功能。因此硬件資源的分配非常靈活。軟硬件完全解耦,便于移植和管理。由于軟件的靈活性,可創(chuàng)建虛擬機的數(shù)量非常多,整合效率高。
缺點:虛擬化層軟件構成了所有虛擬操作系統(tǒng)的基礎。一旦虛擬化層出現(xiàn)問題,所有Guest OS將都不能工作。另外也很難提供完全的硬件隔離。可靠性稍差,不過這種可靠性還可以通過虛擬機集群技術得到改善。X86平臺的所有虛擬化方案和小型機的Solaris Container,HP IVM都屬于這種方案。
根據目前麻雀銀行的需求,由于實現(xiàn)了銀行應用系統(tǒng)的集群和高可用性架構,對單虛擬機的可靠性要求已經大大降低。純軟件的虛擬化方案對硬件分配非常靈活,可以任意創(chuàng)建虛擬設備以滿足實驗需求。軟件虛擬機的數(shù)量可以超過數(shù)千,而軟硬件結合的虛擬化在實際應用中一般不超過8個。因此純軟件虛擬化可以更有效地實現(xiàn)服務器的整合,能節(jié)省更多的服務器資源。
由于銀行系統(tǒng)主要是運行UNIX系統(tǒng),所有的應用軟件也基于UNIX。從給學生提供與銀行相同的系統(tǒng)環(huán)境和提高服務器整合效率節(jié)省投資綜合考慮,推薦使用基于小型機的純軟件虛擬化方案。
將原本需要10臺服務器的應用整合到一臺物理服務器中,通過虛擬化技術建立10套操作系統(tǒng)。所有的虛擬機和應用程序數(shù)據通過Infiniband交換機互聯(lián),實現(xiàn)內部數(shù)據交換的高性能。應用服務器和數(shù)據庫服務器之間的對內通訊使用千兆以太網,與客戶端對外通訊通過防火墻+標準千兆以太網模擬銀行的安全架構。
通過物理服務器上的多個網口做到每個應用都有獨立的網卡,都處在獨立的網絡環(huán)境中??傆嬓枰咝阅芪锢矸掌?0臺,支持Infiniband連接的存儲一臺。
關鍵技術層次
銀行業(yè)務應用程序是教學和科研的重點,需要通過有實際銀行系統(tǒng)軟件開發(fā)的廠商提供軟件樣例,我校根據實際需求進行裁剪和定制化開發(fā),以滿足學生教學和教師科研的需求。
中間件軟件借鑒銀行和業(yè)內先進成熟的SOA理念和J2EE技術,實現(xiàn)面向服務的三層應用架構。通過上層應用軟件和中間件技術,搭建一個無縫結合,業(yè)務可靈活調整,數(shù)據易于共享的銀行實驗系統(tǒng),為將來的教學和科研提供靈活敏捷的應用平臺。
使用業(yè)內最為成熟的數(shù)據庫技術,搭建一套高可用,高可靠,高可服務性的數(shù)據庫平臺。
通過虛擬化軟件模擬實驗系統(tǒng)的所需要的多個操作系統(tǒng)環(huán)境。虛擬化軟件需要支持UNIX系統(tǒng)的模擬,以便與現(xiàn)今銀行的業(yè)務實際情況相適應。
UNIX操作系統(tǒng)為應用程序提供運行環(huán)境,由于銀行系統(tǒng)核心應用多為UNIX,使用UNIX系統(tǒng)可以最大化模擬真實銀行環(huán)境,為教學和科研提供一個接近正式環(huán)境的運行平臺。
服務器需要具備高性能,多核多線程的處理能力,以便滿足大量虛擬機的整合要求。在保證性能的前提下,多核多線程可以最大化地整合多個虛擬機,降低能耗與投資。
存儲為上層大量應用提供數(shù)據訪問,因此需要具有多協(xié)議支持的能力已滿足多種應用的復雜需求。同時存儲需要高性能,以滿足大量應用的訪問需求。目前業(yè)內流行的統(tǒng)一存儲可以同時滿足兩種需求,在提供萬兆網、光纖、Infiniband接口和NFS、CIFS、FTP、Http等多協(xié)議的同時,通過SSD磁盤+高容量SAS磁盤的組合方式保證性能價格比。SSD磁盤+高容量SAS磁盤的組合是兼顧了SSD的性能和高容量SAS磁盤的價格的最佳方案。
需要解決的技術問題
現(xiàn)行大部分銀行核心應用軟件都是部署在UNIX平臺之上,因此選用UNIX平臺的虛擬機可以最大可能地降低軟件兼容性問題。
由于銀行應用架構中大量使用集群技術,集群技術和虛擬化技術的結合是需要注意的技術問題。需保證集群技術應用在虛擬機上穩(wěn)定運行,對于集群在虛擬化平臺下的部署需要有官方的參考和認證支持。
通過實現(xiàn)基于中間件的應用開發(fā),通過java技術避免跨平臺的兼容性問題。
虛擬化技術下的數(shù)據分為兩個類型:虛擬機文件和應用數(shù)據。
數(shù)據共享考慮兩個關鍵問題:
(1)數(shù)據共享的多協(xié)議支持
為了方便虛擬機的跨物理機遷移,數(shù)據即時共享。本地硬盤不能滿足多機文件共享的需求。需要使用外置存儲。目前外置存儲分為:FC存儲和NAS存儲兩個主要類型。從兼容性上來講,NAS存儲已經能夠同時支持FC和NAS兩種協(xié)議,具有更廣泛的支持性。因此建議使用多協(xié)議支持的統(tǒng)一NAS存儲,同時實現(xiàn)對iSCSI和NFS的支持以滿足數(shù)據共享的需要。NFS比iSCSI有更大的靈活性,更易于實現(xiàn)共享,iSCSI模擬傳統(tǒng)的裸設備服務,兼容所有應用程序(例如Oracle RAC對于要求的Voting Disk可通過iSCSI實現(xiàn)),是對NFS的很好補充。多種協(xié)議支持可以滿足不同應用程序對系統(tǒng)的要求。
(2)數(shù)據共享的性能保證
在不使用虛擬化技術的方案下,50個系統(tǒng)對應50個物理服務器,每臺物理服務器都至少有2塊系統(tǒng)硬盤。因此本地IO訪問是足夠的。但是在虛擬化方案中,10個操作系統(tǒng)對應2塊本地物理磁盤,本地物理磁盤就成了性能瓶頸。因此虛擬機需要建立在外置的高性能存儲上。根據之前的計算,需要大致12TB的外置存儲容量,在當前單硬盤就能達到2TB的情況下,少量硬盤就能達到容量需求。但不能達到性能需求,為性能考慮建議如下:
a.通過目前行業(yè)成熟的解決方案Flash硬盤+SATA盤的組合既滿足性能要求又滿足容量要求;
b.存儲連接通過低延時的萬兆以太網或者Infiniband,使傳輸過程不成為系統(tǒng)瓶頸。
由于虛擬機的數(shù)量非常大,而麻雀銀行不像真實銀行系統(tǒng)那樣,系統(tǒng)的變動不大,維護人員非常專業(yè),有眾多廠商駐場支持。麻雀銀行的使用學生大多對銀行系統(tǒng)處在學習過程中,對系統(tǒng)配置的嘗試性修改很多。因此需要管理系統(tǒng)實現(xiàn)應用程序-虛擬機-物理服務器的一體化管理。在滿足學生動手實驗的同時,維持每次實驗課后系統(tǒng)的一致性,穩(wěn)定性。
由于使用10:1的整合方式,服務器的單機性能成為了比較關鍵的技術問題。主要的性能考慮來自兩個方面:
(1)CPU性能
目前虛擬機對CPU的管理方式有兩種:共享方式和獨享方式。
共享方式管理將物理服務器的CPU當做一個資源池,所有虛擬機共享資源池的CPU資源。
獨享方式將單個CPU內核分配給指定的虛擬機,其他虛擬機不能夠使用分配給指定虛擬機的CPU資源。
共享方式是一種最靈活的,對服務器CPU性能利用最充分的管理方式。因此虛擬化過程中需要使用共享方式管理CPU資源。
對于CPU本身,最好具有更多的內核和吞吐能力,這樣能夠保證在10:1的整合每個虛擬機的性能。
(2)內存性能
由于在每個物理服務器上要安裝10個操作系統(tǒng),因此對內存的需求也比較大,通過計算,每臺應用服務器配置64GB內存(平均每個應用4GB,其余作為空閑內存防止突發(fā)的內存需求),每臺數(shù)據庫服務器配置128GB內存(平均每個數(shù)據庫8GB),其余作為空閑內存防止突發(fā)的內存需求。
圖3 基礎架構
虛擬化軟件的部署和普通操作系統(tǒng)相同,只需安裝在物理服務器上與共享存儲互聯(lián)互通。
虛擬機的部署可以通過建立虛擬機模板的方式。先創(chuàng)建虛擬機模板,再將模板批量部署到所有物理服務器。
由于虛擬化技術對應用服務器透明,因此應用服務器的部署與在物理機環(huán)境下的部署方式相同。
數(shù)據庫服務器的部署在數(shù)據庫軟件支持該虛擬化技術的條件下,部署方式與物理機相同。
集群軟件的部署由于涉及底層硬件,與物理機環(huán)境下的不同。但虛擬化廠家能夠提供虛擬化環(huán)境下的部署文檔,完成集群部署。
管理服務器對應用程序-虛擬機-物理機進行一體化管理,需要單獨一臺服務器作為管理服務器,通過與物理機的專用端口通信獲得物理機、虛擬機和應用程序的信息,進行監(jiān)控管理。
銀行系統(tǒng)的服務器都是采用直接物理連接的方式對接到相應的網絡位置上,而服務器之間的邏輯距離與物理距離都有可能很遠,在實驗室環(huán)境下,由于工作服務器均為虛擬服務器,而服務器也需要集中存放,所以不能采取相同的方式,而且物理連接的方式在結構變更時有很大的難度,所以服務器與拓撲結構的連接采用最新的拓撲連接器技術,將集中連接的虛擬服務器連接到相應的拓撲位置。
拓撲連接的大致過程如圖4所示,服務器A中虛擬出來A1/A2/A3三個虛擬服務器通過不同的網卡連接到拓撲連接器 1000-A上的不同端口(F0/1、F0/2、F0/3)上,而每個實驗臺的各類設備同樣也將各自端口連接到每組自己的拓撲連接器上,并通過實驗室互聯(lián)設備連接起來。
當用戶搭建環(huán)境時,將虛擬服務器A1在RG-LIMP中與第一組的網絡設備R1的端口E0/1連接,此時,連接A1的A上的F0/1端口,就會通過與第一組的1上與E0/1端口連接的F0/2端口之間建立起基于QinQ的隧道,將每個發(fā)送的數(shù)據報文打上相應的標簽,使得A1的網卡與R1的E0/1端口直接形成一個二層VLAN,從邏輯上實現(xiàn)兩臺設備的直接互聯(lián),從而實現(xiàn)多臺虛擬服務器在不同邏輯位置的連接。
圖4 麻雀銀行拓撲掛接方式
每個實驗臺可供4~6人同時實驗,每個實驗小組都能在一個實驗臺上單獨完成全部實驗內容。一般由6~8個實驗臺可以構成一個實驗室,供40~48人左右實驗。
實驗環(huán)境按照模擬當前最新的行業(yè)級網絡安全技術應用環(huán)境設計,可以滿足目前金融網絡與信息安全實驗室需要,可以后期進行平滑升級,通過添加部分網絡設備和模塊來組建更為復雜的網絡與信息安全實驗室環(huán)境。
通過以上的每組設備構建,每組的學生可以在實驗室里構建行業(yè)級的真實場景應用實驗,實際銀行系統(tǒng)的建設規(guī)模龐大并耗資巨大,是一個高校所不能承受的。所以一直以來所有高校都沒有建設過類似的實驗室。而由于近些年,尤其是最近2年,新技術不斷的產生完善推廣,使該類實驗室成本大大降低,因而變得實際可行。實際上,麻雀銀行建設方案中應用的很多的新技術為近兩年最新推出的技術,遠超過大部分銀行現(xiàn)在采用的技術。通過新技術的應用,使麻雀銀行的方案切實可行,并能夠滿足教學科研活動中的各種需求。