APP下载

虚拟化技术在复证测试中的应用

2014-02-16滕晓晓

电子测试 2014年20期
关键词:测试环境快照虚拟化

寇 鹏, 张 韵,滕晓晓

虚拟化技术在复证测试中的应用

寇 鹏, 张 韵,滕晓晓

(上海通用识别技术研究所,201112)

系统虚拟化技术具有提高资源利用率、虚拟机隔离性、硬件无关性、封装性及特权功能等优良特性,这些特性能够为复证测试系统的搭建和使用提供很大的便利性和其他一些纯硬件环境无法具备的优势。本文阐述了系统虚拟化的相关技术,分析了系统虚拟化技术的优势和应用,并详细探讨了虚拟化技术在复证测试系统中如何应用和具备哪些优势。

虚拟化;复证测试;VMware ESX;VMware vSphere

0 引言

近年来,虚拟化以其高效使用计算机系统资源、提供良好隔离机制等优势,越来越多地成为信息技术领域的研究热点。以VMware为代表的虚拟化技术产品在各大中小型企业和各大数据中心中得到了广泛应用,其中最为著名且市场占有率最高的莫过于VMware的vSphere。除此之外,还有KVM,Xen等成熟的虚拟化产品。虚拟化技术具有很多普通IT环境无法达到的优势,虚拟化技术能够整合企业的服务器资源,降低企业购买硬件设备和能耗的开支,减少成本。同时虚拟化技术提供了快速部署、硬件无关性等特性,具有广泛的应用前景。

复证测试环境需要在短时间内置备数量庞大的测试系统,同时系统的部署千变万化,使用纯物理环境很难满足上述要求,虚拟化以其独特的功能和特性,在复证测试环境的部署和应用上,具有重要意义。

1 系统虚拟化

1.1 系统虚拟化技术

系统虚拟化是指在一台物理计算机上提供多个相互隔离的虚拟执行环境,执行环境之间使用不同的磁盘和内存区域,分时使用共享的处理器、网络设备等资源。如图1所示,系统虚拟化技术不仅能够提高硬件资源的使用效率,降低系统运行的成本开销,而且高度的隔离性使虚拟机之间互不影响,同时使虚拟机与硬件之间没有直接关联。另外,用于完成指令模拟和硬件复用的虚拟化层,能够提供以往操作系统所无法提供的功能。

图1 系统虚拟化

系统虚拟化技术对物理资源的虚拟化主要是通过处理器虚拟化、内存虚拟化和I/O虚拟化来实现的。

处理器虚拟化技术能够使客户虚拟机在执行敏感指令时触发异常,陷入到虚拟化层,由虚拟化层进行指令模拟,以防敏感指令对虚拟化层造成破坏。

内存虚拟化通过提供介于物理内存地址空间和客户虚拟机虚拟内存地址空间之间的客户物理内存地址空间,使客户虚拟机操作系统仍认为其掌握着对一个地址从0开始且连续的物理内存空间的管理。不仅使虚拟化层为各个虚拟机很好的分配了物理内存地址,而且保证了良好的内存隔离,同时使客户虚拟机能够正常运行。如图2所示。

图2 内存虚拟化

I/O虚拟化就是使虚拟化层截获客户虚拟机操作系统对I/O设备访问请求,再通过软件的方式模拟物理设备的反馈返回给客户虚拟机,或者将请求进行集中排队,依次调度给真实的物理设备,再将反馈结果返回给对应的客户虚拟机。I/O虚拟化同时还能模拟出计算机系统中并不存在的物理设备,在物理资源有限的条件下,满足客户虚拟机的配置要求。

1.2 系统虚拟化的优势

虚拟化技术的优势主要有以下几个方面。

(1)提高资源利用率

操作系统的运行对资源的占用是具有分时特性的,资源的占用状态有忙有闲,多个虚拟机实例运行在同一物理计算机上,通过合理的调度,可以使系统资源的利用率得到很大的提高。通过对物理计算机性能的充分调动,使原来需要多个服务器同时运行才能达到的要求,通过将服务器以虚拟机的形式合理地整合到少量的物理服务器上就可以达到。有效地节省了购买硬件设备的成本,提高了企业的效益。虚拟化技术为公司节约大量的硬件开销,降低了系统管理的花费,节约人力资源,提高了旧业务系统的性能,还降低了新系统的开发部署成本。

(2)虚拟机隔离性

系统虚拟化技术将多个虚拟机整合在同一个物理机上运行,必须解决的问题就是隔离,多个虚拟机在相互隔离的环境下互不影响地运行。如果一台虚拟机因操作系统或其应用程序的故障导致异常甚至崩溃,这种故障和对系统的破坏会被封闭在一个虚拟机中,不会影响到其他虚拟机的正常运行。这种特性可以被用户用来测试不稳定的软件系统或制作吸引攻击的蜜罐系统以保护真正的服务程序。

(3)硬件无关性

虚拟机与底层硬件之间存在一个虚拟化层软件,使虚拟机和硬件之间没有直接的联系。因此,通过对虚拟化层的开发,模拟出适合于不同操作系统的硬件环境,就可以对上层虚拟机隐藏硬件的异构性,从而便于虚拟机从一台物理机迁移到另一台不同硬件结构的物理机上。虚拟机迁移技术也是虚拟化技术的研究热点。

(4)封装性

系统虚拟化技术将虚拟机整体封装起来,这种封装使得用户对虚拟机运行环境的保存、恢复等操作非常方便。如快照、克隆和挂起等功能。

虚拟机快照功能可以将运行中的虚拟机所有状态抓取并保存下来,当系统出现无法解决的故障时,可以通过快照进行所有状态的还原,恢复系统在某个过去的时间点上的正常运行状态。虚拟机克隆功能可以完整地把一个虚拟机复制为多份,得到多个相同的执行环境。虚拟机挂起功能如同操作系统的休眠功能,可以将系统的运行暂停下来,将虚拟机的运行状态保存在磁盘上,当恢复运行时,暂停前的虚拟机运行状态完整地恢复出来,系统从暂停时的状态开始继续运行。封装性使服务和运行环境能够更为便捷地部署,同时能够在计算机取证和灾难恢复等领域发挥很大作用。

(5)特权功能

虚拟化层是比操作系统更为底层的系统软件,具有更高的特权级。虚拟化层可以在虚拟机操作系统没有察觉的的情况下,更全面地监测虚拟机的运行。目前基于这一特性的研究和应用已经大量存在。

1.3 系统虚拟化的应用

伴随着虚拟化技术的成熟,很多企业和机构都把它应用在自己的基础架构建设上,总体来说主要有以下几个方面。

(1)服务器整合

虚拟化技术最为典型的应用就是服务器整合,在一台服务器上按不同的需求虚拟出多个虚拟机,让每个服务都运行在不同的虚拟机上,不仅能够充分利用已有的服务器资源,而且虚拟机互相隔离的特性能够为服务程序提供独立的执行环境,系统的稳定性、安全性和可扩展性能够得到很好的保障。

(2)灾难恢复

虚拟化技术在灾难恢复中的应用主要体现在三个方面,第一是虚拟机的独立性使客户虚拟机以文件的形式存在,这样备份程序可以通过普通的文件复制操作对系统进行备份,避免了重装操作系统和服务程序,大大增加了备份和恢复的速度。第二是由于虚拟化技术能够对上层系统屏蔽底层硬件的特殊性,备份恢复能够在任何硬件平台上运行,增强灾难恢复的可靠性。第三是虚拟化技术在服务器整合方面具有良好的特性,从而降低灾难恢复方面的成本开销。

(3)增强系统的安全性和可信性

虚拟机技术在提供安全性和可信性保护方面有着得天独厚的优势,首先是通过虚拟机技术提供的各客户机之间和虚拟机与宿主机之间的高隔离性,用户数据的私密性能够得到很好的保护;其次是虚拟机技术具有对系统资源的完全控制权,虚拟机系统能够对程序的执行和客户虚拟机的运行进行全面监控,当不满足安全策略时,程序的执行就被阻止,从而可以保护用户数据的完整性;再次是可以利用虚拟机进行病毒等恶意软件的测评,病毒和恶意软件对系统的破坏可以被控制在某个客户虚拟机中,从而保护宿主机系统和其他系统不被影响。

2 虚拟化技术在复证测试中的应用

复证测试系统需要在短时间内给操作者提供大量完备的测试环境,同时能够尽可能高效地完成测试过程,并在测试后,对测试环境快速恢复。虚拟化技术针对这些需求具有良好的适应性,主要体现在以下几个方面:

(1)节约硬件资源。绝大部分的测试环境往往不需要占用很多资源,而为了保证测试的完备性,测试环境的规模需要很庞大。虚拟化技术能够高效的整合有限的服务器资源,提供最为真实的环境模拟。

(2)快速部署和恢复。虚拟机的创建可以通过虚拟化软件提供的虚拟机模板和虚拟机克隆功能,测试环境能够实现分钟级的部署。结合虚拟化软件提供的网络模拟功能,还能够提供网络环境的快速部署功能,从而省去了安装操作系统、应用软件和部署网络的时间及人力。同时测试环境能够在使用后通过虚拟化软件提供的快照功能进行保存和恢复,能够在测试结束后快速恢复测试环境,不仅省去了对测试环境的清理工作,也无需担心清理工作的不彻底导致之后测试结果的不正确。

(3)底层特权功能。很多测试需要深入了解软件的运行状态和系统行为,而在主机中安装监控软件本身就会对测试环境造成不同程度的影响,通过虚拟化层软件直接监控虚拟机的运行状态和系统行为能够真实地反映被测试软件或系统的运行状况,得出更为确切地结果。

基于VMware vSphere的复证测试系统总体架构如图3所示。

图3 复证测试系统架构

每个物理服务器均安装VMware ESX虚拟化软件,VMware ESX相当于一个轻量级的操作系统,它的安装和运行只需占用很少的磁盘空间和内存。安装好之后,每个物理服务器可以根据自己的硬件资源情况虚拟出多个不同操作系统的虚拟机。虚拟机通过管理端远程进行管理。

管理端安装vSphere Client软件,远程连接安装了VMware ESX的服务器。通过vSphere Client可以创建、销毁虚拟机,同时能够对虚拟机执行快照、克隆等管理操作,并能够进入虚拟机,进行各种测试工作。vSphere Client还能够对物理服务器进行资源的监控和配置。

VMware vSphere还提供了vCenter,用来对多个服务器进行集中管理,在管理端安装vCenter Server后,通过vSphere Client连接到vCenter Server,将整个架构看作一个数据中心,每个主机就是指每个物理服务器,主机上运行多个虚拟机。通过vCenter,能够对数据中心中的虚拟机进行集中管理,更加方便,效率更高。

一个完整的复证测试过程如下:

(1)准备测试环境

根据测试的具体要求,使用vSphere Client创建虚拟机,并安装对应的操作系统及上层应用软件。如有需要,可先将虚拟机连接到互联网,进行系统及软件的更新。得到完备的测试环境后,对该虚拟机执行快照操作,保存当前的测试环境,以便测试完成后能够快速恢复,执行下一个测试任务。

(2)执行测试任务

进入虚拟机环境,执行测试任务。由于虚拟机的隔离特性,可以在多个虚拟机上同时运行不同的测试任务,虚拟机之间互不干扰。即便发生故障,导致虚拟机环境被破坏,也不会影响到其他虚拟机的运行。通过还原快照,便可以迅速消除故障带来的影响。

(3)输出测试结果

根据测试过程的进展,得到测试的结果,测试的结果能够直观的反应在操作者面前,也能够通过虚拟化层从底层监控虚拟机的状态,甚至在不影响虚拟机运行的情况下获取软件在底层发生的行为,获得更加深入,更加详细的测试结果。测试完成后,通过恢复快照,能够迅速获得测试前的系统环境,不会影响下一次的测试任务执行。

3 小结

本文主要对虚拟化技术从其技术实现、具备的优势和典型应用方便进行了详细的阐述,提出虚拟化技术具备提高资源利用率、虚拟机隔离性、硬件无关性、封装性以及特权功能等五个方面的独特优势,在服务器整合,灾难恢复和增强系统的安全性和可信性方面得到了广泛应用。

本文根据复证测试系统的特点,指出虚拟化技术在复证测试系统的搭建和使用中具有良好的适应性,能够充分利用其节约硬件资源,快速部署和恢复,底层特权功能等特性搭建和使用复证测试系统。

本文最后给出一个基于VMware vSphere的复证测试系统的模型,并简述了一个完整测试的流程。

[1] N.Susanta,C.Tzi-cker.A Survey on Virtualization Technologies[R].Experimental Computer Systems Lab, 2005.

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

[3] 王春海.VMware Workstation与ESX Server典型应用指南[M].中国铁道出版社,北京,2011.

Virtualization technology application in the verification test

Kou Peng,Zhang Yun,Teng Xiaoxiao
(Shanghai General Recognition Technology Institute,201112)

System virtualization technology has excellent features,it helps to improve resource utilization, virtual machine isolation,hardware-independence,platform encapsulation and privileged functionality,etc. These features provide a great convenience and lots of advantages for the construction and application of the verification test system,which bare hardware environment can seldom have.This paper illustrates the system virtualization technologies,analyzes their advantages and existing applications.It also discusses in detail on how we apply the virtualization technology to the verification test system and what the advantages of this application are.

Virtualization;Verification Test;VMware ESX;VMware vSphere

猜你喜欢

测试环境快照虚拟化
EMC存储快照功能分析
全数字仿真测试环境在航天软件测试中的应用研究
雷达航迹处理测试环境构建方法研究
基于OpenStack虚拟化网络管理平台的设计与实现
网络设备自动化测试设计与实现
对基于Docker的虚拟化技术的几点探讨
一种基于Linux 标准分区的快照方法
创建磁盘组备份快照
H3C CAS 云计算管理平台上虚拟化安全防护的实现
存储虚拟化还有优势吗?