1 引言
傳統電信企業的系統建設過程中,由于需求變化快速、系統數量巨大,系統建設往往按照各自應用需求來評估、采購、建設、維護各個應用獨立的主機、存儲、網絡、數據庫、應用服務器等資源,從而導致了豎井式或煙囪式的多套獨立的系統,這種建設方式帶來了大量的問題。
·項目建設周期漫長,難以快速滿足市場需求。
·購買了大量不需要的處理能力。系統前期很難準確估算業務量和需要采用怎樣的數據庫資源支撐,導致某些系統的數據庫長期處于非常空閑的狀態,浪費了投資。
·缺乏集中管理和安全性保護。由于每個系統獨立建設,每個系統的可用性、安全性都依賴于SI單獨實現,規劃復雜,實施難度大,導致較大的系統管理和安全性漏洞。
·難以隨著業務需求的變化調整數據庫資源。存在平時大量資源利用率普遍偏低和業務高峰值時資源不足的矛盾。例如,在中國移動通信集團公司某分公司負責建設和運維的增值業務中,有數十個獨立的數據庫平臺,“139說客”的核心數據庫服務器的平均CPU負荷長期在60%以上,而峰值可以長達24h超過90%,帶來了很大的系統運行質量的隱患。也可能由于負荷高影響了業務響應時間,導致客戶感受的受損。反之,也有不少數據庫主機長期平均負荷在5%PA下,甚至持續看不到任何負載,造成了投資上的浪費。
因此,亟需打破原來這種煙囪式的建設方式,隨著云計算技術的逐漸成熟和完善,通過云計算技術實現系統資源的共享、動態調整和按需分配,成為電信企業未來主要的探索方向。計算基礎設施的發展如圖1所示。
從電信企業系統運行情況來看,其核心的服務器和存儲資源的50%1:A上是作為數據庫平臺部署的,所以如何實現電信級對數據庫云平臺的靈活部署,既可以實現“大分小”式,又可以實現“小合大”式的應用部署,對電信企業運營商而言極為重要。
圖1 計算基礎設施的發展
2 云計算背景知識
2.1云計算概念
NIST對云計算的定義:云計算模型能以按需方式,通過網絡方便地訪問云系統的可配置計算資源共享池(如網絡、服務器、存儲、應用程序和服務),同時以最少的管理開銷及與供應商的交互,迅速配置提供或釋放資源。
云計算是網格計算(grid computing)、分布式計算(distributed computing)、并行計算(paraUel computing)、效用計算(utility computing)、網絡存儲技術(network storagetechnology)、虛擬化(virtualization)、負載均衡(10adbalance)等傳統計算機和網絡技術發展融合的產物。
2.2云計算的服務模式
云計算是以服務的形式提供IT化能力。云計算所提供的服務形式可以分為IaaS(infrastructure as a service)、PaaS(platform 8.8 a service)、SaaS(softwal'e as a service),如圖2所示。
IaaS主要關注基礎設施(即硬件)虛擬化、資源共享、資源調配等硬件服務能力的提供,如果面向系統建設考慮,仍然需要進一步部署相應的平臺軟件(數據庫、中間件等)和應用軟件,所以IaaS層提供的云服務管理粒度只在硬件層面,對平臺軟件和應用軟件的部署和管理幾乎沒有涉及。
圖2云計算的3種服務模式
在提供云服務的過程中,硬件作為基礎設施層,仍然需要承載平臺和應用軟件能力,所以大部分企業更多地關注業務層面的平臺軟件方面的服務化,即PaaS層服務能力。IOUG對企業客戶云計算服務的關注調查如圖3所示。
PaaS層主要關注提供平臺軟件的服務能力(如數據庫、中間件等),所以實現PaaS層服務模式,可以有兩種技術選擇:一種是基于laaS層提供的硬件基礎設施,再通過PaaS管理平臺來部署和管理平臺軟件服務:另一種是直接通過一體化的解決方案來實現軟、硬件的統一管理、部署、資源分配和回收。前一種方式存在管理的復雜性、兼容性問題,甚至還可能存在嚴重的性能瓶頸和整體運行風險的問題。如中國移動通信集團公司廣東分公司(以下簡稱廣東移動)在基于x86服務器上通過虛擬化技術來實現Iaas層資源池,再部署Oracle數據庫和業務應用,通過實際測試發現,性能損耗超過40%,而且還存在OracleRAC數據庫沒有在VMWare平臺得到廠商官方支持的問題,一旦遇到系統問題,診斷、解決時都存在很大的潛在運行風險。
圖3 IOUG對企業客戶云計算服務的關注調查
通過軟硬件一體化PaaS層云服務。形成共享資源池,同時提供平臺級軟件能力,然后按照各個應用需求在PaaS資源池中申請硬件資源、獲得軟件服務的方式,不斷部署不同的業務應用,實現系統的集中化整合。這樣可以有效節省計算和存儲資源、機房空間、耗電和配套設施、人力維護成本,提高系統的可靠性、擴展能力、計算能力,避免出現業務要求和系統支撐能力不匹配的問題。
3 電信級數據庫云平臺理想架構和最佳實踐
3.1 電信級PaaS數據庫云平臺的理想架構
根據以上分析,從效率、管理、集成、兼容性角度來看,實現數據庫云平臺的最佳方式是軟、硬件一體化PaaS平臺解決方案。而PaaS云一體化解決方案需要從4個主要方面考慮。
·構建可不斷堆疊、可線性擴展、分布式的服務器資源池:
·構建可不斷堆疊、可線性擴展、分布式的存儲資源池:
·構建服務器與服務器之間、服務器與存儲之間的高速互聯網絡:
·構建軟硬一體化、統一的云管理和云治理平臺。
由于在電信系統中,數據庫呈現多元化和混合型特點。既有大量的小規模數據庫,如增值業務系統、政企客戶系統等,也有很多超大規模數據庫,如計費、CRM、話務網管等;既有OLTP為主的系統,如CRM、呼叫中心等,也有很多以OLAP型為主的系統,如數據倉庫、數據集市等,還有很多OLTP和OLAP混合型系統,如結算、賬務、網管等,既有以本地區為主導的系統,又有全國型集中化的系統。所以對數據庫云平臺的要求也呈現出一定的電信級要求。
·靈活的資源分配和管理能力,可以同時支持“大分小”和“小合大”兩類要求。
·混合型數據庫架構,既可以支持“數據庫集群”型的OLTP交易,又可以支持“數據庫集群”型的OLAP處理。
·極高的處理性能,保證數據庫云平臺可以支撐大量數據庫應用。
·極高的擴展能力,保證數據庫云平臺可以不斷地線性擴展。
·極高的可靠性,保證業務的連續性。
·高性價比、低能耗。
·完善、統一、可視化的管理能力。
滿足電信級數據庫PaaS云平臺要求的理想架構,需要軟件和硬件的有機結合來構成,每個組成部分既需要硬件能力,也需要軟件特性配合來實現整體目標。
3.1.1計算資源池
從硬件來看,這一部分是運行數據庫的主要部分,需要實現低成本化堆疊、分布式網格計算能力,所以需要多服務器、多CPU協同、網格集群化的運行環境。為了實現這個目標,利用低成本的x86架構的多服務器堆疊,配合共享磁盤架構數據庫集群是最理想的架構,因為多臺x86架構可以提供低成本、快速的擴展能力,但與小型機相比。x86架構的可靠性不夠,可以通過共享磁盤架構的數據庫集群來提高整體運行的可靠性,同時能夠發揮多服務器的分布式并行處理能力。
從軟件來看。計算資源池要求能夠對資源進行靈活的分配和管理,既可以將一個服務器的部分資源分配給一個特定應用,即“大分小”,也可以將多個服務器資源整合成為一個應用。即“小合大”。同時還能夠在資源池內部和外部按照需要動態調整原有分配的資源關系,EtCH隨需增加或減少一個應用服務所占的CPU、內存等。
3.1.2存儲資源池
從硬件來看,作為數據庫的存儲部分,具備低成本、分布式并行特點,可以通過多個小的存儲單元堆疊方式不斷地進行線性擴展,構成大規模存儲資源池:同時作為數據庫存儲,需要具備大容量的多級緩存機制,使得數據庫中的熱點數據可以通過緩存來提高處理性能;另外隨著數據量的不斷增加,存儲單元需要具備足夠的CPU和計算能力,參與到數據的預處理過程中來,以減輕數據庫服務器所需處理的數據量。
從軟件來看,由于電信企業數據規模的不斷增加,特別是網絡運維應用包含大量的網元數據,需要存儲具備較高的數據壓縮比,以節省存儲空間,另外存儲側可以通過并行化的方式對數據進行預分揀和預過濾,提高數據的處理效率。
3.1.3網絡互聯
在數據庫云平臺方面,需要采用大量的主機集群及存儲集群,為了讓這些集群能夠發揮最佳的效果,必須使用效率最高的內部網絡把它們連接起來,目前比較成熟的網絡技術主要有萬兆以太網以及Infiniteband,如圖4所示。這兩種技術都可以提供高速的內部連接,用來實現主機之間的集群連接、存儲單元之間的互聯以及主機到存儲單元之間的數據連接。
圖4 網絡互聯技術
3.2符合電信級PaaS數據庫云平臺要求的最佳實踐
從目前實踐來看,要符合電信級數據庫PaaS云平臺的要求,Oracle的Exadata數據庫云服務器是一個理想選擇。
3.2.1分布式服務器資源池
Exadata數據庫云服務器可以通過整合多服務器的計算資源,形成一個巨大的資源池,許多不同的數據庫可運行于同一Exadata數據庫機器上。
DB服務器通過共享配置方式使不同數據庫應用運行在指定的資源范圍內,可以通過Service的方式實現數據庫服務的虛擬化,應用以Service的方式連接并運行于一個或多個動態的數據庫節點上,可以動態地增長、回收和移動。通過Service虛捌化可以實現“大分小”和“小合大”的虛擬化應用。
·大型數據庫可通過RAC技術跨越多個物理節點;
·多個小型數據庫可以通過共享運行于同一個物理節點。
對于多個數據庫運行于同一節點的情況,實例綁定(instance caging)技術提供可預知的CPU核心資源,可限制數據庫運行于特定的處理器的子集上,如圖5所示。
通過數據庫虛擬化和整合多應用數據庫于Exadata數據庫云平臺,可以使得各個應用數據庫的資源利用率得到有效的整合和提升,以節省更多的主機、存儲、機房、軟件License等資源。
如企業有3個主要應用在數據庫云平臺運行,3類應用分別以Sales App、ERP App和HR App表示,如圖6所示。數據庫云平臺可以分別給3類應用構建服務器資源池(server poo1)和空閑資源池(free pod),3類應用分別通過相應的數據庫服務接口連接Exadata數據庫云平臺。根據實際業務需求,銷售部門應用需要持續地使用較多的數據庫云資源,數據請求需要優先得到滿足。ERP類應用對數據庫云資源的需求彈性較大,隨商務周期可能會有所變動,同時數據請求的優先級較銷售部門低。HR類應用對數據庫云資源需求相對固定,且所需的資源最少,數據請求的優先級最低。Exadata數據庫云平臺可以按照每類應用對資源的需求進行管理和動態供應。
在ExadaIa數據庫云服務器中,不同應用數據庫部署在多個數據庫服務器集群中,當應用負載和請求增長時,原有計算資源不足以滿足要求,服務質量會下降(預定義策略),數據庫服務可以在數據庫云平臺中動態擴展到資源空閑的服務器中運行,提高該服務的服務質量。
3.2.2分布式存儲資源池
Exadata數據庫云服務器本身就集成了ASM(自動存儲管理)的存儲管理功能,用來實現存儲的虛擬化、高擴展、高可靠的特點。
通過Oracle ASM進行存儲虛擬化后,不但可以實現存儲的性能水平擴展,而且可以實現存儲的高可用、自管理能力。加入ASM管理的存儲可以劃分為不同的磁盤組,當數據存儲在磁盤組中時,數據會均勻分布到磁盤組的各個存儲單元,實現數據均勻分布,當磁盤組中增加或減少存儲單元數量時,數據會被動態地重新分布,避免出現任何的熱點磁盤。
圖5 實例綁定技術
圖6 數據庫云平臺的3類應用
圖7 智能存儲技術的處理
Exadma將數據庫計算分成計算密集型處理和存儲密集型處理,分別在DB服務器和存儲服務器完成。采用智能存儲技術(Smart Scan),實現了存儲層完全并發式、智能化的預處理,提高了數據的處理效率,并降低了DB服務器的處理負擔,如圖7所示。
3.2.3高性能互聯網絡
Omcle Exadata Stora鼯在服務器和存儲之間使用了Intlniband互連。Exadala單元具有高可用性的雙端口4倍數據速率(QDR)Intlniband連接。每個Intlniband連接提供了40 GB的帶寬,高于傳統存儲或服務器網絡許多倍。而且Oracle的互連協議使用直接內存訪問(DMA),直接將數據從線纜轉移到數據庫緩存,沒有額外的數據拷貝,以確保極低的CPU開銷。Infiniband網絡具有LAN網絡的靈活性和SAN的高效性,使用InfimBand網絡后,Oracle可確保網絡不會成為性能瓶頸,其也為0racle數據庫真正應用集群節點提供了高性能集群互連。
3.2.4集中化、統一的云平臺管理
0mck Exadafa與Oracle企業管理器fEMl網格控制進行了集成,可輕松監視Exadata環境。在現有的EM系統中安裝Exadata插件后,可以監視Exadam Slorage Server上的統計信息和活動,并將事件和警報發送給管理員。EM系統與Exadata集成的優勢介紹如下。
·監視Oracle Exadata存儲;
·收集存儲配置和性能信息;
·根據閾值設置發出報警和警告;
·在歷史數據的基礎上提供豐富的現成量度和報表。
所有的功能用戶均期望可以配合使用Oracle企業管理器和Exadata。用戶可以使用EM界面輕松地管理Exadam環境和其他以往結合企業管理器使用的Oracle數據庫環境。DBA可以使用熟悉的EM界面來查看報表以確定Exadata系統的狀況并管理Exadata存儲的配置。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:企業級數據庫云平臺的建設與運維方案(上)