[摘 要] 由于市場上主流硬件品牌技術路線不一,各有所長,為大型應用系統相關硬件的選型工作帶來了困難。本文提供一套工作思路,從大型應用系統的特點入手,分析如何進行有效的選型工作,從而采購高性價比的硬件設備。
[關鍵詞] 應用系統; 硬件選型
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2011 . 10 . 032
[中圖分類號]F270.7;TP315 [文獻標識碼]A [文章編號]1673 - 0194(2011)10- 0055- 03
0引言
大型應用系統(以下簡稱應用系統)硬件平臺是支撐應用系統運行的核心基礎設施,主要包括高性能服務器、高容量存儲設備和其他相關軟硬件設備。其中,高性能服務器用于提供快速、可靠的計算,高容量存儲設備用于容納存儲相關數據。硬件平臺性能的好壞將直接影響到應用系統的運行效果。
由于該類應用系統通常采用數據集中的方式部署,通常在總部機房放置相關硬件設備。應用系統相關數據全部集中在總部,所屬企業通過網絡使用該系統,有利于總部增強對所屬企業的管控力度,及時掌握經營狀況。隨著公司的發展,該系統將承載日益增大的負載和保存日益增多的數據,必須為該系統搭建性能優良的硬件平臺,以保障該系統高效、穩定和安全地運行。本文闡述在此前提下的相關選型工作。
應用系統建設初期,需要將各類原始數據錄入系統,類似OLTP系統,此時要求硬件平臺有較強的事務處理能力;建設中后期,更多側重于數據挖掘和分析,類似于OLAP系統,此時要求硬件平臺有較快的數據分析能力,而業界建議5年更換新的硬件設備。故應用系統的硬件平臺需要兼顧應用系統的深入應用情況,并滿足未來3~5年的需求。
1選型原則
由于應用系統的復雜性和特殊性,對于其硬件平臺設計需要采用如下的原則:統一規劃、高可用性、高擴展性、高安全性、高可維護性和合適性價比。
統一規劃:明確應用系統在規劃期內的規模,對整個應用系統的模塊、用戶、流程進行分析,確定總體需求,從而定義出其硬件平臺對應的架構和配置。
高可用性:要求硬件平臺具有單點失效保護,能夠實現故障預警、報警,具有良好的故障應急處理能力。如在出現有限個數的服務器、磁盤、存儲設備或交換機故障等情況下,系統可以繼續運行,不影響業務處理。
高擴展性:由于應用系統建設是一個長期持續的過程,日后隨著公司規模擴大和業務量的增長,用戶數可能會超出預期,當硬件平臺的處理能力不夠時,要求可以在原有架構的基礎上實現靈活擴展。硬件平臺的擴展性主要分成兩類:縱向擴展和橫向擴展。縱向擴展是指通過增加硬件設備的CPU、內存、通道和板卡等資源來提高原有設備的處理能力;橫向擴展是指通過購買新的設備和原有設備并行工作,通過負載分擔來實現處理能力擴展。
高安全性:能夠實現良好的信息安全能力,能夠應用靈活的安全策略,如對不同用途的服務器進行安全分區以實現不同程度的隔離等。
高可維護性:維護便捷簡單,盡量減少宕機時間,特別是減少進行故障修復、系統擴展和變更時的宕機時間,能夠提供友好、全面的監控工具。
合適性價比:在滿足需求并符合上述原則的前提下,良好的性價比是關鍵。各家硬件各有所長,關鍵是需要關注滿足應用系統需求的技術,而不是一味追求先進技術,只要能解決主要問題,滿足需求和原則,有合適的價格,就可以著重考慮。
2應用系統硬件平臺主要構成
應用系統硬件平臺分為:服務器、存儲和網絡。
服務器:主要包括應用服務器、數據庫服務器和管理服務器。應用服務器一般為小型機或者PC Server,用于運行應用系統的應用程序,這些程序至少冗余部署在兩臺機器上;數據庫服務器一般為小型機,通常以RAC或其他集群方式運行數據庫程序,也建議至少冗余部署在兩臺機器上;其他管理服務器一般為PC Server,用來運行輔助系統(如備份管理系統、監控運維系統、ETL系統)等。為簡單起見,這里不討論管理服務器。
存儲:是指磁盤陣列和帶庫,通常與服務器分開部署,通過SAN或其他方式將存儲資源在不同的服務器和應用之間共享,通常還需配置備份和存儲管理軟件,對存儲資源進行統一管理,以提高存儲使用效果。
網絡:負責將應用系統中的服務器和存儲進行互聯,一般通過交叉互聯、安全分區和共享技術等實現安全的高可用網絡,這種網絡互聯方式應用很普遍,而且具有很好的性價比。
3主流架構介紹
實際應用中,應用系統將部署4套系統:生產系統、開發系統、測試系統和培訓系統。
應用系統硬件平臺主流的架構主要有兩種:集中式架構和分布式架構。
兩種架構的差別主要在于生產系統中應用系統的部署方式不同。集中式架構是指將生產系統的應用服務器和數據庫服務器通過分區技術部署在同一臺物理主機上;而分布式架構是指將生產系統中應用系統的應用服務器和數據庫服務器部署在兩臺物理主機上。其他設備的部署方式在兩種架構中均一致。
下面通過拓撲圖來詳細介紹這兩種架構。
3.1集中式架構
將生產系統的應用服務器和數據庫服務器通過分區技術部署在同一臺物理主機上。同時,為實現單點故障可用性保護,為生產系統中部署至少兩臺服務器,每臺做兩個分區,分別作為應用服務器和數據庫服務器。如圖1所示。
其中,生產系統區中包含應用系統和輔助系統的生產環境,部署兩臺(或多臺)服務器,每臺做兩個分區,分別作為應用服務器和數據庫服務器,兩臺服務器之間做到負載均衡和單點失效恢復;輔助系統也是部署兩臺(或多臺)服務器。
開發、測試、培訓系統中也包含應用系統和輔助系統,建議3個系統部署一套服務器,以節約成本,有條件的情況下可以和生產環境部署一樣。
其他系統服務器區部署備份管理系統、監控和維護系統、ETL系統等。
存儲區中包括一個存儲陣列和一個帶庫。
網絡設備包括:兩臺(或多臺)負載均衡設備和兩臺(或多臺)光纖交換機。
3.2分布式架構
將生產系統的應用服務器和數據庫服務器分別部署在不同物理主機上。同時,為實現單點故障可用性保護,在生產系統中部署至少4臺服務器,兩臺作為應用服務器,另兩臺作為數據庫服務器。如圖2所示。
其中,生產系統區中包含生產系統和輔助系統。在生產系統中部署4臺服務器,兩臺作為應用服務器,另兩臺作為數據庫服務器,應用服務器兩臺服務器之間、數據庫服務器兩臺服務器之間實現負載均衡和單點失效保護。
其他配置與集中式部署一樣。
4兩種主流架構對比
4.1優缺點分析
兩種架構的差別在于生產系統的部署方式不同。
4.1.1集中式架構
生產系統部署兩臺高性能服務器,每臺服務器均通過分區技術分別部署應用服務器和數據庫服務器,然后實現兩臺服務器間的單點失效保護。
(1) 集中式架構優點
架構簡單,易于部署:在不同分區之間共享、靈活分配硬件資源,實現統一管理,節約物理空間。
服務器數量少,易于維護:生產系統只有兩臺服務器,通常有專門的工具輔助管理。
縱向擴容能力強:服務器通常為中高端高性能機器,通常可以滿足需求。
(2) 集中式架構缺點
低宕機可用性:理論上宕機可用性僅為 50%;當一臺機器發生整機故障時,應用將只能得到50%的處理能力。如果故障由影響整機容錯能力的關鍵設備(如系統板、獨立的IO通道等)引起,可能引起整機故障。同時,分區的方式增加了設備資源的耦合度,容易引發整機或者多分區故障。
擴展能力有限:可以通過增加CPU、內存等縱向擴展的方式增強機器的處理能力,但若機器已經滿配,通常需要購買對等配置的機器,成本較高。同時,服務器更新換代很快,日后可能購買不到同樣型號的CPU或其他配件,故擴展能力有限。
安全性有限:不能將充當應用服務器和數據庫服務器的各分區通過網絡物理隔離開來,若黑客攻擊到物理服務器,則會對所有分區形成威脅,進而對核心業務數據安全形成威脅。
性價比低:中高端高性能服務器的價格昂貴。
4.1.2分布式架構
生產系統部署4臺服務器,將應用服務器和數據庫服務器分離部署,各自部署兩臺,兩兩互為備份。
(1) 分布式架構優點
極高的單點失效恢復能力:4臺服務器任何一臺機器發生故障,另3臺機器可以正常工作,系統的宕機可用性為75%,系統還可以得到75%的處理能力。
高擴展性:可以根據不同情況有針對性地增強處理能力。當數據庫服務器壓力增大的時候,可以僅針對數據庫服務器進行縱向或者橫向擴展。輕松滿足系統由OLTP向OLAP轉換。
高安全性:可以通過網絡實現安全分區,將應用服務器和數據庫服務器隔離開來,即使黑客可以攻擊到應用服務器,也無法對核心業務數據安全形成直接威脅,除非繼續攻破下一道安全屏障,到達數據庫服務器區域。
高性價比:該架構的服務器相對集中式架構的配置可以低一個檔次,在保證同樣處理能力的前提下,總體價格也要低。
(2) 分布式架構缺點
架構相對復雜:由于實現了服務器分離,需要增加一些管理服務器。生產系統至少有4臺服務器,系統剛開始運行時,對管理員的要求相對稍高一些。
4.2價格分析
分布式架構下的服務器數目比集中式架構下的多兩臺。因為分布式架構將生產系統的處理能力分散到4臺服務器中,而集中式架構將生產系統的處理能力分散到兩臺服務器中。故在考慮選型時,分布式架構的服務器型號可以比集中式架構的服務器的型號或配置低一些。
根據市場上各家主流廠商的報價情況,分布式架構方式的成本普遍比集中式架構方式低廉。
4.3綜合分析
綜上所述,兩種架構優缺點對比如表1所示。
相對而言,在集中式架構中,可用性、擴展性、安全性和性價比低,而維護性高。其中該架構中的服務器通常配置專門的維護工具,故易于維護,但從整個架構上來看,其維護性并未有顯著提高,只是降低了對管理員操作水平的初始要求。而在分布式架構中,可用性、擴展性、安全性、性價比均相對較高。而維護性由于架構的相對復雜而略有下降,如果在系統上線初期,配備了具有一定操作水平的管理員或者有實施公司良好的技術支持,這個缺點是容易克服的。
綜合而言,分布式架構的綜合優勢強于集中式架構。而且,分布式架構是業界的主流,在各類企業中得到廣泛應用。推薦盡量采用分布式架構來搭建系統硬件平臺。當然,具體采用何種架構需要綜合考慮應用系統的技術、業務特征、硬件基礎設施和人員素質等因素。
5確定關鍵指標
由于各硬件的技術特征不盡相同,需要結合應用系統的具體需求,考察和對比各家硬件設備。然后反復權衡各家的技術特點,仔細推敲各類設備的關鍵技術指標,以求能夠以高性價比采購到滿足需求的各類硬件,搭建性能優良的應用系統硬件平臺。