杨 斌 马朝晖 郝志勇
1)山西省地震局,太原 030021
2)山西农产品质量安全中心,太原030021
虚拟技术在地震应急指挥技术系统中的应用1
杨 斌1)马朝晖1)郝志勇2)
1)山西省地震局,太原 030021
2)山西农产品质量安全中心,太原030021
利用虚拟技术,可将原来在多台服务器上部署的地震应急指挥技术系统在一台高性能服务器上实现容灾备份,在节约硬件资源的同时,虚拟机灵活部署、快速恢复的特性也能提高整个系统的灵活性、可靠性。本文对什么样的服务器可作为地震应急指挥系统的虚拟服务器,如何规划虚拟应用,虚拟部署后的系统与原系统比较有何差异等进行了研究。本文的研究结果可为全国各省区域应急指挥中心的容灾备份提供参考依据。
地震 应急 虚拟机 应用
在地震系统“十五”项目建设完成后,全国地震应急指挥技术系统已基本建成并投入使用。目前地震应急指挥技术系统运行在2台数据库服务器和5—6台应用服务器上,它包含了ORACLE数据库、ARCSDE数据引擎、WEBLOGIC中间件服务软件、评估系统、辅助决策系统等众多基础软件及业务软件。由于系统的复杂性带来了稳定性的问题,但地震应急指挥技术系统的特殊性又要求整个系统必须具有高可靠性和高稳定性。鉴于这样的要求,简单照搬常规的容灾备份不但耗资巨大、费时费力,而且不利于推广应用。利用虚拟技术,可将原来在多台服务器上部署的地震应急指挥技术系统,在1台高性能服务器上实现容灾备份,在节约硬件资源的同时,虚拟机灵活部署、快速恢复的特性,也能提高整个系统的灵活性和可靠性。而什么样的服务器可作为地震应急指挥技术系统的虚拟服务器,如何在虚拟服务器上规划虚拟应用,虚拟部署后的地震应急指挥技术系统与原系统比较又有何差异,这就是本文主要研究的内容。本文的研究结果可为全国各省区域应急指挥中心的容灾备份提供参考依据,提高各省应急指挥中心的灵活性、稳定性和可靠性。
虚拟机,即为由虚拟机软件模拟出来的计算机或称为逻辑上的计算机。通过虚拟机软件,可以在1台物理计算机上模拟出1台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作。对于使用者来说,虚拟机只是计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作(王兴波,2009)。
目前流行的虚拟机软件有VMware、Virtual PC和Oracle VM VirtualBox等,它们都能在Windows系统上虚拟出多个计算机,用于安装Linux、OS/2、FreeBSD等其他操作系统。
VMware Work Station 是VMware公司出品的一款虚拟机软件。利用它可以在1台电脑上模拟出若干台机器,这些虚拟机如同真实机一样各自拥有自己独立的操作系统、CPU、硬盘、内存及其他硬件,你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,所有的这些操作都不会对真实主机的硬盘分区和数据造成任何影响和破坏。VMware虚拟机的最大特点是不需要重新开机,就能在1台电脑上同时运行多个操作系统,这跟在同1台PC机上安装多操作系统是不同的。PC机上的多操作系统安装,在任一时刻只能运行其中的一个系统,如果想切换到其它系统,必须重新启动机器。而在虚拟机环境下,多个操作系统可以同时运行,人们可以与对待标准的Windows应用程序那样,在多个操作系统之间来回切换,而不需要重新启动机器。最值得关注的是VMware强大的网络功能,它可将多个虚拟机联接在一起,组建一个局域网,这个网络的行为与真实的网络完全一致,而且不用担心损坏虚拟网卡和虚拟交换机(梁诚等,2007)。
考虑到VMware虚拟机强大的网络功能、快照恢复功能及用户界面友好等特点,本文采用VMware作为虚拟机软件。
现有的地震应急指挥技术系统部署在2台数据库服务器和4—5台应用服务器上,2台数据库服务器做RAC配置,以保障数据库正常运转,而业务系统主要部署在4—5台应用服务器上。业务系统软件按照功能及所占物理资源不同,部署在不同应用服务器上,一般按照表1部署。
表1 系统部署表Table 1 Composition of the system
续表
每个业务系统软件部署后,都需要占用一定的内存及物理空间,虚拟地震应急指挥技术系统的应用部署,首先需要明确虚拟化后业务系统需要的物理资源,如表2和表3所示。
表2 物理需求对照表Table 2 Physical requirements for virtual technology
表3 系统计算所占资源表Table 3 Resources occupied by the system for calculating
由表2与表3的对比分析可以看出,虚拟化部署后的系统在待机内存及硬盘的需求上与真实系统相差无几。在进行系统业务计算时,现有系统内存变化不大,CPU使用率较高;在进行虚拟应用系统业务计算时,内存及CPU使用变化都较大,尤其是CPU的使用率瞬时可能会达到 100%。因此,在进行虚拟化部署时,应考虑内存及硬盘的需求,满足最低硬盘及内存的需要,同时注意避免将高CPU消耗,高内存使用的软件及在同一时间段内共同计算的业务软件应部署在同一台服务器内,避免CPU使用冲突。考虑到本文计划虚拟2台应用服务器,同时考虑每台应用服务器部署(见表 4)的软件及虚拟系统自身物理配置需求,每台虚拟服务器需2G以上内存,15G硬盘空间。
表4 虚拟机部署软件情况Table 4 Deployment of virtual machine software
从表5的对比可以看出,虚拟服务系统在节约物理资源、节约部署空间的同时,还节约了经费开支,而且相对原有6台服务器的运行维护,虚拟服务系统还可节约人力资源。
表5 服务器硬件配置、价格对比Table 5 Server hardware configuration and price comparison
完成虚拟地震应急指挥技术系统的硬件配置后,虚拟地震应急指挥技术系统的技术关键点主要包含虚拟地震应急指挥技术系统的建立及系统快速恢复等方面。
虚拟地震应急指挥技术系统的建立首先应实现网络平台的搭建。目前地震应急指挥技术系统安装部署在2台数据库服务器和5—6台应用服务器上,系统网络结构如图1所示。
图1 系统网络结构图Fig. 1 Structure of system network
各个服务器通过物理网络连接,一旦网络发生故障,会造成整个系统的运行不畅。且物理网络的连接使整个系统的容灾备份、异地移植等变得复杂、困难。利用虚拟机技术,可在1台服务器上搭建包含多个不同操作系统的虚拟服务器网络平台。每台虚拟服务器添加双虚拟网卡,一个网卡采用Host-Only网络模式;另一个网卡采用Bridge网络模式。各虚拟服务器之间即可通过Host-Only网络模式,实现同一台主机的内部网络通信连接,完全避免外部物理网络故障给整个系统带来的影响;也可通过Bridge网络模式,实现通过外部网络外界访问系统的目的。
在搭建好包含不同操作系统的虚拟网络平台后,在虚拟系统中建立1台虚拟数据库服务器用于地震应急基础数据库及ARCSDE空间数据引擎的安装。2—3台虚拟应用服务器用于ARCIMS空间数据服务软件、WEBLOGIC中间件等基础软件及各业务系统的部署。最后在整个系统部署完成后,通过基础数据的导入,可进行整个系统的综合调试。
虚拟应急指挥技术系统可利用VMware虚拟机自带的“镜像”管理功能随时对整个系统进行备份。当系统出现故障时,可方便的利用虚拟机“镜像”管理功能中的快照“闪回”功能,实现整个应急系统的快速恢复。避免了整个系统的重新部署,大大降低了系统运行的风险性,提高了系统的可靠性和安全性。
虚拟地震应急指挥技术系统部署完成后,可通过与现有系统分别计算同一地震、改变虚拟机软件部署情况下计算同一地震、改变虚拟服务器内存配置情况下计算同一地震、改变虚拟服务器CPU配置情况下计算同一地震,来对比分析虚拟系统的计算效能。
本文选取山西北部、中部、南部三个历史地震发生点,选取同一震级作为测试地震,在现有系统及虚拟系统中分别对其进行计算,结果对比如表6所示。
表6 同一震级、不同地点两个系统计算时间对比Table 6 Comparison of calculating time between different systems for earthquakes with same magnitude by different location
由表6可以看出,在计算速度上,虚拟系统具有较大优势,其主要原因是:
原有系统部署在不同的服务器上,服务器之间通过物理网络连接,物理网络传输速度为100M/s,而虚拟服务系统部署在1台物理服务器上,通过服务器内部网络通信,速度可达1G/s。
虚拟系统虚拟的服务器较少,软件部署集中。例如震害评估与辅助决策两个系统,在现有系统中是在两个不同的服务器上分别部署,而在虚拟系统中是部署在同一虚拟服务器上,与网线物理传输速度比较,1台虚拟服务器内的交换速度会大大提升。
为进一步对比分析两个系统的计算性能,在现有系统与虚拟系统(虚拟系统虚拟3个虚拟服务器,其中1个为数据库服务器,另外2个为应用服务器,软件部署情况如表4所示)间进行同一地点、不同震级的计算测试,结果如下表7所示。
表7 同一地点、不同震级两系统测试结果Table 7 Comparison of calculating time between different systems for earthquakes with same location by different magnitude
由表7可以看出,同一地点、不同震级的计算,虚拟系统计算时间仍比现有系统要少,计算速度快,但随着震级的加大,计算数据量的增多,这种优势在逐步缩小。其主要原因是随着震级的增大和数据量的加大,系统需求的内存及CPU也越多,相对现有系统将几个主要计算软件的分别部署,虚拟系统部署较为集中,计算时对资源需求较大,通过监控虚拟服务器的CPU使用率可发现,瞬时若干次达到100%,这可能是导致虚拟系统在计算大震级时速度减慢的原因。
通过以上的分析可以看出,虚拟系统在计算时,物力资源的配置将极大影响系统运算速度。
前面与现有系统运算结果对比时,虚拟系统是虚拟了3台虚拟服务器,其中1台作为数据库服务器,另外2台为应用服务器,软件部署情况如表4所示。下面将通过增加1台虚拟服务器,测试增加虚拟服务器,减少同一虚拟服务器内部署系统数量对虚拟系统计算性能的影响,计算结果如下表8所示。
表8 不同软件部署情况测试结果Table 8 Test results of different software deployment
从表8可以看出,将大CPU、内存的业务软件分别部署,可适当提高运算速度,其主要原因是:大CPU、内存的业务软件分别部署,可减缓同一虚拟服务器内的CPU、内存压力。
在虚拟机软件部署情况不变的情况下,可通过改变虚拟服务器内存配置来测试虚拟服务器内存对虚拟系统运行性能的影响。增加虚拟服务器配置内存测试结果如表9所示
表9 增加虚拟服务器配置内存测试Table 9 Memory test after increasing the virtual server configuration
从表9可以看出,当虚拟机的内存配置满足部署软件的运行需求时,增加额外的内存不会带来运行性能的提高。减少虚拟服务器配置内存测试结果如表10所示。
表10 减少虚拟服务器配置内存测试Table 10 Memory test after reducing the virtual server configuration
从表 10可以看出,当虚拟机的内存配置无法满足部署软件运行的最低需求时,虚拟系统运行会出现计算失败的结果。
在虚拟机软件部署情况不变的情况下,可通过改变虚拟服务器CPU配置来测试虚拟服务器CPU对虚拟系统运行性能的影响。增加虚拟服务器CPU测试结果如表11所示。
表11 改变虚拟服务器配置CPU测试Table 11 CPU test after changing the virtual server configuration
从表11可以看出,当虚拟机的内存配置满足部署软件的运行需求时,增加虚拟CPU性能,可适当提高虚拟系统的运行速度。其主要原因可能是:CPU性能的增加,满足了大CPU软件的运行需要。
通过以上一系列的性能测试可以看出,虚拟服务器应根据其部署软件的规划,满足其所部属软件系统运行的最低要求。当虚拟机配置无法满足其部署软件的最低运行需求时,将导致系统的运行错误;当虚拟机配置满足需求时,额外增加物理资源不会显著提高系统性能,但增加虚拟应用服务器所欠缺的配置时,对系统运算性能有显著提高。根据本文的软件部署情况(表4),通过一系列测试最终可认为,每台虚拟服务器最低配置应满足2G内存,双核CPU,且不建议再减少虚拟服务器的数量,即最少应虚拟2台应用服务器部署业务系统。
将虚拟机技术与地震应急指挥技术系统相结合,可将原来在多台服务器上部署的地震应急指挥技术系统在一台高性能服务器上实现容灾备份,在节约硬件资源的同时,虚拟机灵活部署、快速恢复的特性也能提高整个系统的灵活性、可靠性。本文通过对虚拟机选择的研究、虚拟机服务器硬件配置需求的研究、虚拟系统与原有系统的对比分析研究、影响虚拟机运行性能的各因素对比分析研究,探讨了虚拟机软件的选择、虚拟机服务器硬件配置的最低需求、虚拟系统与原系统的差异、提升优化虚拟系统的因素等。本文的研究结果可为全国各省区域应急指挥中心的容灾备份提供参考依据,提高各省应急指挥中心的灵活性、稳定性、可靠性。
梁诚,李琼,夏建波,2007. VMware虚拟机技术在计算机实践教学中的应用. 电脑开发与应用,20(8):34—35.
王兴波,2009. 有关虚拟机及虚拟化技术的几点诠注. 信息化纵横,(7):76—78.
Application of Virtual Technology in Earthquake Emergency Command System
Yang Bin1), Ma Zhaohui1)and Hao Zhiyong2)
1)Earthquake Administration of Shanxi Province, Taiyuan 030021, China
2)Shanxi Agricultural Products Quality Safety Center, Taiyuan 030021, China
The virtual technology is characterized by saving hardware resources, flexible deployment fast recovery,which can improve the flexibility and reliability of the earthquake emergency command systems in a high-performance server. In this paper, we discuss the type of server being used as earthquake emergency command system of the virtual server, planning a virtual application, the difference with and without the application of virtual technology.
杨斌,马朝晖,郝志勇,2012.虚拟技术在地震应急指挥技术系统中的应用.震灾防御技术,7(3):313—321.
地震行业科研专项(201208018);地震应急青年课题CEA_EDEM-201003
2012-02-12
杨斌,男,生于1981年。硕士,工程师。主要从事地震应急技术的研究。E-mail:ybsuning@163.com
Κey words: Earthquake; Emergency; Virtual machine; Application