李金香, 周 文, 刘 军, 温少妍, 张琳琳, 郭 寅
(新疆维吾尔自治区地震局, 新疆 乌鲁木齐 830011)
随着21 世纪信息技术的高速发展以及信息化进程的不断深入, 由系统软件、 支撑软件和应用软件组成的大型软件系统在各行各业中得到了广泛应用, 服务器的数量也不断上升,IT 资源基础构架日益增长的复杂性和不断变化的应用使得软件系统功能大幅提升, 但系统软件平台的稳定性却逐渐下降。 整体的系统架构设计及编程的细节都是影响软件稳定性的因素, 正所谓“千里之堤, 溃于蚁穴”, 一旦考虑不周, 会造成整体软件系统的崩溃。 软件系统稳定性提升方法研究是计算机科研人员及系统应用人员的重要研究方向。 同时随着业务的扩展和功能的增加, 机房中放置了不同时期采购的不同的基础设施, 而系统各功能的实现往往采用单独的服务器部署, 一旦服务器出现问题也会导致应用瘫痪; 同时服务器的利用率也不高, 大量利用率很低的独立服务器造成了资源闲置, 却又无法投入其他应用。服务器数量日益增加, 导致故障节点比较多, 机房每年所支付的电费和维护成本也急速上升, 电力和冷却问题也逐步成为阻扰机房持续发展的一大障碍, 如何提高服务器的利用率、提高系统稳定性、 合理配置软硬件资源以及如何有效节能、 构建绿色机房等是大型系统软件平台开发者和应用者亟需解决的问题。
虚拟化技术的出现是计算机技术的又一次创新, 虚拟化技术由来已久, 早在上世纪60年代, 美国就开始了虚拟技术的研究, 进而应用于商业市场, 微软、 VMware 等软件巨头的虚拟化软件的推出, 促进了虚拟技术的推广应用[1]。 虚拟机(VirtualMachine) 指通过软件模拟的具有完整硬件系统功能的、 运行在一个完全隔离环境中的完整计算机系统[2]。 虚拟机软件不需要重新开机, 就能在同一台电脑使用多个操作系统, 不但方便, 而且安全[3]。 在虚拟系统崩溃之后可直接删除, 不影响本机系统, 同样本机系统崩溃后也不影响虚拟系统, 可以下次重装后再加入以前的虚拟系统[4]。
虚拟系统有着强大的网络支持功能, 并且具有提高计算机资源利用率、 降低总体拥有成本、 系统环境隔离、 服务器整合、 快速、 动态的业务调度、 资源动态分配、 零宕机迁移、灾备和快速恢复、 维持老系统业务持续运行等多种优点。 目前虚拟化技术在金融业、 制造业、 政府部门、 科研领域、 高校、 计算中心以及众多中小企业的IT 部署中均得到了广泛应用。 沈奎林等[5]基于虚拟化技术构建图书馆云服务平台, 包敬海等[6]进行了基于虚拟机的轻量级医疗诊断系统的应用研究; 蒋炜超等[7]进行了虚拟化技术在电力行业中的应用研究, 杨斌[8、9]将地震应急虚拟系统与原始系统的资源利用率进行了对比, 发现虚拟系统在降低总体拥有成本、 进行服务器整合的同时运行效率大幅提升。
本文以新疆地震应急指挥技术系统为例, 首先介绍了新疆地震应急指挥技术系统软件平台的架构方法及服务器部署情况, 随后基于VMware 虚拟服务器进行系统软件平台虚拟化部署, 节约资源的同时实现系统整体的容灾备份, 同时虚拟化服务器可对系统软件进行一系列实验和改进, 增强系统灵活性, 在出现故障时可应用快照功能迅速恢复任一保存时段的系统功能, 提升了新疆地震应急指挥技术系统软件平台的稳定性, 提高了新疆地震应急能力。 最后对虚拟系统的功能进行验证, 经过对虚拟系统性能的测试, 发现通过该方法确实可以有效的对服务器实现整合。
新疆地震应急指挥技术软件系统是一个庞大的异构系统[10], 其中涉及海量空间数据和属性数据的管理与应用、 基于空间信息的地震专业模型计算、 各类信息的综合展示等, 该系统是一个基于网络的异构多层架构服务系统[11], 系统主体功能模块包括区域地震应急指挥管理系统(企业服务总线)、 用户安全和日志管理平台、 地震快速触发响应系统、 区域震害动态评估系统、 区域应急指挥辅助决策支持系统、 区域指挥终端及信息服务软件系统、 区域地震应急基础数据库应用与管理软件、 区域地震应急指挥综合查询系统、 区域地震应急指挥数据采集系统、 区域应急救援辅助决策系统、 基础数据库元数据管理软件、 分布式数据交换系统、 区域指挥大厅监控系统、 地震现场数据接收和整理软件、 区域应急指挥信息通告系统、 区域地震应急指挥反馈与记录系统。 系统软件平台总体架构及数据流程如图1。
新疆地震应急指挥技术系统软件众多, 部署方法复杂, 原始系统应用配备了7 台应用服务器, 2 台数据库服务器, 8 台工作站, 系统庞大复杂, 业务部署情况如表1。
图1 应急指挥技术系统软件平台数据流程图Fig.1 Data flow diagram of the emergency command system software platform
表1 新疆地震应急指挥技术系统软件部署情况表Table 1 Deployment table of Xinjiang earthquake emergency command system
新疆地震应急指挥技术系统软件平台将众多专业软件模块化, 通过ESB (Enterprise Serv ice Bus 企业服务总线) 进行系统集成使系统功能大幅提升, 然而异构环境中的各种技术、 协议和应用的集成极其复杂, 需要硬件设备分别支持, 造成设备浪费, 且系统节点太多, 使得单点故障难以判断, 在实际使用中自主开发招标的专业软件的可靠性, 以及计算模型都有待改进, 同时公共软件的维护问题也是个大问题。 故而在系统容灾备份、 稳定性、灵活性提升和维护方面仍需进一步加强。
在两台物理服务器上进行VMware Workstation 虚拟服务器的创建, 首先, 在服务器上按照VMware Workstation 8 软件提示, 进行程序安装, VMware 虚拟机安装完成后, 点击“New Virtual Mechine” 新建虚拟机, 为虚拟机安装Windows Sever 2003 操作系统, 虚拟机其他设置如虚拟的内存大小、 硬盘大小及分区、 CPU 数等等, 需根据需要部署的系统软件平台的配置需求进行操作, 为使系统运行更加快速高效, 各配置的参数需要寻求物理机硬件资源和虚拟机应用需求间的平衡, 不可一味增加虚拟机内存和硬盘空间的大小而影响主机的运作。 同时, 网络模式的设置也十分重要, 网络模式主要有Bridged (桥接)、 Network(NAT 网络)、 Host-Only (主机网络) 三种, 不同的网络设置对于系统网络连接及访问权限有一定的限制, 其中多网卡的虚拟机可以设置多种网络连接, 本研究利用虚拟机技术, 在每台虚拟服务器上添加双网卡, 分别采用Host-Only 和Bridged 网络模式, 同一台主机的内部通过Host-Only 网络模式进行通信连接, 外部网络也可通过Bridged 网络模式访问系统, 便于对Oracle Net 组件、 ArcSDE 连接及配置使用。 虚拟机内各种网络连接的属性意义如表2所示。
表2 虚拟机网络连接属性意义Table 2 Network connection properties of the virtual machine
VMware 虚拟服务器的硬件配置及网络平台的搭建完成后, 根据需要按照上述方法建立4 台虚拟机部署整个新疆地震应急指挥技术系统。 把十余种专业软件汇同大型Oracle 数据库整合到2个物理服务器上, 同时实现应急指挥技术系统软件平台的功能, 在每台物理服务器上分别建立2个Windows Sever 2003 虚拟机, 首先, 在虚拟机上安装部署大型Oracle数据库和ArcSDE 数据引擎, 建立用户及表空间, 导入新疆地震应急基础数据以实现应急基础数据库的部署。 其次, 在地震应急基础数据库的支持下, 部署业务系统, 根据地震应急指挥技术系统日常运维情况, 分析系统各软件的使用率及故障率, 在进行系统虚拟化时,对于平时使用率低的软件及基本不用的服务不进行部署, 精简系统, 实现最优系统配置,减轻因系统臃肿导致的系统稳定性下降。 新疆地震应急指挥技术系统虚拟化实施方案如表3所示。
表3 虚拟系统部署表Table 3 Deployment table of the virtual system
在系统安装调试过程中, 可根据需要, 对系统进行备份, 系统可以同时保存多个 “镜像”, 使用者还可通过镜像点管理器, 来完成对镜像点的删除、 恢复等管理。 当系统出现故障时, 利用虚拟机快照 “闪回” 功能, 实现整个应急系统的快速恢复, 也可通过异地拷贝虚拟机文件, 在其他虚拟机上植入已经部署好的虚拟机系统, 完成虚拟机系统的恢复。避免了故障时整个系统的重新部署, 大大降低了系统运行的风险性, 提高了系统的可靠性和稳定性, 虚拟系统快照备份图如图2 所示。
图2 虚拟系统快照备份示意图Fig.2 Snapshot backup diagram of the virtual system
在VMware 虚拟服务器上, 部署好Oracle 数据库、 ArcSDE 空间数据引擎、 Weblogic 中间件及各业务软件, 导入基础数据信息后, 对虚拟系统的各个功能进行测试。 在日常运维中逐渐应用虚拟系统, 通过触发测试地震来测试整个虚拟地震应急指挥技术系统的性能,检验系统稳定性, 并及时做好备份工作。 系统测试图如图3 所示。
图3 虚拟系统测试图Fig.3 Test map of the virtual system
经过一段时间的测试, 系统运行良好, 速率较高, 对于每日运维中触发的测试地震,系统根据本地化专家模型计算地震影响场, 调用影响场内相关数据库信息, 进行灾害损失评估, 提供辅助决策各类信息, 最终将结果在指挥终端中进行展示, 指挥终端提供了下载功能, 用户可下载打开各类辅助决策报告, 为地震应急指挥决策者提供科学依据, 系统能在规定的时间内按要求迅速生成各类图件及报告, 满足了新疆地震应急的需求。
在故障排除、 运行效率及服务器整合方面, 现有系统和虚拟系统的对比如表4 所示,由表可知, 虚拟系统用2 台服务器整合了现有9 台服务器上部署的系统, 实现系统容灾备份的同时, 计算速度及运行效率均有所提升, 对于7 级以下的地震, 运算速率略快于现有系统, 7 级以上的地震两系统运行效率基本相同; 而系统重启等一般性故障排除方面, 虚拟系统速度较快; 在整体系统恢复方面, 虚拟系统可快速恢复、 异地移植部署整个系统。
表4 两系统运行对比表Table 4 Comparison table of the two systems
新疆地震应急指挥技术系统虚拟化的应用解决了系统的容灾备份, 提升了稳定性, 同时减少因备份带来的总体拥有成本, 实现了资源合理配置, 减轻了技术人员工作强度与难度, 实现了应用快速部署, 主要体现在: 虚拟系统使得软件运行环境的隔离性、 安全性得到有效保证, 系统得到精简, 服务器利用率也大幅提高, 减少了技术人员维护设备的工作量及难度, 虚拟系统的快速闪回功能及异地移植功能使得应用部署速度有了质的飞跃, 以上这些均大大提高了系统的稳定性。 同时备份系统时大大减少了所占用的服务器数量, 随着硬件的升级及软件整合, 系统占用的服务器由原来7 台减少到2 台, IT 架构总体拥有成本得到有效缩减, 包括: 硬件采购成本、 运营电力成本, 运行机柜空间成本、 网络成本、网络端口成本、 机房制冷成本以及运维管理等成本。
虚拟化技术的出现是计算机技术的又一次创新, 它改变了计算机硬件与操作系统之间的层次关系。 虚拟化技术提高了计算机硬件资源的利用率, 实现了系统的快速迁移、 备份,且易于管理与维护, 在各行各业中得到了广泛应用。
本文以新疆地震应急指挥技术系统为例, 进行了基于VMware 虚拟服务器的系统软件平台虚拟化研究, 文中简要介绍了新疆地震应急指挥技术系统软件平台的整体架构, 并根据需要在2 台物理服务器上进行VMware 虚拟服务器的创建, 最终虚拟出4 台虚拟服务器进行大型Oracle 数据库、 ArcSDE 空间数据引擎、 Weblogic 中间件及各业务软件的部署, 完成地震应急基础数据信息的导入, 并在平时的日运维中进行系统功能测试, 结果表明, 系统运行良好, 速率较高, 可根据本地化专家模型计算地震影响场, 进行灾害损失评估, 提供辅助决策信息, 并将结果通过指挥终端进行展示, 系统能在规定的时间内按要求迅速生成各类图件及报告, 为地震应急指挥决策者提供科学依据, 同时虚拟化技术使得软件运行环境的隔离性、 安全性得到有效保证, 稳定性大幅提升, 服务器利用率也大幅提高, 软硬件资源得到合理配置, 减少了技术人员维护设备的工作量及难度, IT 架构总体拥有成本得到有效缩减, 有效节能的同时实现了绿色机房的构建。
[1] 代正建. VMware 虚拟机在中职计算机教学中的应用[J]. 教育创新学刊, 2010, 12: 41~42.
[2] 任朴生, 黄锑儒. 浅谈虚拟机在系统维护专业教学中的应用[J]. 临沧师范高等专科学校学报, 2012, 22(1): 112~115.
[3] 舒云星, 郑卫东. 基于Vmware 的虚拟计算机实验系统[J]. 实验室研究与探索, 2006, 25 (9): 1086~1088.
[4] 何增颖, 陈建锐. 基于虚拟技术的计算机实验教学[J]. 实验技术与管理, 2012, 29 (1): 79~82.
[5] 沈奎林, 杜瑾. 基于VMwarevSphere 虚拟化技术构建图书馆云服务平台初探[J]. 现代图书情报技术,2011 (10): 74~78.
[6] 包敬海, 龚文锋, 黄安甲, 等. 基于虚拟机的轻量级医疗诊断系统的应用研究[J]. 计算机应用研究,2010, 27 (4): 1394-1396.
[7] 蒋炜超. 虚拟化技术及其在电力行业中的应用研究[J]. 电测与仪表, 2010, 47 (8): 72~76.
[8] 杨斌, 马朝晖, 董翔, 等. 基于虚拟技术的地震应急指挥技术系统应用[J]. 地震地磁观测与研究,2012, 33 (1): 94~99.
[9] 杨斌, 马朝晖, 郝志勇, 等. 虚拟技术在地震应急指挥技术系统中的应用[J]. 震灾防御技术, 2012, 7(3): 313~321.
[10] 兰陵, 宋立军, 周文. 新疆地震应急指挥系统介绍[J]. 内陆地震, 2009, 4 (2): 226~251.
[11] 帅向华, 姜立新, 范灵春, 等. 地震应急指挥软件教程[M]. 北京:地震出版社, 2011.