集群和负载均衡技术在GIS数据中心的应用研究

2013-04-07 07:46王良清
测绘通报 2013年8期
关键词:高可用性链路集群

王良清

(浙江省测绘资料档案馆,浙江杭州 310012)

一、引 言

浙江省地理空间数据交换和共享平台(以下简称“省交换平台”)已于2011年底投入试运行。其包括政务版和公众版2个互相逻辑隔离的系统,到2012年底已交换、整合、发布了涉及36个厅局的专题数据,并形成了900多个服务图层,服务数据总量超过13 TB。此类平台具有数据量大、现势性强、数据交换和共享部门多、多源空间数据整合处理复杂、要求具备高服务质量等特点。

捷克学者在研究中表明,网络地图服务(WMS)的服务质量通常包括用户请求等待时间、并发性、可用性和可操作性等关键指标,任何服务中断或关键数据丢失都会造成直接经济损失或信誉损害[1],因而地理信息服务系统必然存在高可用性(high availability)和负载均衡(load balancing)等技术需求。基于计算机集群技术,省交换平台设计和部署了链路负载均衡、服务器高可用集群和负载均衡集群等运行支持环境,以确保系统提供7×24 h不间断服务的质量(QoS)。

二、集群和负载均衡技术

计算机集群是一组互联的、能够高度紧密协同工作的计算机。在某种意义上,它们可以被看做是一台计算机[2]。计算机集群按功能和结构可分成高可用性集群、负载均衡集群、高性能计算(HPC)集群(一般用于科学计算)和网格计算4类[2-3]。省交换平台采用前两类,一是高可用性集群,即通过集成硬件和软件的容错性来实现整体服务的高可用,如果集群中某个节点发生了故障,则其将由另外节点代替;二是负载均衡集群,一般通过负载均衡器将业务的负载流量尽可能平均合理地分摊到集群各个节点。一般这两种集群会使用类似的技术,或同时具有高可用性与负载均衡的特点。

负载均衡是服务器集群的关键技术,其根据一定算法,把客户端请求自动分配给不同服务器,均衡服务器负载,以保证系统性能最优,并实现故障自动切换和失败转移[4]。负载均衡集群除具有高性能、高可用的优点之外,还便于横向扩展(scaleout),即在线增加节点而无需停止服务;而且具有对用户的透明性,客户端只需与一个强大的虚拟服务器交互,用户觉察不到部分服务器切入或切出的变化。负载均衡技术通常采用专门软件或硬件来实现。省交换平台同时采用F5负载均衡器和Oracle RAC软件两种方式。

三、系统架构

GIS数据中心一般需要两种以上的网络环境。省交换平台两种网络环境互相逻辑隔离,政务版以省电子政务外网(MPLS VPN2)为主,公众版以因特网为主,如图1所示。为满足两种系统网络服务的高可用性需求,省交换平台按照先进、成熟、实用原则,基于集群和负载均衡技术,配置了网络接入、负载均衡、服务器集群、存储备份、数据库管理和信息安全等100余台套IT设备。

图1 GIS数据中心集群系统架构图

1.多链路负载均衡

由图1可知,1台F5位于因特网出口,它带有链路控制器(LC),能实现多个ISP链路接入的负载均衡。这台F5通过LC的DNS解析功能给不同用户返回不同的DNS解析结果,这样就可根据一定的策略使电信/联通的不同用户从不同ISP线路访问站点。两条100 Mbps的光纤链路和公众服务专网(MPLS VPN1)链路,构建了多链路负载均衡,保障了在线服务和用户访问链路畅通稳定,满足了公众用户情况、峰值并发用户数及数据量等方面的实际需求。

2.高可用服务器集群

可用性是一个计算机系统可以使用时间的比率,目前计算机业界普遍接受用平均故障间隔时间(MTBF)和平均修复时间(MTTR)作为评价可用性的度量标准[5]。GIS数据中心可将多台服务器和光纤存域网(FC SAN)通过网络互联组成多个服务器集群。省交换平台高可用集群包括Oracle RAC和VMware HA,其最高可用水平可超过99.5%。

(1)Oracle RAC

为了应对空间数据量大、政府部门在线应用多和公众用户访问强度高等情况,可通过部署Oracle RAC构建高可用集群,并集中管理矢量数据。Oracle RAC高可用性的技术基础是故障转移(Failover),即集群中任何一个节点的故障都不会影响用户使用,连接到故障节点的用户会被自动转移到健康节点,而用户感觉不到这种切换[5]。这就是RAC采用的透明应用故障转移(TAF)技术。

省交换平台设计与部署了政务版和公众版两套矢量数据库服务器集群(Oracle RAC),RAC节点数均为4。

(2)VMware HA

VMware HA是VMware在企业应用环境中用来保障企业级应用的不间断运行需求所产生的一个组件。HA允许一个集群在资源许可的情况下,将出现故障的ESXi主机上面的虚拟机VM转移到其他的主机上启动运行。省交换平台政务版和公众版各利用两台刀片机(CPU 4×8核,内存128 GB)构建自己的VMware高可用集群环境,部署包括主备域控、网管、杀毒、地图审核、密钥管理、数据入库、测试或临时使用等数十个VM,并按各自需求分配CPU和内存等相应资源。VMware HA有力保障了这些VM的可用性。

3.负载均衡服务器集群

服务器负载均衡是利用负载在两个或多个服务器间进行分发的技术获得优化的资源利用、最优吞吐量、最小反应时间,避免过载[6]。在省交换平台负载均衡集群内,每台服务器都提供相同或相似的地理信息服务,位于服务器集群前端的1台负载均衡器(F5 LTM),负责根据均衡策略将用户请求在服务器集群中分发,为用户提供高效的并行服务,并对服务器可用性进行维护。

F5负载均衡集群包括以下元素:① 虚拟服务器(VS),侦听并管理流量,负责分发各种服务请求到服务器池中的成员;② VIP,即VS对外提供的虚拟IP地址;③ 服务器池及其成员,VS可拥有多个服务器池,而每个服务器池可拥有由IP地址及其端口号构成的多个成员,各成员负责响应和处理各种服务请求;④节点,仅指IP地址。

F5 LTM包含静态(如轮询、比率)和动态负载均衡方法,包括动态速率、最少连接和观察模式的动态平衡,这些方法用于以整体方式跟踪服务器的动态性能。省交换平台负载均衡集群目前主要采用最少连接算法。

(1)Web应用服务器集群

省级GIS数据中心需要为影像(瓦片)服务、矢量服务和门户服务等提供Web应用服务器集群。集群内的各个节点软硬件配置基本相同,且运行相同或相似的应用。省交换平台Web应用服务器集群由6台服务器组成,每台服务器装有WebLogic、ArcGIS Server、门户(KBPortal)和OGC服务等。政务版现只需提供6个服务端口,故在F5 LTM上建立了6个相应的虚拟服务器;而另一台F5上建立的30个虚拟服务器满足了公众版现有3条服务链路各10个服务端口的需求。

政务和公众环境各配置1台F5 LTM。政务版应用服务器集群的所有服务器连接到核心交换机,当接收到一个服务请求时,F5 LTM根据策略决定最优的服务器池成员并予以响应。请求的结果从选定的服务器池成员返回到F5,并经由VIP地址转发出去。

①负载均衡策略

F5可对流量和内容进行有效的管理和分配,其提供了12种灵活算法将数据流有效转发到所连服务器集群,用户只需登录到1台虚拟服务器,数据流即被F5灵活均衡地分配到服务器集群中。笔者主要采用最少连接算法,即将请求发给集群中当时连接数最少的服务器,当其中某个服务器发生故障时,F5就将其从队列中剔除,不参加下一次比较,直至恢复正常。由于平台身份验证系统需要客户端和验证服务器之间进行多次交互,因此必须将用户请求持续分发到同一个服务器进行验证才可完成,这就要启用F5基于源地址的会话保持功能。若无需会话保持,对于服务器配置相似的负载均衡系统,轮询是调度算法的首选。

②应用状态监控方法

F5 LTM提供了先进的监视器用于检查设备、应用和内容的可用性,包括适合多种应用的专用监视器(如多种应用服务器、SQL、LDAP等),以及用于检查内容和模拟应用调用的定制监视器[7]。F5 LTM可以主动检测和响应任何服务器或应用错误。常用的健康监视器有地址(ICMP)、服务(TCP)、内容(HTTP)和交互(FTP)等检查类型。一般设检查时间间隔t=5 s,超时timeout则为3t+1=16 s,即若连续4次检查均未获得期望的响应,才将池成员或节点标记为故障。

(2)数据库服务器集群

数据库服务器集群与Web应用服务器集群不可共享同一负载均衡设备,因此形成两个层次的负载均衡配置。省交换平台直接使用Oracle RAC软件自身的负载均衡功能,不必再配置相关硬件。

Oracle RAC采用连接均衡和服务均衡相结合的方法[5]。连接均衡指在RAC内服务器实例运行过程中,后台进程PMON会定时收集系统的负载信息,然后登记到监听进程(Listener)中。RAC内每个节点的Listener都掌握所有节点的负载状态,当收到客户的连接请求时,Listener会将连接转给负载最小的节点,这类似于动态调度最小连接算法。服务均衡指在RAC内,通过将应用按照功能模块进行服务(Service)划分,并将每个Service固定在某些RAC节点上,以减少节点实例间的Cache Fusion(缓存融合)数据同步。作为空间数据库的 Oracle RAC,Cache Fusion 的同步数据量较大[8]。

四、性能压力测试

省级地理信息服务质量的两项重要指标为:①用户请求平均等待时间在1 s内,互操作和信息加载服务平均等待时间不超过5 s;② 支持峰值并发用户数1000。笔者据此对省交换平台性能进行了压力测试。

1.测试场景

主要针对政务版提供的WMTS、WFS、WFS-G和WMS 4种OGC标准服务,利用LoadRunner工具,指定属于浙江区域内省级数据的第15~17级图层进行图形浏览或拉框查询,测试模拟客户端数量1000时的加载时间。测试数据见表1。

表1 GIS服务性能压力测试数据

2.测试结论

本次测试所针对的服务在测试过程中流程正常;模拟 1000并发用户,未出现失败,通过率100%;平均响应时间在1 s以内;服务器系统运行状态良好。由于采用了服务器集群和负载均衡技术,省交换平台较好地满足了设计要求,否则很难达到高可用、高性能的指标。

五、结束语

按照省交换平台总体目标,纵向实现国家—省—市(县)多级地理空间数据的互联互通,横向可实现跨部门跨行业的地理信息资源融合共享。随着这种交换共享体系的不断扩大和深入建设,系统运行风险将随之增加,效率、安全和高可用性将成为保障系统运行的重要因素。作为全省空间数据基础设施的中心节点,本平台采用服务器集群和负载均衡技术,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效方法,增强了系统处理能力,避免了单点故障,保证了系统的安全、高效运行和未来横向扩展,也为后续同类系统建设提供了借鉴经验。

[1] JIRI H,JIRI A,BRONISLAVA H.Testing of Web Map Services[N].Article under Review for the International Journal of Spatial Data Infrastructures Research.Special Issue GSDI-11,submitted,2009-03-26.

[2] 维基百科.计算机集群[EB/OL].[2012-10-10].http:∥en.wikipedia.org/wiki/Computer_cluster.

[3] 周洪波.云计算技术、应用、标准和商业模式[M].北京:电子工业出版社,2011:126.

[4] 宋兴彬,许红果.集群和负载均衡技术在省级数据集中的应用研究[J].计算机工程与设计,2008,29(1):92-94.

[5] 张晓明.大话Oracle RAC集群高可用性备份与恢复[M].北京:人民邮电出版社,2009:203-242.

[6] 维基百科.负载均衡[EB/OL].[2012-10-15].http:∥en.wikipedia.org/wiki/Server_Load_Balancing.

[7] F5 Networks Inc.F5 BIG-IP LTM本地流量管理器产品资料[EB/OL].[2012-10-20].http:∥ www.f5.com.cn.

[8] 翟永,杨曦.地理信息服务网站服务器集群负载均衡技术应用研究[J].地理信息世界,2010,8(6):20.

猜你喜欢
高可用性链路集群
天空地一体化网络多中继链路自适应调度技术
基于星间链路的导航卫星时间自主恢复策略
海上小型无人机集群的反制装备需求与应对之策研究
超长公路隧桥高可用性监控平台方案分析
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人
校园一卡通服务端高可用性改造实施方案
OpenStack云计算平台高可用性的研究
一种虚拟化集群心跳算法