APP下载

基于虚拟云计算架构的GIS服务资源弹性调度应用研究

2013-12-11

测绘通报 2013年5期
关键词:实例虚拟化站点

朱 剑

(广西壮族自治区国土资源信息中心,广西南宁530028)

一、引 言

随着政府和社会对地理空间信息资源的大力开发和地理信息系统平台的广泛利用,基于服务形式提供的空间数据资源的访问量不断增大,传统的以单机或物理实体服务器上普通集群技术构建起来的GIS服务平台已经不能适应对业务类型和数据类型请求快速变化的需要。当前主要遇到如下问题:

1)用户数量或用户访问频率突然增加,使得超负荷的服务请求推向后端单机服务器/服务器群,从而导致服务器端计算资源不足,进而停止响应或响应变慢,用户应用体验受阻或影响工作。

2)因设计之初没有预料到的资源需求环境而盲目扩大或减小以服务器和存储为主的计算资源的投入,导致预算失真,进而影响项目的实际效能发挥和造成巨大的资金浪费或缺口。

上述两种情况都将导致技术人员必须停止GIS服务,重新搭建满足需求的环境,如添加新的服务器或更换性能更好的服务器,以及伴随而来的重新配置系统环境、迁移数据、重新发布地图服务等操作。这样就使得GIS服务不得不停止,直至新的环境搭建完成,严重影响了服务的连续性。

本文探讨的是将虚拟云计算技术和GIS服务资源弹性调度技术相结合并应用于GIS服务部署工作中,以解决上述不足。系统部署的实例环境以某省国土资源厅“国土资源遥感监测‘一张图’数据服务系统”的实际需求进行探讨。

二、相关技术简述

1.虚拟云计算架构

虚拟云计算架构在本文中指采用虚拟化软件技术将物理服务器、网络和存储设备整合为无差别、可按需调用的虚拟化计算、存储和通信资源,提供基础设施即服务(infrastructure as a service,IaaS)的云计算应用类型。整个虚拟资源的调用,可以通过资源管理中心和调用管理中心API接口,人工或自动化分配,如生成虚拟服务器和生成虚拟存储磁盘等。其特点在于使得云计算的规模可以根据用户的使用规模变化,动态伸缩,具有高度的扩展性,可以在同一个云计算环境下支撑不同的应用运行。用户部署服务时,无需关心每一个应用的物理环境平台。

本文的研究对象采用VMware vSphere 5虚拟化平台产品。

2.GIS服务资源弹性调度

在Esri的 ArcGISfor Server 10.1中提出了GIS服务资源弹性调度的概念和相应的部署技术。该技术将所有的GIS Server以P2P技术进行集群互联,以Server Site群集的形式统一对外提供GIS服务。Server Site群组中不再以SOC和SOM服务器来划分管理服务器和集群节点服务器,而是无差别地提供管理服务。当GIS的请求资源增加或减少,或是出现服务器单点故障时,ArcGIS Server中的Site Manage服务器就通过Cloud Builder on VMware组件访问VMware vSphere的VCenter API,通过预置好的GISServer模板,启动或关闭虚拟服务器,并将其作为一个GISServer节点加入或退出提供GIS服务的Server Site群集。这样即使某一个GISServer节点意外宕掉,也不会导致整个地图服务的停止运行。同样,当需要增加一个GISServer节点时,以plug-in方式插入一个节点,为服务提高负载能力。这种松散的、热插拔的架构是构建云GIS应用的基石。在逻辑上,这n个GISServers节点组织为一个Site站点。整个逻辑关系可简单概括为:以Site为架构单位;Cluster为GIS服务的逻辑单位;GISServer为实际处理单位;GISInstance实例为每个GIS功能的处理容器。体系架构如图1所示。

图1 GIS资源弹性调度环境体系架构示意图

三、技术应用实例

1.系统架构

某省国土资源厅“国土资源遥感监测‘一张图’数据服务系统”的整体架构如图2所示。

图2 系统架构图

1)基础设施层。基础设施层由物理服务器、集中存储设备、网络设备等硬件设备构成。通过虚拟化技术封装成可提供资源池化,可形成逻辑存储磁盘、逻辑虚拟化服务器,并可根据需求调用的云计算架构,供上层使用。

2)资源池化层。使用虚拟服务器安装部署GIS服务的实例,并加入具体的Site-GISServer服务集群(Cluster),使用Esri Cloud Builder on VMware管理用于GIS服务实例的ArcGIS服务实例镜像,用于弹性调度时自动生成和关闭,同时对资源的使用情况进行监控。

3)数据资源池。使用资源池化层提供的服务器资源和存储资源承载的各类影像、矢量、属性、业务等数据,如土地利用变更调查数据、土地利用规划数据、矿业权数据、地质灾害易发区和隐患点数据等。

4)服务平台层。ArcGIS Server通过Site集群发布的各类型GIS数据服务。

5)系统应用层。通过发布的GIS服务搭建的各类上层系统应用。

2.主要配置过程简介

(1)创建Site站点架构

在VMware的虚拟服务器上安装完成ArcGIS for Server 10.1,并选择New Site操作创建一个新的Site站点,用于一个新的ArcGISServer环境,在创建新的站点过程中配置 Directories和 Configuration Store路径及Site用户信息。然后在其他的服务器上安装Server,并添加到Site站点中,使之成为Siteful的GISServer节点,否则就为孤立的节点,不属于架构之内。每个可用(runnable)的GIS Server所需的一系列数据都被保存到Site相关属性里,如所属的集群信息、服务信息、服务所依赖的数据信息、目录信息,以及日志信息等,GIS Server也是基于这些信息才能提供具体服务的。一个具体的应用GIS环境只有一个 Site站点。最后,安装好 ArcGIS for Server 10.1,并将编辑好Site属性的虚拟服务器保存成一个VM的虚拟服务器镜像文件,用于资源的弹性调度管理。

(2)搭建服务集群(Cluster)

安装好Site后,默认会生成一个“default”的集群,单个Site里面的多个可用的GIS Server可以创建多个集群。集群是具体服务的承载容器,某一个地图服务必须用其中一个集群来发布,但一个集群可以发布多个服务。

(3)利用ArcGISServer管理服务对池化的资源弹性调度管理

当GIS资源出现紧缺时,则开始利用ArcGIS Server管理服务对池化的资源进行弹性调度管理,下面以向服务中的Site增加GIS Server为例进行说明。首先通过VMware的vCenter工具启动一个虚拟服务器镜像;然后在其中打开ArcGISServer Manager。

ArcGISServer 10.1提供了一个Admin API和Web Adaptor工具,用于通过Web方式管理Site和其他服务资源。站点的管理地址是http:∥<server name> :6080/arcgis/manager,点击加入一个现存的站点,站点的加入也是通过服务形式发布的,地址是 http:∥ < server name> :6080/,如果有密码则输入站点密码;接下来选择需要加入的服务集群;最后关闭页面即可完成资源的增加。

3.实例试验效果

整个虚拟化云计算环境下的GIS资源弹性调度的部署目的,就是当并发量增加时,平台首先判断GISServers机器的物理处理能力是否饱和。如果不饱和,增加现有GISServer机器中的实例进程数,使其达到饱和状态;随着GIS Sever性能达到饱和状态,平台将自动启动新的GIS Server,并将新的机器运算资源加入到GIS服务逻辑单位中;如再饱和,则继续扩展,直至搭建完成满足用户需求的环境,如图3所示。

图3 GISServer系统地图服务状态

如图4 所示,此时仅有一台 GISServer(10.2.1.184)正在启用,其ArcSOC.exe*32进程数已经达到较高值133。从图3的GISServer系统地图服务状态中可以了解到,此时DLTB的地图服务的运行实例已经达到29个,说明此时用户并发访问量较大。

图4 GISServer的进程状态

此时“一张图”的云计算架构就会启动第二台GISServer用来保障运算资源的充足,如图5所示。

图5 云计算平台启动新的GISServer情况

由图5可知,此时已有10.2.1.184、10.2.1.185两台机器启动,用来提供运算资源,同时在任务管理器中可以查看到两台服务器的ArcSOC.exe*32由原来的单台133的进程数分配成两台分别为96和94个进程的GIS Sever服务器,从而获得更优的运算性能。反之,如并发量减少,现有的资源已经满足需求,平台将自动移除GISServer机器,通过这些动态的调整,以实现最合理的资源利用,而这些资源的调整都不会停止服务端的服务。

四、结束语

采用基于虚拟云计算架构的GIS服务资源弹性调度技术来部署地理空间信息服务应用,能够在不大规模改动计算资源的基础上,交替平滑地调整面向用户的GIS应用,来对应不同的实际生产应用情况。且对于用户来说,完全是感受不到的,无论用户使用多复杂,都能获得流程的体验。该技术对于政府、企业等大型不间断GIS服务的提供机构具有重要的意义,因而具有良好的应用前景,值得进一步推广和研究。

[1]Esri公司.Deploying an ArcGIS Server Site on VMware[EB/OL].[2013-03-11].http:∥resources.arcgis.com/en/help/main/10.1/index.html#∥0154000005z8000000.

[2]牟乃夏,刘文宝,王海银,等.ArcGIS 10地理信息系统教程——从初学到精通[M].北京:测绘出版社,2012.

[3]Esri公司.ArcGIS for Server 10.1智能支持云的架构[EB/OL].[2013-03-11].http:∥www.esrichina-bj.cn/2011/1212/1604.html.

[4]吴丽春.多版本ArcGIS应用虚拟化部署[J].计算机应用,2011,31(A2):153-155.

[5]孙宝华.基于VMware技术的虚拟服务器技术构建与分析[D].长春:吉林大学,2011.

[6]许泳.Esri打造 GIS云平台[J].计算机世界,2010(8):1.

猜你喜欢

实例虚拟化站点
基于Web站点的SQL注入分析与防范
基于OpenStack虚拟化网络管理平台的设计与实现
2017~2018年冬季西北地区某站点流感流行特征分析
对基于Docker的虚拟化技术的几点探讨
首届欧洲自行车共享站点协商会召开
H3C CAS 云计算管理平台上虚拟化安全防护的实现
怕被人认出
存储虚拟化还有优势吗?
完形填空Ⅱ
完形填空Ⅰ