[摘 要] 由于市场上主流硬件品牌技术路线不一,各有所长,为大型应用系统相关硬件的选型工作带来了困难。本文提供一套工作思路,从大型应用系统的特点入手,分析如何进行有效的选型工作,从而采购高性价比的硬件设备。
[关键词] 应用系统; 硬件选型
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.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确定关键指标
由于各硬件的技术特征不尽相同,需要结合应用系统的具体需求,考察和对比各家硬件设备。然后反复权衡各家的技术特点,仔细推敲各类设备的关键技术指标,以求能够以高性价比采购到满足需求的各类硬件,搭建性能优良的应用系统硬件平台。