前言
VMware vSphere 5使用 虚拟化 将数据中心转换为可扩展的聚合计算基础架构。虚拟基础架构在提供服务的方式方面为IT组织提供了更大的灵活性。虚拟基础架构还可以充当云计算的基础。
云计算是一种构建于虚拟化的高效资源池技术之上的计算方法。用于创建按需、弹性、实现自我管理并且可以作为服务进行动态分配的虚拟基础 架构 。虚拟化使应用程序从基础硬件架构的复杂性中解脱出来。
虚拟化不仅是云计算的基础技术,而且还使各种规模的组织在灵活性和成本控制方面有所改善。为了充分利用虚拟化带来这些便利,并且也作为通向云计算的第一步,Esri将ArcGIS Server 10在VMware vSphere 5环境中进行了部署测试并将最终结论形成了这篇文档。
介绍
本文档描述了在VMware的vSphere环境中部署Esri的ArcGIS Server产品的最佳实践。它为ArcGIS Server部署的架构设计和利用VMware平台提供虚拟化的基础设施的价值提供了基本的指导。它还讨论了由VMware和Esri联合进行的测试的结果,表述了运行在VMware vSphere 5中的ArcGIS Server的性能和功能。最后,它概括了在你的数据中心中整合使用这两种产品的一些最佳实践。
Esri ArcGIS Server 10简介
Esri的ArcGIS Server让人们通过他们需要的地理信息进行连接。组织机构使用ArcGIS Server分发地图和由在线地图应用提供其它GIS功能以及通过服务提高内部工作流,沟通重要问题。使用ArcGIS Server,你可以
*发布快速的,直观的在线地图以满足你的需求:通过实时的地理智能显著深化你的业务和决策。
*使你的IT具有地理能力:减少数据和应用的冗余,优化系统配置和强化企业级系统。
*集中化管理你的空间数据:为你的最重要的信息资产提供更好的数据安全和集成。
*很方便的访问海量的影像资源:显著减少存储成本和数据处理开销。
*将GIS能力延伸至你的移动工作中:增加野外数据采集项目的精度和价值以及资产监控,甚至提供资源和事件管理。
VMware vSphere 5简介
VMware vSphere 5是一个领先的虚拟化解决方案,它为IT管理者和使用者提供了多种便利。VMware vSphere 5在一个应用和操作系统所需要的资源以及提供这些资源的底层硬件之间提供了一个抽象层。由VMware vSphere 5提供的好处如下:
*合并:VMware虚拟化技术允许将多个物理服务器合并为一个服务器,而很少或几乎没有整体性能上的下降。合并通常会为在VMware虚拟机中运行Esri ArcGIS Server带来TCO(total cost of ownership)的下降。
*简化配置:VMware vSphere 5将应用封装进镜像中。通过VMware vCenter管理软件,它可以使用模板去创建可以被复用或移除的虚拟机环境。这个流程可以大大减少应用配置和部署的成本和时间,并使扩展ArcGIS Server的部署变得更简单。
*可管理性:使用VMware VMotion技术虚拟机可以在没有关机的前提下在服务器之间迁移。VMotion也简化了类似硬件维护的计划内的停机时间等日常操作。
*可用性:VMware HA(High Availability)可以缩短计划外的停机时间并为应用提供更高的服务等级。在一个计划外的硬件失败的情况下,VMware HA在一个VMware集群中另一个主机上重启任何受影响的虚拟机。
ArcGIS Server架构和部署策略
架构
一个ArcGIS Server系统包含下列组件:
*GIS server——GIS server承载GIS资源,类似maps,globes,address locators并将它们以服务的形式提供给客户端程序。GIS Server本身由两个不同部分组成:SOM(Server Object Manager)和SOC(Server Object Containers)。顾名思义,SOM管理运行在server上的服务。当一个客户端应用请求使用指定的服务,SOM将立刻为客户端提供服务。SOM连接一个或多个SOC。SOC机器承载SOM管理的服务。基于你的配置,你可以在不同机器上运行SOM和SOC也可以用多个机器运行SOC。
*Web server——Web server承载使用运行在GIS server上的资源的 web应用 和服务。
*Clients——Clients是连接到ArcGIS Server Web services的在线,移动和桌面应用。
*Data server——数据服务器包含已经被作为服务发布到GIS server上的GIS资源。这些资源可以是map documents,address locators,globe documents,geodatabases,toolboxs。
*Manager and ArcCatalog administrators——ArcGIS Server管理员可以使用Manager或ArcCatalog将他们的GIS资源发布为服务。Manager是一个Web应用,它支持发布服务和管理GIS Server。ArcCatalog包含一个GIS Server节点可以被用于为一般的server访问添加连接或一个server的属性和服务的管理。
*ArcGIS Desktop content authors——为了制作类似maps,geoprocessing tools,globes等将要被发布到你的server的GIS资源,你需要使用类似ArcMap,ArcCatalog,ArcGlobe的ArcGIS Desktop应用。另外,如果你创建了一个缓存地图服务,你将需要使用ArcCatalog或运行一个地理处理脚本去创建缓存。

部署策略
ArcGIS Server的可伸缩架构可以以工作组级或企业级部署,各对应基础版,标准版和高级版。大规模部署可能需要多个Web servers,SOMs和SOCs,而较小组织可能需要在只有一个或两个机器上组合这些资源。你怎么样部署ArcGIS Server取决于你想用它做什么以及它需要处理的工作负载。如果你正在为开发或测试目的使用ArcGIS Server,你不需要一个相当大规模的部署配置,但是如果你正在发布被大量用户访问的GIS服务,你需要提供额外的考虑和资源以处理类似增长的处理负载,消除单点失败和附加的安全等因素。
下面的部署场景可以作为你准备建立你自己的ArcGIS Server系统的指南。尽管你可以完全按照这些场景部署你的系统,你也可以只使用这些场景作为实现ArcGIS Server系统的参考并调整你自己的部署配置以适应你特定的需求和硬件资源。
单机部署场景
如果你正在只将ArcGIS Server用于开发,测试或小规模部署,并且你不需要考虑大量的服务请求,一个简单的配置可能就足够了。第一个场景将展示怎么样在一个单独的机器上安装所有的ArcGIS Server组件,包括Web server也在同样的机器上。这个机器还必须能被ArcGIS Server管理接口比如Manager访问到。
在这个部署场景中,ArcGIS Server所需要的数据也和其它组件一起位于同样的机器上。如果工作组级别的ArcGIS Server被部署在下图的配置中,那么数据就被存储在一个Microdoft SQL Express数据库中。

多机器部署场景
多机器部署场景对许多内部部署和 Web部署 是很理想的。在这个场景中,SOM和Web server在同样的机器上。由于SOM相对使用很少的内存,它通常可以和Web server没有冲突的共存。

多机器部署场景包含一个或多个SOC机器用于执行GIS任务并可以基于你的系统需要承载的用户数进行扩展。你应该增加的SOC机器的数量取决于在某一时刻有多少用户对系统发出请求以及这些用户请求操作的处理强度。在平均条件下,一个SOC机器中的一个CPU可以支持大约4个并行的活动服务实例。上图展示了3个SOC机器。如果每个机器是双CPU系统,这个配置可以支持大约16个线程对服务同时执行操作。使用这个基准,调整SOC机器的数量以满足你的部署环境中你所预计的并发用户数。
多机器配置的数据层由运行着一个DBMS和ArcSDE应用服务器技术的一个独立的数据服务器组成。SOC机器有访问这个机器上的数据的权限,基于你在ArcCatalog中建立ArcSDE连接所保存的用户名和密码。数据层也可以由影像文件存储,类似File Geodatabase,toolboxs和map docs等GIS文件组成。
测试流程和结果
VMware和Esri合作进行性能测试以说明ArcGIS Server 10企业版在VMware vSphere 5环境中的性能。
硬件配置
主机服务器:
Dell R710服务器运行VMware ESXi 5.0
2*4 E5620核心CPU和32G内存
存储:
2块本地连接SAS硬盘(RAID 1);ESXi和VMware VMFS安装在这个硬盘上。
NFS和6块SAS硬盘(RAID 5);ESXi安装在本地硬盘,NFS用于虚拟机存储。
物理服务器配置
Dell R710服务器运行Windows 2008 x64
2*4 E5620核心CPU和32G内存
虚拟机配置
下列ArcGIS Server配置将被用于测试:
4个虚拟机:1个vCPU和2GB内存:相当于原生的4个核心和8GB内存。
4个虚拟机:1个vCPU和4GB内存:相当于原生的4个核心和16GB内存。
4个虚拟机:2个vCPU和2GB内存:相当于原生的8个核心和8GB内存。
4个虚拟机:2个vCPU和4GB内存:相当于原生的8个核心和16GB内存。
8个虚拟机:1个vCPU和2GB内存:相当于原生的8个核心和16GB内存。
下图展示了运行在一个VMware ESXi 5.0主机上的4个ArcGIS Server虚拟机的配置。

工作负载
Esri使用JMeter或LoadRunner生成到ArcGIS Server实例的模拟负载。测试由4到8个客户端同时提交export map请求到ArcGIS Server 10中的经过优化的REST地图服务组成。每个客户端持续的提交请求,获得相应后再提交另一个请求而没有等待时间并持续60分钟为一周期。吞吐量以在3秒的所能接受的最低事务时间下机器所支持的每小时事务数计算。
结果展示
Esri ArcGIS Server 10已经被测试运行在一个单独的物理服务器和一系列虚拟机中,使用两种类型的存储结构,本地连接硬盘(2块SAS RAID 1)以及NFS加载硬盘(6块SAS RAID 5)。下面的两个表提供了在物理服务器和虚拟机配置中的对比中的吞吐量和事务时间性能比较。
表1.物理服务器加2块SAS RAID 1直接连接硬盘
| 配置 | Esri ArcGIS Server配置 | 吞吐量 事务数(每小时) | 平均事务时间 |
| 1个物理服务器:4核心,8GB内存 | 所有ArcGIS Server组件 | 41154 | 0.7 |
| 1个物理服务器:4个核心,16GB内存 | 所有ArcGIS Server组件 | 42264 | 0.68 |
| 1个物理服务器:8个核心,8GB内存 | 所有ArcGIS Server组件 | 56814 | 0.51 |
| 1个物理服务器:8个核心,16GB内存 | 所有ArcGIS Server组件 | 56574 | 0.51 |
表2.虚拟机配置加2块SAS RAID 1直接连接硬盘
| 配置 | Esri ArcGIS Server配置 | 吞吐量 事务数(每小时) | 平均事务时间 |
| 1个虚拟机:4个虚拟CPU,16GB内存(相当于原生的4核心和16GB内存)运行Windows 2008 x64 | 所有ArcGIS Server组件 | 27342 | 1.08 |
| 2个虚拟机:2个虚拟CPU,8GB内存(相当于原生的4核心和16GB内存)运行Windows 2008 x64 | 1个虚拟机上安装Web服务器和SOM以及数据服务器 1个虚拟机上安装SOC | 32790 | 0.88 |
| 2个虚拟机:2个虚拟CPU,4GB内存(相当于原生的4核心和8GB内存)运行Windows 2008 x64 | 1个虚拟机上安装Web服务器和SOM以及数据服务器 1个虚拟机上安装SOC | 33000 | 0.88 |
| 2个虚拟机:2个虚拟CPU,2GB内存(相当于原生的4核心和4GB内存)运行Windows 2008 x64 | 1个虚拟机上安装Web服务器和SOM以及数据服务器 1个虚拟机上安装SOC | 33624 | 0.86 |
表1和表2提供了物理服务器和虚拟机性能的对比,都使用了同样的存储架构,本地连接硬盘。
表3.虚拟机位于6块SAS RAID 5网络连接存储(NFS)
| 配置 | Esri ArcGIS Server配置 | 吞吐量 事务数(每小时) | 平均事务时间 |
| 4个虚拟机:1个虚拟CPU,2GB内存(相当于原生的4核心和8GB内存)运行Windows 2008 x64 | 所有ArcGIS Server组件 | 37476 | 0.77 |
| 4个虚拟机:1个虚拟CPU,4GB内存(相当于原生的4核心和16GB内存)运行Windows 2008 x64 | 1个虚拟机上安装Web服务器和SOM,数据服务器 3个虚拟机上安装SOC | 35994 | 0.8 |
| 4个虚拟机:2个虚拟CPU,2GB内存(相当于原生的8核心和8GB内存)运行Windows 2008 x64 | 1个虚拟机上安装Web服务器和SOM,数据服务器 3个虚拟机上安装SOC | 49524 | 0.58 |
| 4个虚拟机:2个虚拟CPU,4GB内存(相当于原生的8核心和16GB内存)运行Windows 2008 x64 | 1个虚拟机上安装Web服务器和SOM,数据服务器 3个虚拟机上安装SOC | 50562 | 0.57 |
| 8个虚拟机:1个虚拟CPU,2GB内存(相当于原生的8核心和16GB内存)运行Windows 2008 x64 | 1个虚拟机上安装Web服务器和SOM,数据服务器 7个虚拟机上安装SOC | 52344 | 0.55 |
表3提供了虚拟机使用NFS网络连接存储的性能比较。
虚拟化配置提供了最高的每小时52344事务的吞吐量,使用了8个独立的Microsoft Windows 2008 x64虚拟机,每个有1个虚拟CPU和2GB内存。
第2个最佳每小时50562事务的吞吐量,每个事务时间为0.58秒,使用了4个虚拟机的配置,每个虚拟机2个虚拟CPU和4GB内存。
部署最佳实践
VMware最佳实践在VMware的文档中已有描述:http://www.vmware.com/support/pubs/。
VMware还提供单独的文档:VMware vSphere 5性能提高,网络和存储性能,使用VMware动态资源调度(DRS)进行VMware VMFS和资源管理的最佳实践。额外的对于VMware vSphere 5部署的特定建议有:
*确保你将用于部署VMware ESXi的物理服务器和存储存在于VMware系统和存储的硬件兼容性列表(HCL)中:http://www.vmware.com/resources/compatibility/search.php
*为了最佳性能,建议你在VMware ESXi 5.0或更搞版本上运行Esri ArcGIS Server。
*断开客户机和主机上的未使用的,没有必要的设备。这些包括COM端口,LPT端口,软盘驱动器,CD-ROM驱动器以及USB适配器。关闭主机上的设备释放IRQ资源并消除可能导致性能问题的IRQ共享冲突。
*确保在虚拟机中的客户机操作系统上运行的是最新版本的VMware Tools。
*除非必要不要设置资源保留或限制。实质限制为“无限制”,这也是VMware的默认设置。
*为在同一个ESXi主机上的两个虚拟机之间建立网络连接,连接虚拟机到同一个虚拟机交换机。如果虚拟机被连接到不同的虚拟交换机,流量将需要通过防火墙并可能导致不必要的CPU和网络压力。
*建议使用SAN设备存储以达到应用的最佳的I/O需求以及利用上所有的VMware vSphere 5特性和能力。分别使用iSCSI或NFS,提供较佳的存储性能。如果ArcGIS Server被部署到一个iSCSI组或NFS服务器,VMware建议你至少拥有1Gbps的连接。
*如果必须使用本地硬盘,VMware建议你将VMware ESXi操作系统和虚拟机存放的VMFS文件硬盘分离。
总结
你可以使用VMware vSphere 5成功的虚拟化Esri ArcGIS Server。大多数的ArcGIS Server多服务器部署非常适合于虚拟化并且可以获得一个虚拟化的基础设施所带来的好处——例如经过提升的管理,可用性和伸缩性,因此降低了TCO。
VMware vSphere 5使为ArcGIS Server提供高等级的可用性更简单和更便宜。由于获得VMware vSphere 5的关键特性类似Vmontion,DRS和HA的优势,你可以消除计划内停机时间,减少计划外停机时间并可以从组件或系统停电中快速恢复。
为了在VMware vSphere 5中成功部署ArcGIS Server,你首先应该清楚的理解你的组织内的业务和技术需求,可用性需求以及为实现ArcGIS Server其它可操作的需求。
服从特定于ArcGIS Server的最佳实践指南是很关键的,这也同样适合VMware vSphere 5。一般的,物理环境中的最佳实践也适用于在VMware vSphere 5上的部署。
存储配置对任何成功的GIS Server部署是很关键的,尤其是在虚拟化环境中,你可能在一个单独的ESXi主机上承载许多不同的数据库或者文件负载。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删