APP下载

应用服务器虚拟化技术优化气象信息系统建设

2013-04-29陆明典莫满堂

科技创新与应用 2013年7期
关键词:虚拟化气象服务器

陆明典 莫满堂

摘要:通过分析台站信息系统应用的现状,引入基于VMware Hypervisor的服务器虚拟化技术,简化台站基础架构,优化气象信息系统建设。在虚拟化的基础上,结合服务高可用、双机容错等技术,降低应用系统单点故障的风险,进一步提高气象信息系统服务的可靠性和稳定性。

关键词:气象;服务器;虚拟化;高可用

随着气象信息应用系统的增多,为了管理方便,减少不同系统对运行环境的复杂依赖,大多数的台站都会考虑为每个应用系统配置独立的硬件服务器。在这种情况下,绝大多数服务器工作方式单一,系统资源利用率不高[1-2],各个应用系统之间缺乏有效沟通,致使数据信息难以共享、数据备份困难,而且管理成本、机房供电、占地空间、制冷等也随着服务器的增多在不断攀升[3]。因此,如何提高系统资源的利用率、保证应用系统的数据安全、缩短应用系统的故障恢复时间、降低机房能耗,成了台站信息化建设值得考虑的一大难题。服务器虚拟化的出现,为解决以上问题提供了有力保障,一方面可以将多台物理服务器进行整合、提高现有设备的资源利用率,减少机房服务器数量、简化台站的基础架构,降低管理成本、缩短应用交付时间、实现快速自动化部署;而且通过虚拟化集群提供的负载均衡、服务高可用、双机热备份等方案提高业务连续性、缩短非计划停机时间[4],进一步优化台站的气象信息系统应用。

1 服务器虚拟化

1.1 技术概述

硬件虚拟化是一种将硬件资源转变为软件的技术。通过该技术,可以在一台计算机上以虚拟机的形式运行多个操作系统,且让这些操作系统觉得自身好像是拥有独立的硬件设备,而不是和别的操作系统分享相同的物理硬件设备。提供这个核心功能的组件Hypervisor,是各种硬件虚拟化技术的基石,它是运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享基础硬件。运行在Hypervisor上的VMM(Virtual Machine Monitor),即虚拟机监视器,是一种将单个硬件平台划分成一个或多个虚拟机的软件抽象层,VMM给每一台虚拟机分配CPU、内存和I/O资源,负责运行传统的操作系统,每一个划分后的虚拟机的硬件都与位于下层的物理机硬件非常相似,从而实现服务器的虚拟化[5-7]。

1.2 虚拟化的种类

由于Hypervisor是硬件虚拟化的底层技术实现,因此,虚拟化的程度、功能和性能极大的取决Hypervisor的架构和实现方式。目前Hypervisor主要分为原生及寄居两种架构。所谓原生架构,就是Hypervisor本身不需要依赖任何操作系统,或者说Hypervisor本身就是一个操作系统,只是这个操作系统专门为虚拟机服务;而寄居架构,是把Hypervisor看成一个应用软件或者服务,运行在已安装好的操作系统上,依赖宿主操作系统进行服务。

1.2.1 原生架构

原生架构也称作裸机虚拟化,在该架构中,Hypervisor直接安装为操作系统,接管所有的硬件资源,负责和上层的VM操作系统沟通和资源调度。其优点是稳定,Hypervisor的代码少则几千行,多的也不超过百兆,因而性能也是比较高的;缺点是对硬件依赖性较强,

Hypervisor往往是针对某一类硬件平台进行开发,兼容性较差。原生架构的典型产品包括:VMware vSphere、Microsoft Hyper-V、Citrix XenServer、RedHat KVM,以及开源架构Xen和Qemm等。

1.2.2 寄居架构

相对原生架构,寄居架构是指将Hypervisor包装为应用软件,有选择的安装在某个操作系统之上。其优点是硬件兼容性好,只要是所依赖的操作系统支持的硬件平台都可以安装并使用,也由于其寄居在其他操作系统之上,稳定性和性能会有所下降,且宿主操作系统出现任何问题都会影响到Hypervisor,导致其上的虚拟机都无法使用。寄居架构的典型产品包括:VMware workstation、Microsoft Virtual PC、Oracle VirtualBox、Parallels Virtuozzo Containers等。两种架构的结构如图1所示:

1.3 部署适合台站信息化的虚拟化产品

虽然寄居架构的Hypervisor选择面比原生架构产品要多、商业软件的授权费用更为低廉、亦可以选择免费或开源的软件产品、操作使用上也更为灵活,但在部署虚拟化时,我们更多的是关注运行在宿主机上面的虚拟机,而且完成动态资源分配、动态迁移、集群、服务高可用、负载均衡、热备等企业级应用方面部署起来较为复杂。因此,在台站气象信息系统的虚拟化过程中不建议采用寄居架构的产品,而应选择功能更强大、性能更优越、服务更稳定的原生架构虚拟化产品,以期提供更好的硬件资源利用率、完善的虚拟机管理平台和与台站异构环境集成等。

2 VMware虚拟化实现

2.1 主流虚拟化产品介绍

现阶段主流x86原生架构的Hypervisor包括VMware vSphere、Microsoft Hyper-V、Citrix XenServer和RedHat KVM。VMware是最早将虚拟化技术从大型机引入x86架构的厂商,在业界占有较高的市场份额;Hyper-V是微软提出的一种系统管理程序虚拟化技术,也是Windows Server2008 R2中的一个角色;Citrix XenServer其核心Xen是剑桥大学开发的一个开源Hypervisor,Xen对系统资源的占用是所有主流产品中最小的;RedHat KVM即基于内核的虚拟机(Kernel-based Virtual Machine),由Linux内核模块实现[9-13]。

2.2 VMware vSphere虚拟化环境搭建

vSphere的各个组件均可在VMware网站上下载,搭建VMware vSphere虚拟化环境,本地至少需要准备一台x86硬件服务器,vSphere高级功能如FT、TXT、VSA和IO直取等对硬件有更为苛刻的要求,部署时要根据兼容性列表检查服务器硬件的配置。ESXi的入门级功能对用户是免费的,在其网站上可申请到许可证,而高级版本和vCenter Server也提供了60天的试用期,足以评估虚拟化技术在气象信息系统应用上的改善效果。

2.2.1 安装并使用ESXi

安装ESXi的步骤与常规安装操作系统的步骤基本一致,只需将下载的ISO文件刻录成光盘,然后从光驱引导启动服务器,在安装程序指引下,配置存储、网络地址和管理员密码即可完成,一个基本的虚拟化环境也就此创建完毕。在一台Windows终端上安装vSphere Client,通过网络访问ESXi主机,即可将Micaps服务器、公共气象服务信息发布管理系统、SWAN服务器、OA办公自动化系统等进行虚拟化迁移和应用。

2.2.2 安装vCenter

使用vSphere Client访问ESXi主机,只能对虚拟机做简单创建、启动、修改、删除等基本操作。vCenter将多台计算服务器的资源统一为集群,使得这些资源能够在数据中心环境中的虚拟机之间实现共享,还可管理虚拟机在计算服务器上的分配,以及资源到给定计算服务器内虚拟机的分配,并提供更全面的数据中心管理功能。

在安装好Windows Server2008 R2的服务器上,放入vCenter的安装光盘,在安装程序引导下,配置数据库和管理口令,对大部分的县市级应用系统,选择中小规模部署即可,完成安装后,通过vSphere Client访问vCenter,在主页上即可看到主机、网络、集群和分布式应用等丰富的数据中心管理功能。

3 虚拟化的高级应用

上述部署好ESXi主机和vCenter之后,一个虚拟化的气象信息系统业已构建起来,但由于数据和计算资源都集中在一台主机上,一旦主机发生硬件故障,业务仍然会出现较长时间的中断,配置两台以上的计算服务器和独立存储系统,可以大大加强系统的可靠性。

3.1 创建数据中心

在vCenter Server中先创建一个数据中心,然后创建集群,依次添加ESXi主机,创建或迁移来自物理服务器的虚拟机,即可完成一个虚拟化集群的应用。虚拟化气象数据中心的应用如图2所示:

3.2 服务高可用

创建集群的目的,是为了降低单点故障对业务系统的影响,服务高可用的定义是保护要求24小时在线的应用系统,但可以允许有短暂的停机时间。vCenter在激活HA功能后,会在加入集群的主机中安装HA代理,代理通过心跳网络嗅探其他主机的运行状态,当心跳探测失败时,主机根据算法释放其管理的虚拟机,其他主机探测到共享存储中的虚拟机文件已被解锁,会将虚拟机重启并纳入其自身对外提供服务,从而实现服务高可用功能[16]。

根据主机的性能,在配置集群时勾选“打开vSphere HA”、调整集群中允许故障的主机数量、配置启用HA的虚拟机,即可实现气象信息系统的服务高可用。这里我们分别打开了气象数据查询系统、SWAN服务器、OA办公自动化系统和气象资料文件服务器的服务高可用。

3.3 容错应用

现有的气象信息系统中,最重要的应用包括Micaps服务器、公共气象服务信息发布管理平台以及对应的数据库,由于服务高可用在探测到触发执行过程中,会出现短暂的服务中断,为了确保上述应用不间断,需要为其部署双机热备份。Fault Tolerance使用VMware vLockstep技术实现双机热备,虚拟机启用FT后,会在集群的另一台主机上创建一个相同的辅助虚拟机,vLockstep捕获主虚拟机上发生的输入和事件,并将这些输入和事件发送给辅助虚拟机,两台虚拟机一起以虚拟锁步方式运行并持续交换检测信号,其中一台故障时,主机都可以无中断地接管任意IO和事件的执行,从而提供容错保护。

创建虚拟机后,单击右键,选择“Fault Tolerance”,“打开Fault Tolerance”即可打开容错应用。

3.4 虚拟机备份与还原

vSphere将虚拟机封装成虚拟机磁盘格式文件即VMDK,在虚拟机运行期间,VMDK是不断在变化的,此时复制VMDK文件并不能完成虚拟机的备份,一旦VMDK出现错误或损坏,将导致虚拟机无法工作并出现生产数据丢失,因此,做好虚拟机的备份,也是确保应用系统数据安全的必要操作。VMware Data Recovery是实现虚拟机自动化备份的一种实现方式,VDR基于vCenter提供服务,执行备份时,首先创建虚拟机文件快照,然后将快照文件克隆至目标存储设备,实现磁盘数据级别的虚拟机备份和恢复。

在运行vSphere Client的客户机上,放入VDR安装光盘,根据安装向导完成VDR插件的安装,完成后使用vSphere Client重新连接vCenter,在“解决方案和应用程序”一栏可以看到VDR插件已经安装成功,再通过部署OVF模板的方式安装导入VDR,根据向导配置VDR虚拟机,在vSphere Client上通过插件连接VDR,就可以创建虚拟机的备份或还原任务。

至此,一个完整的气象信息系统虚拟化应用已构建完成,还可以尝试将更多的物理系统迁移至虚拟化环境中,或者扩展为台站气象私有云应用。

4 结束语

服务器虚拟化技术能够带来诸多好处,利用该技术优化气象信息系统的建设是可行的。一方面能够在一定程度上减少服务器的数量,提高服务器的资源利用率,降低台站中心机房的维护成本;另一方面也提高了应用系统的服务质量。台站在实施过程中,可以充分利用现有的硬件设备,配合FreeNAS、Openfiler等软件搭建多个iSCSI存储系统,用于构建低成本、高可用的虚拟化环境,因为购置高性能服务器、组建SAN环境的成本较高,且当可虚拟化的服务器达到一定数量后,虚拟化方案才有比较可观的效益回报。

在部署服务器虚拟化时,还需检查应用系统外接的设备可否被虚拟机所支持,综合考虑各个系统的应用规模,避免将频繁读写的应用放到同一台宿主机或同一个存储资源池、避免一台宿主机上承载太多的虚拟机等,以免事倍功半。以佛山局为例,通过部署虚拟化,我们缩减了十多台物理服务器,降低能耗、简化了网络和系统的维护管理,基于虚拟化环境中的高可用和定时备份,将信息系统的单点故障将至最低,使得各类业务应用的稳定性和可靠性得到明显的提升,依托这些稳定的系统,为各类气象服务提供强有力的支持和保障。

参考文献

[1]李来祥.服务器虚拟化在数据中心机房中的应用[J].计算机光盘软件与应用,2010,6:108.

[2]袁志福,关晓军,郭彩莲.虚拟化技术在气象信息系统中的应用[J].青海气象,2009,04:45-47.

[3]耿新民,王少峰,许飞.基于VMware的高可用性集群在电力信息系统中的应用[J].上海电力学院学报,2010,26(2):193-196.

[4]VMware.虚拟化入门[OL]:http://www.vmware.com/cn/virtualization/.

[5]VMware.VMware vSphere4.1培训教材[EB].

[6]胡嘉玺.虚拟智慧,VMware vSphere 运维实录[M].北京:清华大学出版社.2011.

[7] 龚爱斐,张文静.服务器主流虚拟化技术研究与比较[OL]: http://www.paper.edu.cn/index.php/default/releasepaper/content/200902-1191.

[8]wikipedia.Hypervisor介绍[OL]:http://en.wikipedia.org/wiki/Hypervisor.

[9]xjtumstc.服务器虚拟化[OL]:http://wiki.xjtumstc.com/服务器虚拟化.

[10]VMware.VMware vSphere基础[OL]:http://www.vmware.com/cn/support/pubs.

[11] wikipedia.Hyper-V[OL]:http://en.wikipedia.org/wiki/Hyper-V.

[12]宋吉广.Linux内核虚拟化KVM详解[J].软件世界,2007,6(5):48.

[13]崔泽永,赵会群,基于KVM的虚拟化研究与应用[J].计算机技术与发展,2011,06:108-115.

[14]郑海斌.虚拟化工程应用及效益分析[J].计算机光盘软件与应用.2010,14:33-35.

作者简介:陆明典(1984年生),男,助理工程师,学士,主要从事气象信息网络和软件开发等方面的研究。

猜你喜欢

虚拟化气象服务器
气象树
《内蒙古气象》征稿简则
通信控制服务器(CCS)维护终端的设计与实现
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
大国气象
美丽的气象奇观
虚拟化技术在计算机技术创造中的应用
得形忘意的服务器标准
计算机网络安全服务器入侵与防御