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