银联基于OpenStack的金融私有云建设实践
銀聯基于OpenStack的金融私有云建設實踐
發表于2015-10-06 17:17| 1390次閱讀| 來源CSDN| 1 條評論| 作者中國銀聯 祖立軍
OpenStackSaaS銀聯金融私有云云計算 width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-10-06%2F2825848&type=3&count=&appkey=&title=%E4%B8%AD%E5%9B%BD%E9%93%B6%E8%81%94%E5%9F%BA%E4%BA%8EOpenStack%E7%9A%84%E7%A7%81%E6%9C%89%E4%BA%91%E5%B7%B2%E7%BB%8F%E7%A8%B3%E5%AE%9A%E8%BF%90%E8%A1%8C1000%E5%A4%9A%E5%A4%A9%EF%BC%8C%E7%B4%AF%E8%AE%A111960vCPU%E3%80%8133280G%E5%86%85%E5%AD%98%E5%92%8C600TB%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%AD%98%E5%82%A8%E8%AE%A1%E7%AE%97%E5%8A%9B%EF%BC%8C%E5%88%9D%E6%AD%A5%E5%BB%BA%E6%88%90%E4%BA%86%E5%8C%85%E6%8B%AC%E4%BA%91%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0%E3%80%81%E4%BA%91%E9%9B%86%E6%88%90%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0%E3%80%81%E6%99%BA%E8%83%BD%E6%94%AF%E4%BB%98%E7%BB%88%E7%AB%AF%E5%B9%B3%E5%8F%B0%E7%AD%89%E5%9C%A8%E5%86%85%E7%9A%84%E4%BA%91%E8%AE%A1%E7%AE%97%E5%9F%BA%E7%A1%80%E5%B9%B3%E5%8F%B0%E5%92%8C%E5%BA%94%E7%94%A8%E5%B9%B3%E5%8F%B0%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1444226512071" frameborder="0" scrolling="no" allowtransparency="true">摘要:中國銀聯基于OpenStack的私有云已經穩定運行1000多天,累計11960vCPU、33280G內存和600TB企業級存儲計算力,初步建成了包括云資源管理平臺、云集成開發平臺、智能支付終端平臺等在內的云計算基礎平臺和應用平臺。【編者按】已經5歲的OpenStack已經成為極富生命力的框架。其簡化云部署、構建應用和服務、可擴展性、可管理性等方面都有不俗表現。CSDN于4月舉辦的OCC(OpenClud2015)的2015OpenStack技術大會中,我們對包含核心、集成發布、孵化、外圍在內多個項目的生態環境進行了分析,并力邀數位技術專家分享了深度實踐案例。而在業內耳熟能詳的PayPal、沃爾瑪、攜程、去哪兒網、金山、小米等案例之外,國內金融行業在OpenStack方面的實踐也已走在前列。下文為CSDN特別向中國銀聯股份有限公司/電子商務與電子支付國家工程實驗室祖立軍的約稿。其私有云規模已達1000多臺,負責關鍵生產應用。
以下為正文:
一、銀聯金融私有云建設情況
(一)前言
隨著中國移動互聯網進入實質性的增長期,各種移動互聯網設備大量涌現,強烈要求云計算應用的支持,實現數據的實時同步、 異地存取的自由,這一切凸顯了云計算的重要性與急迫性。通過對云計算典型案例進行剖析,我們認為云計算是企業級IT技術發展到高級階段的必然產物。云計算天生是面向“服務”的,和“應用”需緊密結合。因此其對于行業發展,尤其對于高度依賴IT信息技術的銀行卡產業具有顯著的推動作用。
中國銀聯在2009年正式啟動云計算前瞻性研究。建設過程中,我們依據國際通行的云計算服務架構層次,在統一的計算、存儲,網絡的資源池之上分別構建了以云資源管理平臺與云集成開發與運行平臺為核心的IaaS、PaaS服務,并基于IaaS、PaaS構建了智能支付終端平臺的SaaS應用,期間產生了多項專利、論文,并已成功通過國家云計算標準認證。其中IaaS建設基于開源OpenStack架構。目前,銀聯私有云平臺已作為公司核心支撐平臺在生產環境落地應用,相關關鍵支付應用已由該平臺承載。
(二)私有云研究成果
銀聯是金融行業最早介入云計算領域,通過三年云計算落地建設,打造出金融行業第一朵云。截至目前,基于OpenStack建設的私有云已經穩定運行1000多天,平臺累計具備了11960vCPU、33280G內存和600TB企業級存儲計算力,初步建成了包括云資源管理平臺(IaaS)、云集成開發平臺(PaaS)、智能支付終端平臺(SaaS)等在內的云計算基礎平臺和應用平臺。
通過云計算平臺的應用,服務能力達到了新的跨躍,具體表現為:在資源服務方面,能夠在分鐘級完成云平臺資源創建,能夠在分鐘級實現故障探測及恢復,如服務器、數據庫宕機,能夠在分鐘級實現按需自動實現缺口資源的擴容;在運維支撐方面,支持對服務器、網絡、存儲、進程的全面自動化標準監控,以及支持全自助界面的資源申請及管理。
(三)因地制宜的技術路線
銀聯金融私有云建設采用因地制宜的技術路線,使得云平臺與現有技術架構融合,從技術到管理上平滑對接。技術指標體現為核心技術理念,非技術指標體現為科學管理方法。
圖1:銀聯私有云因地制宜的建設路線
1. 核心技術理念
銀聯電子支付研究院通過研究國際通用的云計算模型提煉出銀聯建設云平臺的三大核心技術理念。
- 彈性
通過創新性的云計算組織溝通機制,將大量計算資源組織起來,協同工作,資源個體可進可出,收縮自如,減少組織內的溝通損耗;當組織內個體情況發生變化時,可以及時查知信息,確保資源額變化實時反映在系統性能上,做到動態感知;并同時平衡各節點的壓力,做到動態負載均衡。
- 透明
做到用戶無需關心底層的實現方式,只需要專注于上層的業務邏輯,針對不同場景、終端、應用、基礎設施平臺,云組織等可無差別地支持,并運用冗余等方式,保證云組織底層架構的節點發生任何變化都不會對系統的整體運行造成影響。
- 積木化
通過定義良好的接口和契約將云組織的應用和資源聯系起來,然后根據需要進行分布式部署、組合和使用,使這些應用和資源變為可共享的標準服務,并實現這些服務模塊的“即插即用”。
OpenStack無共享、分布式架構和設計原則很好地契合了銀聯金融私有云建設的核心技術理念。在OpenStack項目發展早起,銀聯就關注了OpenStack并對各個項目組件做了深入研究和分析,2012年初正式決定使用開源OpenStack,同年年底便在生產投產。
2. 科學管理方法
面向互聯網+的云時代需要一套綜合考慮成本、組織架構、流程規范的科學管理辦法。成本要使用又低廉又可靠的基礎架構,如從小型機平臺向x86平臺轉變,同時還要支持大規模情況下的運維管理,這個管理不僅要考慮直接運維成本,也要考慮出錯等間接運維成本,因此我們需要一種機器管理機器的安全架構。
銀聯經歷了13年的成長,其IT組織架構與流程規范已成為成熟的公司IT文化。我們認為新技術的引入在提升企業業務能力的同時,也必須適應企業IT文化,因此是一種融合式技術引進管理方式。OpenStack本身提倡IT成本的降低,同時其以開放式的態度對待現有以及未來的所有IT技術,因此符合銀聯在IT科學管理方式方面的定位。
二、銀聯對OpenStack的理解
(一)OpenStack本質理解
我們認為OpenStack本質上是對基礎設施的管理軟件,通過各個組件的相互協同運作,來管理物理資源(服務器,網絡,存儲)及虛擬資源(虛擬機等)。通過統一的集中管理、編排,使物理資源利用率最大化,并降低運維成本,簡化運維復雜度。同時OpenStack是業界公認的開源云計算事實標準,是一套相對完整的理論框架。OpenStack不是一個產品,其在嚴格生產應用過程前必須經過優化,但OpenStack提供了一種優秀的IT模型和框架框架,企業可以通過OpenStack量身定制私有云。
(二)OpenStack利弊理解
圖2:OpenStack優勢劣勢對比
OpenStack有明顯的優勢。AWS開源實現,事實標準、先進技術、統一平臺。積極的軟硬件廠商支持。OpenStack開源社區活躍度高,開源貢獻率高。不存在一家獨大情況,系統性風險低。圍繞OpenStack的周邊開源生態系統建設良好,眾多開源軟件都積極支持OpenStack。
OpenStack也存在相應劣勢,如兼容性,早期我們使用OpenStack最大挑戰就是對Xen的兼容性。即使到Kilo版本為止,OpenStack對Hypervisor、商業存儲、SDN軟件的兼容仍非常有限。雖然官方聲稱支持的兼容性,在實際使用上仍然有很多問題。銀聯在研究、解決OpenStack劣勢問題上花費了大量的時間和精力。
(三)OpenStack組件理解
從最初版本的兩個核心組件——Nova、Swift,發展至今,OpenStack歷經5年時間11個版本迭代,核心組件已經有21個,業務功能上也是越加豐富。目前的21個核心組件中,并非所有組件如Nova、Swift一樣成熟穩定。
圖3:OpenStack組件評估結果
銀聯對OpenStack核心組件進行系統評估,根據測試評估結果,選取組件加入到云平臺中。優先選取符合銀聯實際應用場景的OpenStack成熟組件。較成熟組件需要定制開發,才能放到生產環境使用。對于不成熟組件,暫不考慮納入銀聯OpenStack建設應用體系。
(四)技術路線理解
銀聯金融私有云建設技術上堅持“基于業界領先的開源技術,自主研發基礎平臺”的策略。同時得到國家云計算示范工程項目,國家要求在項目中帶動國內產業鏈發展,與國內技術廠商合作,加強關鍵技術研發和產業化。普元信息技術股份有限公司是國家項目中推薦單位,在雙方溝通后,確立了私有云以及OpenStack聯合研究方式。
圖4:銀聯私有云平臺采用的自主開源技術策略
當前銀聯在金融生產環境率先應用了OpenStack、Xen、KVM、Linux、MySQL等開源軟件,并取得了良好效果,同時以金融終端為突破口,努力探索開源硬件的研究,以既有繼承又有創新的開源應用方式,站在開源技術最前沿。開源的應用使得平臺的功能不斷強大,成本得到節約,同時由于社區市場的活躍以及自主掌握能力的不斷提升,平臺相應及時能力得到了最大化的強化。
三、銀聯OpenStack架構
(一)OpenStack架構
OpenStack架構在銀聯主要歷經三大階段——起步階段、優化穩定階段、再創新階段,這三大階段也與OpenStack的成長息息相關。這一過程中,我們完善了基于OpenStack金融私有云服務能力,使得銀聯數據中心的所有服務器、存儲、網絡設備以及其他如數據庫等的基本計算資源集中統一管理,通過靜態模版配置和動態調度優化等功能為用戶提供整合的、高可用性的、可快速部署使用的IT基礎設施。
1. 起步階段
圖5:銀聯早期OpenStack架構
2012年建設初期,由于OpenStack開源項目尚處于起步期,銀聯OpenStack架構尚未發展成熟,但已經初具規模。
- 技術層面,主機使用Suse/Xen技術;網絡使用Flat網絡模式;存儲采用NAS與SAN的同時試點方案,以用作鏡像存儲空間;
- 能力層面,僅提供云主機服務及配套網絡服務。
- 業務層面,以創新業務為試點展開有關驗證工作。
2. 優化穩定階段
圖6:銀聯第二階段OpenStack架構
2013-2014年,由于業務方需求的大量涌現,單一架構已經不能滿足使用,同時在前期經驗的積累下,我對架構進行了優化調整。
- 技術層面,主機加入RedHat/KVM技術,采用異構模式;網絡進一步支持vlan模式;存儲引入Server SAN與NAS存儲方式形成不同等級的存儲池,而原本的SAN+OCFS2的技術方案因為成本以及可運維性均不理想,因此放棄。
- 能力層面,云主機服務與網絡服務優化,支持熱遷移等高級特性;存儲服務加入,向用戶提供不同等級的存儲池;管理節點高可用,提升云平臺可用性和可靠性;多區域聯合調度能力加入,使得我們支持服務器規模至少可以上萬臺;規模的快速擴展,傳統監控無法滿足日益增長的監控需求,也配套了相關云監控服務。
- 業務層面,關鍵系統,如互聯網支付、移動支付等業務已經全面使用云環境。
架構調整后,技術層面和能力層面都全面提升,自此銀聯金融私有云生產環境步入穩定階段。
3. 再創新階段
圖7:銀聯第三階段OpenStack架構
當前,云計算技術的發展亦進入了新的階段,為更好的完善銀聯云計算平臺能力,我們也逐步開始應用一些更具有前瞻性的技術方案。首先我們自主研發了彈性數據庫能力,較OpenStack社區版本領先完善,實現了統一的MySQL服務能力的快速交付和運維的便利化管理,并可支持百臺級物理數據庫服務器管理,功能包括支持多租戶的MySQL單機/高可用/讀寫分離架構的自動化創建、支持數據庫訪問安全、數據庫物理資源調度和擴容、運維自動化(含備份、恢復、監控)。同時,我們也嘗試性地引入了SDN、混合云環境等技術方案,以構架能力更強,應用場景更廣泛的云基礎平臺。在這個階段,銀聯云平臺已不僅為銀聯自身內部服務,已逐步開始探索為合作機構提供相應服務模式的能力。
(二)五大能力
銀聯通過對OpenStack架構調整優化,不斷嘗試創新,逐步完善私有云能力,最終實現了彈性計算、彈性存儲、彈性網絡、彈性監控、彈性數據庫,五大核心能力。
1. 彈性計算—云主機
云主機是一種簡單高效、處理能力可彈性伸縮的計算服務,應用該服務可快速構建更穩定、安全的應用系統,并有效提升運維效率,降低IT成本,使建設者更聚焦于核心業務創新。
2. 彈性存儲—云存儲
云存儲服務對外提供安全和高可靠的存儲資源。其支持NFS與iscsi等標準存儲協議,容量和處理能力可以彈性擴展,存儲可靠性達到99.999%。
3. 彈性網絡—云網絡
云網絡服務構建了一個安全的云平臺網絡環境,通過云平臺管理系統可以完全掌握銀聯金融私有云平臺網絡資源,包括選擇自有IP 地址范圍、劃分網段等。此外也可以通過互聯網/專線/VPN等連接方式連接至銀聯私有云平臺。
4. 彈性監控—云監控
云監控是一個開放性的監控平臺,云監控與傳統監控不同,為監控其他彈性能力,云監控也必須是彈性的。云監控可實時以全自動化的方式監控銀聯云平臺內的各種資源,并提供多種告警方式(短信,郵件)以保證及時預警,為應用的正常運行保駕護航。
5. 彈性數據庫—云數據庫
云數據庫是構建在企業級SAN存儲以及針對金融行業要求的數據庫容器之上的高性能數據庫服務,目前支持MySQL協議的關系型數據庫服務,支持主從/主主兩種雙機熱備架構,具有多重安全防護措施和完善的性能監控體系,并提供專業的數據庫備份、恢復及優化方案,使數據庫不再成為應用開發和業務發展的瓶頸點。
四、銀聯OpenStack關鍵技術攻關
(一)關鍵技術攻關
為使OpenStack有效支撐業務與應用的發展,我們同樣就異構資源支持、云高可用、熱遷移、自動伸縮、數據庫與SAN自動化等核心技術進行了研究與攻關,這些技術的成功突破與生產應用是平臺穩定運行的基石。
1. 異構資源支持
銀聯云平臺支持多個層面異構資源:一是虛擬化異構支持,包括Xen/KVM異構模式支持;二是存儲異構支持,包括異構種類存儲NAS、SAN、分布式存儲;三是網絡模式異構支持,包括Flat、Vlan及SDN模式同時支持;最后是廠商設備異構支持。
2. 云高可用與資源熱遷移技術
銀聯云平臺所承載的銀行卡業務要求強業務連續性,任何業務中斷將帶來不可估量的經濟損失。為降低計劃外宕機風險,我們自主研發了高可用機制,以及資源熱遷移技術。云高可用機制保證業務7×24小時不間斷運行,資源熱遷移技術促進資源高效運維,保證底層設備的停機維護不影響業務的生產運行。
我們深入研究云主機高可用,最終形成自研OpenStack組件nova-ha,融入銀聯OpenStack體系,進行云主機的高可用性管理,通過多重手段檢測物理機及虛擬機的狀態,防止誤判、腦裂、滯后處理等異常狀況。當計算節點物理服務器或云主機出現問題時,nova-ha組件可以達到秒級響應,診斷、遷移、恢復故障云主機。
3. 自動伸縮技術
目前銀聯面向互聯網渠道的營銷活動中,經常遇到業務突發增長的情況,自動伸縮技術通過精密地檢測資源的使用情況(具體可包括CPU、內存等各項指標),并通過復雜事件處理技術實現精確的伸縮預判決策,并通過標準的資源伸縮接口實現應用的按需伸縮擴展,從而有效地應對業務快速增長。
4. 數據庫及SAN自動化技術
數據庫及相應存儲的自動化部署一直是云技術的瓶頸,如何實現數據庫在同一臺物理機的多實例部署,并保證計算、存儲和網絡安全隔離,如何使得SAN能夠靈活地自動配置以適應數據庫的彈性需要是本技術的核心課題。通過本技術,將徹底解決數據庫及SAN的自動化應用能力問題。
五、銀聯OpenStack實踐
(一)功能優化
1. 新功能定制
銀聯2012年便在生產應用Openstack,就當時而言Openstack功能體系還處于待完善階段。因此我們針對當時選擇的虛擬化技術XEN的支持進行各功能的完善,包括熱遷移、熱備份、熱配置升級、高可用等數十項功能,其中諸如XEN熱配置縮減等功能可能在最新版的OpenStack仍未支持。
2. 管理組件高可用
銀聯OpenStack管理高可用使用PaceMaker架構構建。構建高可用時需要關注兩個重要指標宕機時間RTO、數據恢復點RPO。銀聯云平臺可以達到故障分鐘級切換。
3. 安全漏洞修復
開源軟件可能存在安全漏洞,經過我們的檢測,亦發現OpenStack存在默認安裝環境下諸如訪問權限修改等相應安全風險,為此我們逐一進行了相應修正。
4. 云審計
除了在云平臺事先、事中過程進行有關機制研發,我們在云平臺事后審計方面,也做了大量工作。我們自研了云審計系統,通過其完善的計算、網絡、存儲審計功能可以發現云平臺的各類不合規的操作。
(二)問題規避
1.?OpenStack網絡問題規避
OpenStack網絡模式分nova-network及neutron,早期neutron項目不成熟。我們為規避技術風險,使用更成熟、穩定的nova-network,并且規避當初不成熟的mulit_host功能,直接將網關收斂在物理設備上。這有性能、可靠性、穩定性有保證,也能很好地擴展。
2.?OpenStack缺陷問題規避
開源項目的缺陷較多,OpenStack官網公布了許多還未解決的缺陷,為避免缺陷的影響性,我們嚴格根據自由設計應用場景的需求,制定了2697個測試用例,覆蓋云平臺高可靠、高可用、高安全、高性能、高效率等各個層次,通過合理的測試設計,以保證在使用范圍內的平臺強健壯性。
(三)配套設計
1. 虛擬化類型
圖8:常用的虛擬化類型有三種
如圖所示,虛擬化類型其實是多種多樣的,一般常用的虛擬化類型有三種:
- 類虛擬化(PV——Para Virtualization)
- 全虛擬化(FV——Full Virtualization或HVM——Hardware assisted Virtualization)
- 混合模式(PV on HVM)
綜合考慮性能與穩定性等因素,銀聯選擇PV on HVM模式即,KVM結合virtio驅動使用,Xen結合netfront/netbackend驅動使用。
2. 超配設計(overcommit)
超配可以有效提高資源利用率,但其也可能存儲系統穩定風險。因此,我們在私有云生產環境不采用資源超配技術,以保證金融云的可靠性,但在研發測試云環境,為有效利用資源,CPU超配比率為1:3,內存超配比是1:1.5,存儲使用精簡配置。
3. 虛擬化比例與服務器選型
銀聯生產云虛擬化比例設置為1:5,即一臺物理機上線承載虛擬機數量為5,其主要考慮因素是X86服務器故障率相較小型機高,在其出現故障時,其運維影響性可控制在一定范圍內。同時基于銀聯內部生產網絡的套餐模式,我們物理服務器主要選擇1U 16核32G和2U 32核64G物理服務器,硬盤均選擇300G SAS盤。
4. 時鐘同步
由于Hypervisor技術限制,模擬出來的虛擬機時鐘總是比物理機快,當長時間的量變積累會產生質變,這一缺陷,對時間敏感、精度要求高的交易類系統是非常致命的。一般在生產環境,會在數據中心搭建NTP Server同步時間,但這仍然不能解決本質問題。銀聯使用銫原子鐘及北斗衛星徹底保障虛擬機時鐘同步。
(四)OpenStack升級的考慮
隨著云平臺的發展,我們認為OpenStack升級需求必不可少。但為了更好地便于在生產環境做好穩定升級工作,Openstack的應用必須具備以下兩種能力:
一是必須具備多版本異構使用模式,即Openstack各版本可以異構混合使用,當單個OpenStack組件升級時可以使用整體平臺異構版本模式,基于兼容API進行支撐單個組件版本升級,無需更新平臺所有OpenStack組件。
二是基于OpenStack內核代碼的定制化開發必須以弱耦合度方式開展,即通過插件化方式開發,盡量派生、繼承類進行修改,不對社區代碼邏輯做侵入式修改,從而降低整體升級成本。
六、總結
截至2014年底,銀聯私有云平臺的能力已初步具備,可以面向銀聯體系的各級單位提供有效的彈性云能力服務。進入2015年,銀聯私有云演進方向進一步聚焦于混合云模式的發展,其一可以進一步完善對內服務能力支撐,其二可以更有效地將銀聯金融私有云的研究成果輻射于金融行業,將銀聯的云成果以能力輸出、技術輸出的方式服務于產業合作伙伴。(編輯/郭雪梅)
作者介紹:
祖立軍,畢業于同濟大學信號與信息處理專業,工學碩士,就職于中國銀聯電子支付研究、電子支付與電子商務國家工程實驗室,中國銀聯技術委員會專家,長期從事金融信息工程領域研究工作,專注于金融端云一體化信系統建設。負責建成中國銀聯云計算平臺(虛擬化),2012年便在生產環境應用Openstack,承擔國家云計算示范工程項目,對金融企業云計算應用具有深刻理解,關注軟件定義網絡、軟件定義存儲、云間互聯等前瞻性技術。曾獲國家科技進步二等獎1次,上海市科學技術一等獎1次,銀行科技發展一等獎1次,申請專利16項,發表學術論文12篇。?
總結
以上是生活随笔為你收集整理的银联基于OpenStack的金融私有云建设实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 想开网店?向你推荐最好的开源电子商务平台
- 下一篇: 覆盖你 80 % 网络生活的,竟是这样一