虚拟机技术应用研究

2024-08-31

虚拟机技术应用研究(精选十篇)

虚拟机技术应用研究 篇1

1 Windows Server 2008 Hyper-V概述分析

1.1 最新的技术核心—Hyper-V功能

Windows Server 2008 Hyper-V,是基于新一代的服务器虚拟化技术。它有别于VMware等公司的虚拟化系统管理程序,它是Windows Server 2008中包含的重要特性,Hyper-V技术的整合可以让用户轻松实现虚拟化功能。Hyper-V功能的使用让我们可以在一台物理主机上运行多个用户自定义的虚拟机,用户能够充分调用现有的服务器硬件资源。简单的说就是能在一台服务器上,同时高效的跑上多个操作系统,而彼此间几乎没有影响。举例说Windows XP、Windows 2003、和众多基于Linux体系的一些其它版本的操作系统,如Ubuntu等我们都实验过可以正常运行。

1.2 Hyper-V的架构

由于Hyper-V功能是一个系统管理程序,因此它不仅能够提供可靠的虚拟化平台,能为客户因使用虚拟架构而带来降低费用的好处,而且它的架构也不同一般的ESX虚拟机产品,Hyper-V属于瘦微核的管理程序架构,以现在的技术观点看来优点很多,这些优点可以帮助用户减少受到各种攻击的风险,包括来自体系内部和外部的。因此能够起到高效的服务器核心角色作用。合理运用Hyper-V系统中的管理工具,我们就能够管理物理机资源和分配虚拟机资源了,究竟有哪些我们最感兴趣的功能呢?我们通过下面的段落用用最直白简单的文字介绍给大家。

1.3 Hyper-V主要特性和核心功能分析介绍

Hyper-V功能是Windows Server 2008的一个核心功能,它合理的与管理工具相结合之后,就可以让客户能够充分管理物理机和虚拟机的资源,能够创造丰富多样的配置文件。

1.3.1 快速迁移特性

简单的说快速迁移特性就是能利用最小的停机时间,将正常运行的虚拟主机完整地从一个物理主机迁移到另一个物理主机上而不损失任何特性和付出任何额外的代价。

1.3.2 高可用特性

高可用性是指可以提供不同主机之间的联通特性,可以保证以集群方式运行的虚拟主机安全的运行在同一个物理主机或主机群上。

1.3.3 核心角色功能

Hyper-V功能作为一个操作系统核心的功能,无缝的内置于Windows 2008操作系统中中,是操作系统不可分割的一部分。体现在它已经完整的集成到服务器管理中,管理运行在Hyper-V中的虚拟机几乎不依靠任何外部工具。

1.3.4 实时备份功能

使用实时备份功能这项技术,可以将正在运行的虚拟主机,用虚拟映射功能完成实时的数据备份。合理设计虚拟机的备份数据间隔和备份时机,避开应用高峰期。然后通过不同的主机克隆虚拟机。

1.3.5 多CPU SMP支持

能够在虚拟机环境中支持多达4个多处理器(SMP),在虚拟机中利用多线程优势运行用户自己的应用程序,能极大的提高虚拟机的数据运算和处理能力。

1.3.6 虚拟硬盘技术

利用Hyper-V中的虚拟硬盘技术可创建多个虚拟硬盘,每个虚拟硬盘可以是基于IDE控制器或者SCSI控制器。提供对虚拟硬盘的压缩、监控和整理。有意思的增量硬盘工作方式大家有机会也可以试验下,工作效率非常高。

1.3.7 增加了虚拟SCSI控制器的支持

在每台虚拟机上,每个Hyper-V虚拟机现在可以添加4个SCSI控制器供虚拟机中的各种设备调用,SCSI高带宽的优势使得CPU在系统繁忙的IO处理中解脱出来。

1.3.8 虚拟机快照功能

微软虚拟化提供给运行的虚拟机拍快照的能力,通过建立关键点的快照可以轻松地返回到前一个状态,改进了整个备份和可恢复的解决方案。此功能在测试软件兼容性和重大改进时非常好用,可以一键恢复原始状态或者某个中间过程状态,而且可以建立多个不同的快照。

1.3.9 增加了单个虚拟机的内存支持

每个独立运行的虚拟机中,理论上可以支持最大64GB的内存,极大的提高了虚拟机的性能,增加了系统的灵活性和可定制性。

1.3.1 0 新的硬件共享体系结构

通过运行全新的虚拟服务,可以提供服务器和客户端体系结构,Windows Server 2008R2 with Hyper-V改进了对核心资源,如物理磁盘、网络通信、外部设备等的访问。

1.3.1 1 创新的Hypervisor体系

通过新开发的微核心Hypervisor体系结构,Windows Server 2008 Hyper-V能够使用广泛的设备支持和安全性能。

1.3.1 2 设计先进的网络负载平衡

Windows Server 2008 R2 with Hyper-V包括了虚拟交换功能。这就意味着虚拟机可以轻松地配置成与Windows网络均衡系统一起运行以便在不同的服务器上跨虚拟机平衡负载。

2 Windows Server 2008中Hyper-V功能的主要应用领域

2.1 广泛的用于服务器整合

采用虚拟化技术的一个主要目标就是利用服务器合并功能。通过服务器整合来简化管理流程并降低管理成本和人员成本同时保持竞争优势。虚拟化技术是帮助将属个服务器合并到单一物理服务器上,同时保持各虚拟服务器的相对独立性。服务器整合的一个主要好处是降低总体拥有成本(TCO),服务器整合后不仅降低了对硬件的性能需求,而且减少了电能的消耗和人员管理成本。服务器整合后另一个好处就是优化基础架构,从固定资产使用率的角度和平衡工作量的方面进行优化。多个分散的物理服务器整合后的好处是改进整个使用环境的灵活性。举例说在同一环境中我们可以更加集中的使用现有的资源创造定制的虚拟机供我们分析测试和研究。

2.2 有利于业务的连续性和发生事故后的工作环境恢复

业务的连续性是指尽量减少按照计划进行的停机和意外因素导致停机时间的能力。包括在日常系统维护上占用的时间,如系统日志清理维护和日常备份等,如果遇到突发的系统崩溃,利用微软虚拟化技术中强大的业务连续性功能,使得关键业务能够完整运行,对外无缝和可持续运行。故障恢复模块是业务连续性的一个重要组件。突发的自然灾害和恶意攻击、甚至简单配置问题都可能破坏核心服务和重点应用程序,此时就需要系统管理员利用此功能快速解决问题并恢复备份的数据。因此快速可靠的事故和业务恢复能力可以帮助我们把损失减少到最小。

2.3 用于软件测试和预先部署测试

软件测试和预先部署测试常常是企业最高兴利用虚拟化技术的业务功能之一。通过使用虚拟机,负责软件测试和预先部署的人员可以在安全的环境中创建和测试各种可能的情况,精确地模拟物理服务器和最终客户端的一切危险的操作行为,包括兼容性测试、病毒入侵测试和网络攻击等等。通过测试硬件的利用率可提前预测如何减少成本和改进运行流程。通过运行大量的不同类型客户机操作系统,可以检查软件的支持和兼容问题,微软虚拟化为客户的测试和部署环境提供了一个非常理想的测试空间,在此,用户有了一个可以完全不用顾忌任何风险的平台。

3 计量业务软件平台中实施Hyper-V

3.1 安装Hyper-V的操作系统选择

在现有的Windows server2008发行版本中,企业版、数据中心版和标准版这三个版本都能支持虚拟化技术,都可以完整的配置Hyper-V角色。从费用和用途角度考虑,我们选用了费用最低的Windows Server 2008标准版。选择此版本的另一个原因是要考虑与其配合的服务器配置,只有充分配合,才能总体降低费用,物尽其用。

3.2 软件运行硬件平台的选择

运行计量业务软件环境安装Hyper-V的硬件条件之一是需要特定的处理器,即包含有Intel VT或AMD V这两大类功能的CPU。在计量应用软件的硬件平台上我们选用了惠普公司的380G5系列服务器,处理器采用双路英特尔四核至强E5420处理器,四核共享8MB二级缓存,前端总线1333MHz。主板芯片组采用Intel 5000P,内存8GB ECC DDR-667全缓冲内存,数据带宽可达21GB s,提供了较大的数据吞吐量。

虚拟机在每个物理主机上能运行的数量取决的因素很多,举例来说主机的物理内存数量、物理处理器的数量、每个虚拟机的负载大小等都是重要影响因素。配置Hyper-V角色功能,就可以自定义分配给每个虚拟机的内存大小和CPU、磁盘、网络资源带宽等用量。当今服务器的运算功能都很强大,每个公司要结合自己的业务特点和需求综合考虑服务器的投资,既要有一定的前瞻性,又不至于过度投资暂时用不上的功能和配置。

3.3 按功能需求划分虚拟机

物理主机上利用Hyper-V建设完成后的虚拟机共有3个,一个运行主计量业务软件,只配置了基本运行环境和防火墙数据库等运行环境,到现在已经安全运行二年多,期间经历过突然断电、虚拟磁盘空间耗尽停机等意外事件,均恢复运行正常;另外2个虚拟机运行内部BBS和网站,网络办公平台。得益于服务器双千兆网卡带来的带宽,我们对内网和外网进行了隔离,从设计上分离不同业务和用户群,避免数据外泄和病毒入侵的可能。

3.4 功能强大的iLO2功能

iLO2功能并不属于Hyper-V,它是Intergrated Light-Out的缩写,是惠普公司特有的远程服务器管理功能,目前最新的版本是iLO2。通过授权的iLO2可以实现硬件级别的服务器远程管理,通过它我们能够操作包括开关机、重启、服务器运行状态的监控、虚拟KVM等,通过回传的远程画面,犹如亲自在主机面前操作一样,同时又避免了机房的噪音和电磁污染对管理员的侵害。在惠普服务器集成的iLO2控制芯片,使管理员可以通过Web方式远程进行控制管理,配置过程和管理过程都非常轻松简便,同时也降低了企业TCO成本。即使遇到服务器硬件宕机的情况,我们也有机会让服务器重新运行起来而不必亲自到现场进行操作。

4 结论

以上内容,我们只是通过计量业务软件的应用简要分析了微软的最新虚拟化产品实施的可行性和需要注意的问题。至于它的创建、部署、迁移、管理、监控、使用等诸多应用和实战方面的内容并未整理介绍。由于国内虚拟化还在起步之初,因此,究竟使用效果如何,客户的评判怎样。还需要在今后的推广和逐步应用中加以总结和分析。微软虚拟化降低了数据中心的成本,从而进一步帮助企业强化业务持续性。可以预见,虚拟化主机技术必将在很多领域大展宏图,为创建节约型社会出一份力量。

参考文献

[1]刘钢,吴微.OfficeStation在计量管理办公系统中的应用研究[J].电脑知识与技术,2010,6(28):8104-8111.

虚拟机应用与感受 篇2

虚拟机是一个虚拟系统平台,嫁接在真实的物理平台之上,安装到系统里面以后,可以在虚拟机中安装多个操作系统如windows,linux等。理论上虚拟机可以使虚拟系统和真实系统完全隔离开,使用虚拟系统上网可以避免在遭受网络攻击时导致真实系统崩溃,瘫痪的也只是虚拟系统,针对服务器虚拟化是适用于核心业务,还是适用于周边业务,电话调查和网络调查的结果略有差异。45%的电话调查受访者表示服务器虚拟化仅适用于“安全性要求较低和访问量较低的周边业务,如DNS、目录、身份认证等”;而在网络调查中,只有36%的人表示虚拟化仅适用于周边业务,比持核心业务论观点的受访者比例高1个百分点。该项调查表明,多数用户还是希望先将周边业务运行在虚拟服务器上,然后再考虑核心业务的迁移。这也说明,用户对虚拟化应用的安全可靠性存在较大的顾虑

一、功能:同意时刻运行多个系统

二、VMware 的特点

1、虽然VMware只是模拟一个虚拟的计算机,但是它就像物理计算机一样提供了BIOS,你可以相同的方法更改BOIS的参数设置。你不需要重新启动就可以同时在一台计算机上运行多个操作系统,可以是在窗口模式下运行客户机,也可以在全屏模式下运行,当你从Guest OS切换到Host OS屏幕之后,系统将自动保存Guest OS 上运行的所有任务,以避免由于Host OS的崩溃,而损失Guest OS应用程序中数据。

2、每一个在主机上运行的虚拟机操作系统都是相对独立的,拥有自己独立的网络地址,就像单机运行一个操作系统一样,提供全部的功能,当然,如果你的计算机内存比较小的话,你明显感觉到速度很慢。最令人兴奋的是,当你的计算机在同时运行多个操作系统的情况下,如果,其中一个Guest OS的崩溃,但是并不影响 其它Guest OS的正常运行。

3、在虚拟机上安装同一种操作系统的另一发行版,不需要重新对硬盘进行分区,比如,你可以在Red Hat Linux的一个目录下,安装Turbo Linux 或者其它的Linux 版本,而不需要重新分区。

4、虚拟机之间支持TCP/IP、Novell Netware以及Microsoft网络虚拟网络以及Samba文件共享等。而且,支持Guest OS和Host OS之间以及不同Guest OS操作环境下的剪切、复制和粘贴操作。VMware支持CD-ROM、软驱以及音频的输入输出,和VMware 1.0相比,最新版本的VMware 2.03改进了不少,比如增加了对SCSI设备、SVGA图形加速卡以及ZIP驱动器的支持。比如,你运行的是英文版的Linux,而同时又想处理中文,在内存足够的条件下,那么同时运行Windows是一个不错的选择。

注意:目前还不支持MIDI声频,以及游戏控制器和操纵杆。

5、在VMware的窗口上,模拟了打开虚拟机电源、关闭虚拟机电源以及复位键等,这些按钮的功能对于虚拟机来说,就如同虚拟机机箱上的按钮一样。如果你的客户机的操作系统是Windows,在运行过程中非正常关机或者VMware崩溃,下次启动Windows的时候,它会自动进行文件系统的检查与修复。

三、VMware使用感受

VMwave是一款优秀的虚拟机软件,不像微软的VPC需要昂贵的i7 CPU,也不像Vbox一样功能极少。这是一款老牌的虚拟机软件,可以支持绝大部分操作系统的虚拟安装;并且当虚拟系统出现问题时,它还会自动进行文件系统的检查与修复。

1、软件安装与启动

1、虚拟机软件安装与启动

由于软件体积较大,对系统的配置较多,因此其安装会持续一段时间,但安装时并没有过多需要用户手动的配置,它会自动安装所需的组件,比如网络连接支持等。安装完成后会要求重新启动,之后即可进入虚拟软件主界面

评述:软件在安装时就给人一种功能强大的感觉,因为其在安装时会自动安装虚拟系统所需要的各项驱动程序;进入主界面后,仍然可以感受到这一点。在主界面中,虽然是英文界面,但我们仍然可以很容易的找到操作步骤及相应的配置选项。

2、创建第一个虚拟系统

新安装的虚拟机相当于一个新购买的硬盘,因此首先需要创建一个虚拟磁盘(相当于硬盘分区),然后再向此虚拟磁盘中安装相应的操作系统。

步骤1:创建虚拟磁盘

单击主界面右方的“New Virtual Machine”按钮进入虚拟磁盘创建向导。整个创建过程主要分为选择要安装的操作系统、定义此虚拟磁盘名称和存储位置、选择网络连接方式、分配磁盘空间等。步骤2:安装虚拟系统

完成虚拟磁盘创建后,在主界面上即可看到新创建的选项卡。从此选项卡界面下可看到当前创建的虚拟系统的大致情况,单击“Commands”栏下的“Start this virtual machine”按钮即可启动虚拟机系统。

在光驱中放入光盘,vmware会自动从光盘启动到安装向导;之后即可开始在此虚拟机中安装另一套操作系统。当系统安装完成后,即可按正常登录方式进入此虚拟系统。步骤3:功能配置

进入虚拟系统后,为延伸系统功能,可单击“VM”主菜单下的“Install VMware tools”命令来安装工具包。重新启动虚拟系统后,可利用此工具包实现虚拟系统与主机系统鼠标的无缝切换。

而关闭虚拟系统并单击软件主菜单上的“Edit/Preference”命令,可对虚拟磁盘的存储位置、虚拟系统内存等参数作调整。而如果选择“Edit/Virtual Network Settings”命令,则可为虚拟系统重新配置网络连接。

3、扩展功能与总体评述:

随VMware Workstation 还会安装一款名为“VMware Player”的工具,它省去了制作虚拟机的过程,只是一个系统“播放器”;即是说从VMware官方网站下载的系统的虚拟机文件,可以直接在此工具中播放使用,而无须再重新创建虚拟系统。

虚拟机技术应用研究 篇3

摘 要:针对云计算的分布式特征,文章在分析虚拟机技术的基础上构建了IMCPBVMT隔离模型。该模型在云服务集群中引入异常行为分析系统,并在异常行为分析系统加载了本地异常分析器和云间异常行为交换器,在保障云服务系统正常运行的情况下实现了对异常行为进行隔离分析的目的。

关键词:云计算;虚拟机;隔离模型

中图分类号:TP309 文献标识码:A 文章编号:1006-8937(2015)20-0001-03

虚拟化技术是云计算的核心技术之一,但多个虚拟资源很可能会被映射到相同的物理资源上,一旦恶意用户利用云平台的漏洞实施攻击,就可能获取同一个物理资源上其他用户的信息。

为了对增强云平台的安全性,文献采用蜜罐技术收集攻击者信息,利用VMware快照构建恶意代码行为分析系统;文献者利用windbg和VMware构建双机调试来分析恶意代码;文献通过在虚拟机监控器层添加分析工具,实现对恶意行为的监控分析。

上述方法虽然可以检测到恶意行为,但是由于没有分离检测系统和云服务系统,因此不能很好地保障云平台的性能。针对云平台的分布式特征,本文构建一种云平台下基于虚拟机技术的隔离运行模型(IMCPBVMT)。

该模型综合考虑云计算平台的分布式特点和恶意行为的攻击特征,能够在一定程度上实现恶意行为的隔离检测。

1 虚拟机技术

虚拟机技术利用虚拟机监视器(Virtual Machine Monitor,VMM)作为隔离代码运行环境的中间层,虚拟机监视器提供了一个物理计算机系统的抽象,并为其上运行的客户操作系统提供硬件设备映射。

根据虚拟机监视器在整个物理系统中的实现位置和方法的不同,可以分为Type I VMM和Type II VMM两种虚拟机监视器模型,如图1和图2所示。

Type I VMM直接运行在物理计算机系统上,它必须先于操作系统安装,然后在此虚拟机监视器创建的虚拟机之上安装客户操作系统。

Type I VMM可以在硬件支持下拥有最佳性能,如IBM VM/370、VMware ESX Server、Xen等均属于这样的虚拟机。

Type II VMM则是安装在已有的操作系统(宿主操作系统)之上,它通过宿主操作系统来管理和访问各类系统资源(如文件和各类I/O设备等),如VMware Workstation、Parallel Workstation等。

2 云平台下基于虚拟机技术的隔离运行模型框架

提高云计算的数据安全性,最基本的还是提高云服务器端数据的安全性,本节结合虚拟隔离技术,构建了一种云平台下基于虚拟机技术的隔离运行模型(IMCPBVMT),如图3所示。

该模型通过在各服务器集群中心加载异常行为分析系统,在不影响云集群服务中心正常工作的情况下,对异常行为进行隔离分析。

云服务系统一旦发现异常行为,把其提交到异常行为分析系统,而云服务系统继续执行下一个任务。

异常行为分析子系统模拟云服务系统的运行环境对恶意性进行执行,同时本地异常行为分析器对异常行为进行监控和分,当异常运行结束,则根据分析结果,对异常行为进恶意性行判定,如果为恶意性行为,则将其行为序列添加到本地云服务器的恶意行为库;否则,则认为为可信性行为。

云间异常行为交换器,用于定期交换不同云层间云计算服务中心的恶意行为库信息,以实现云间恶意行为库信息共享,提高系统的性能。

2.1 异常行为析系统体系框架构建

在各种虚拟隔离机制中,基于硬件层抽象虚拟机平台下,虚拟机监控器在系统中具有最高权限,能够很好地监控系统内各种行为的运行状态,本文借助虚拟机技术,在每个服务集群中心引入异常行为分析系统,如图4所示。

在该系统中,虚拟机直接安装在硬件资源层之上,在系统中具有最高权限,同时为了实现对异常行为执行过程的监控和分析,在虚拟机中加载了本地异常行为分析。本地异常行为分析由异常行为监控模块、异常行为分析模块、日志模块、预警模块和系统恢复模块五部分组成。

该框架下异常行为分析的过程为:

①异常行为分析系统一旦接受云服务器系统发送的异常行为,就在本地操作系统上运行异常行为,同时启动本地异常行为监控器。

②本地异常行为监控器加载异常行为监控模块,监控异常行为的运行过程,并把获取的运行过程同时提交给异常行为分析模块和日志模块。

③异常行为分析模块对接收到的异常行为序列依据给定的行为分析方法,分析序列的恶意性,并把分析结果传送给预警模块。

④预警模块依据预定的判断规则对恶意性信息进行评判,并最终确定异常行为的恶意性,如果认为不是恶意行为,则云服务器系统返回执行结果,并提示行为可信;否则,把其恶意序列添加到本地恶意行为库中,同时调用系统恢复模块,对系统进行恢复。

⑤系统恢复模块依据日志模块中的信息对系统进行恢复。

2.2 本地异常行为分析器及其功能模块设计

2.2.1 异常行为监控模块

异常行为监控的目的是为了实现对异常行为执行过程的实时监控和获取异常行为的行为序列,因此为了确保异常行为中的攻击行为被触发和系统文件的安全,系统设置了一个虚拟文件系统。

异常行为在执行过程中,对系统中的文件只有读权限,当需要对文件进行写操作时,系统通过调用虚拟文件系统会为其创建对应文件的一个影像文件,只有当异常行为执行完毕且被系统确认为可信时,才把影像文件对源文件进行覆盖。

异常行为对系统的攻击并非通过某一简单攻击序列实现,往往是通过一个或多个进程调用一系列看似无害的系统调用来实现其攻击目的。

针对恶意行为的这种行为特征,异常行为监控模块从进程监控和系统调用监控两个方面来获取用户行为。

①进程监控。

异常行为在执行过程中,可能会以生成多个进程,而这些进程也会衍生出新的进程,为了增强监测的可靠性,本文以组的形式来管理进程。

同一异常的所有衍生进程放在同一组中,可以共享相同的系统资源。为了有效地监控用户行为,需要对每一组的进程进行跟踪监控。

CR3寄存器用来存储页表基址,对CR3的一次写操作就等同于进行了一次进程切换,FS寄存器内核模式下指向KPCR(处理器状态块),通过该结构可以追溯到当前运行进程的进程名。因此通过捕获CR3寄存器的写操作可以获取进程间的调用关系,通过分析FS寄存器数据可以获取当前运行进程的id号。

②系统调用行为的监控。

SYSENTER/SYSEXIT是Intel提供的一对快速系统调用指令,YSENTER和SYSEXIT执行之前必须将需要的参数存入相关MSRS寄存器和通用寄存器中。

通过监控SYSENTER指令,一旦有该指令执行,可捕获当前的系统调用,通过分析相关MSRS寄存器和通用寄存器的数据及CR3寄存器的值,可获得当前调用的系统调用号以及当前线程或者进程的id号。

2.2.2 异常行为分析模块

异常行为分析模块是系统的重要模块,该模块在异常行为监控的基础上,对各种恶意行为序列进行提取和分析,并依据预定的方法构建恶意行为模型,获取异常行为的恶意信息。

该模块主要包括注册表修改、文件系统破坏、内存区域攻击、系统虚拟环境检测、进程隐藏等行为的分析。

注册表修的分析改主要分析文件关联性修改、与IE配置相关的注册表键值修改及自启动项修改;文件系统破坏行为分析包括系统文件的非法读写、多个目录下重复拷贝以及日志文件的非法修改。

2.2.3 日志和预警模块

预警模块,该模块在行为分析模块分析的基础上,对行为分析模块的结果根据预定的方法进行判决,如果判定所执行的行为为可信行为,则向云服务系统返回行为执行的结果,并提示行为可信;否则,则向云服务系统做出预警提示,同时把所获得的恶意序列存储到本地恶意库中。日志模块,该模块用于记录异常行为的执行过程信息,存储在异常行为分析系统的本地存储器上,用以行为分析和系统恢复过程的依据。

2.2.4 系统恢复模块

系统恢复模块用于系统恢复工作。由于异常行为分析系统只是用来隔离运行异常行为的,因此,为了保障系统的性能,无论异常行为可信与否都要调用系统恢复模块对本地系统进行恢复。由于系统在异常行为运行过程中设置了虚拟文件系统,所以异常行为实际修改的是虚拟目录下的虚拟文件,对文件系统的恢复只需用真正系统的文件覆盖被修改的虚拟文件就可以了。

同时,异常行为会对内存单元的信息进行修改,可以从外置存储介质中重新调用相应文件对内存区域执行重写操作。只有一些涉及系统配置的文件,才依据日志文件通过反向执行异常行为进行系统恢复。

2.3 云间异常行为交换器及其功能设计

构建云间异常行为交换器的目的是使分布于不同云层间服务器集群中心的恶意行为库能够互换共享信息。

互联的服务器集群中心通过定时启动异常行为分析系统上的云间异常行为交换器,依据预定规则对两者的恶意行为库进行归并,并把归并后的恶意行为库作为新的本地恶意行为库。

为了减少网络间信息的流量,对不同异常行为分析系统间交换的恶意行为可以限定为新捕获的异常行为序列。

3 模型性能分析

IMCPBVMT隔离模型通过在云服务集群中引入异常行为分析系统,实现了分析系统和云服务提供系统的分离,既提高了云服务系统的安全性,又能保障在云服务系统在不间断提供服务的同时进行异常行为的分析。

IMCPBVMT隔离模型通过引入异常行为分析系统实现了分析系统与用户运行环境物理上的隔离,同时又由于异常行为分析系统端引入云间异常行为交换器,可用于实现不同云间服务器集群中心的恶意信息的动态互换,有助于分析系统的信息共享,可以提高云平台的性能。

4 结 语

针对当前云计算环境下面临的多租户安全隐患问题,为了实现既能对异常行为进行隔离分析又能保障云服务系统的不间断运行的目的,本文结合云计算平台的分布式特征,构建了IMCPBVMT隔离模型。

该模型借助虚拟机环境下,虚拟机监控器拥有最高权限的特性,在虚拟机层上加载本地异常行为监控器,来实现对异常行为的监控分析。

本地异常行为分析由异常行为监控模块、异常行为分析模块、日志模块、预警模块和系统恢复模块五部分组成。

同时,异常行为分析系统又通过加载了云间异常行为监控器,实现云间不同服务器集群中心上的恶意行为库的共享,增强云平台的性能。

参考文献:

[1] 沈昌祥.云计算安全与等级保护[A].第6届内网安全技术论坛专题:信息安全与通信保密[C].2012.

[2] 余思,桂小林,张学军,等.云环境中基于cache共享的虚拟机同驻检测方法[J].计算机研究与发展,2013,(12).

[3] 刘澜,袁道华,童星,等.一种针对可信计算平台的分布式可信验证机制[J].计算机工程与应用,2012,(2).

[4] 马世敏.基于可信计算的内网监控系统的研究与实现[D].成都:电子科技大学,2011.

Java虚拟机技术研究与实践思考 篇4

1 Java虚拟机技术简介

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性等特点,其广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995 年正式推出。Java由四方面组成:Java编程语言,即语法。Java文件格式,即各种文件夹、文件的后缀。Java虚拟机(JVM),即处理*.class文件的解释器。Java应用程序接口(Java API)。

当前,对Windows系统所运用的虚拟机主要为处理运算速度,在逻辑结构中添加了ACCESS数据库“宏”的处理运算模式,利用二叉树的模型结构对数据进行筛选,最后得出运算结果。嵌入式编程应用平台以及智能卡算术处理平台便是Java虚拟机的实际应用部分运行时,数据区以及执行运行环境中的寄存器,用于保持局部变量的有效性。

2 Java虚拟机技术在实践中的应用

随着计算机技术的不断发展,在现实生活中也得到了极大地普及和应用,而随着Java虚拟技术的不断成熟,应用Java虚拟机技术的产品也越来越多,下面笔者主要介绍几种Java虚拟机技术的应用。

2.1 在安卓系统中的应用

当前世界上主流的两大手机操作系统是苹果的i OS系统以及谷歌的安卓系统,在安卓系统中,Java技术的比较长使用的一种技术,Android系统是一个基于Linux核心的开放的操作系统,安卓系统是在采用Linux核心的基础上,提供了各种函数库,以及一个完整的应用程序框架。它提供Google自制的应用程序运行环境(Dalvik),并提供基于Eclipse集成开发环境的免费、跨平台(windows、Mac、Linux)开发工具(SDK),这使得开发人员很容易在Android平台上开发各种应用。

2.2 家用电器中的应用

随着科技的发展,在人们的日常生活中,经常会使用带有Java技术的产品,比如在家庭中的电视机机顶盒中,有些商家的机顶盒会带有Java技术,因为智能家电会带给人们不同的享受,满足人们对于科技的需求,同时也极大地提高了人们的生活质量,另外在全自动洗衣机中也会带有Java技术。

2.3 基于web交互式网站的应用

随着电子商务的不断发展和普及,企业信息系统成为企业最关注的问题,enterpriseedition包含了足以代替cgi的servlet/jsp;适于开发复杂商务应用以及分布式组件的ejb;访问目录服务所需的jndi(java naming and directory interface);支持分布式事务的jts(java transaction service)等。这些都是开发电子商务应用和企业信息系统所必须的,同时又大大简化了开发这类应用时,已经有不少网站使用java来开发,也有一些企业选择java来开发他们内部的信息系统。

3 Java虚拟机技术研究与应用存在的问题

Java虽然是目前比较热门的计算机网络技术,但是与Windows技术相比,Java虚拟机技术的发展历程较短,在研究与应用方面还存在一些问题,笔者下面将重点总结这些问题。

3.1 Java的语言编写并不完美

Java虚拟机技术主要使用C以及C++进行语言编写,虽然做起来相比于Windows来说较为简单和方便,但是有些工程师在编写语言代码是受制于传统Windows的代码,他们并不习惯于原始类型(primitive type)和类(class)的分离,也不习惯使用Java的语言代表进行程序编写。并且部分技术人员认为Java的语言代码编写起来更加繁琐和冗长,Java的语言代表其实是一种继承性的语言代码,这也导致了Java的语言编写不适用于目前大多数的程序师,在完美性上还存在一些问题。

3.2 Java的硬件结构存在问题

Java是目前相对来说比较安全、操作又简单的一种计算机虚拟技术,因此受到人们的广泛关注,但是Java线性结构为了提高Java的安全性,设计师们在Java的框架结构中直接删除了硬件架构与存储器地址访问的直接访问,虽然这么做一方面可以提高Java虚拟机安全性,但是这对于Java虚拟机的硬件架构以及线性结构会必然存在一定问题,比如如果需要间接调用这些底层功能的话,就需要使用JNI(Java本地接口)来调用本地代码。而间接访问意味着频繁调用这些特性时性能损失会比较大。

3.3 Java虚拟机技术的应用范围比较狭窄

虽然Java虚拟机技术的发展历程已经过了20 多年,但是在目前看来,Java虚拟机的应用范围还是比较狭窄,这也导致了Java未来的发展空间收到了限制。目前Java主要应用领域就是嵌入式设备、移动通讯设备、手持式设备中的软件;其次是基于web的交互式网站应用以及电子商务应用和企业信息等系统;再次,就是应用于人们日常生活中的家电设备中,因此我们不难看出,Java虚拟机技术的应用领域还是相对狭窄的。

4 Java虚拟机技术研究与应用的改进措施

通过上文我们已经了解了Java虚拟机技术研究与应用在目前出现的一些问题,同时笔者参考国内外众多的文献资料后,下面将重点分析如何提高Java虚拟机技术研究与应用。

4.1 完善Java虚拟机的语言编写

Java的语言编写风格类似于C语言、C++语言风格,但又与之不同,如果要提高Java虚拟机技术的研究与应用,首先就要完善JAVA的语言编写。我们不难看出Java的语言编写继承了C语言的核心,同时又舍弃了C语言容易引起错误的地方,对此,技术人员可以将Java的C语言编写该进程二进制代码编写,因为大多数程序员都是习惯接受Windows的二级制代码编写,这样也可以一定程度上提高Java虚拟机的简便实用性。

4.2 完善Java的硬件结构

Java设计最初的目的就是为大家提供方便、安全的虚拟应用系统,虽然最终Java的安全性得到了提高,但是为此付出了更大的代价。我们可以在提高Java安全性的同时,不必要删除硬件架构与存储器地址访问的直接访问,在不删除的同时可通过技术手段来提高Java的安全性,方便用户的操作。

4.3 扩大Java虚拟机技术的应用范围

在目前来说,Java虚拟机技术的应用范围还比较狭窄,没有在社会生产生活以及人们日常生活中起到无可替代的作用。对于此问题,我们首先要完善Java虚拟机技术的程序编写,完善Java的硬件结构,同时针对企业以及民用来发布两种不同的Java虚拟机技术,对企业发布相对复杂的Java虚拟机技术,对于个人用户要发布相对简单的Java虚拟机技术,进而不断扩大Java虚拟机技术的应用范围。

5 结语

随着科技的不断进步,计算机网络技术的普及与应用,Java虚拟机技术作为当前终端科技,未来的发展前景必将十分广阔。虽然目前看来在研究与应用上还存在问题,但笔者相信,只要通过Java相关设计人员的共同努力,必将促进我国Java虚拟机技术的发展,为人们带来更加安全、简便易用、普及度更高的Java虚拟机技术。同时也希望我国的Java研究开发人员要加强自身的努力,同时也要多学习国外Java虚拟机技术研究的先进经验,为我国Java虚拟机技术发展做出贡献。

参考文献

[1]杨博,王鼎兴,郑纬民.一个基于混合并发模型的Java虚拟机[J].软件学报,2012(7).

[2]何凯,刘伟.基于虚拟机的网络管理与维护实验教学探索[J].实验技术与管理,2016(1).

[3]王得发,王丽芳,蒋泽军.云计算环境中虚拟机智能迁移关键技术研究[J].计算机测量与控制,2012(5).

[4]郑婷婷,武延军,贺也平.云计算环境下的虚拟机快速克隆技术[J].计算机工程与应用,2011(13).

[5]黄广君,普杰信,吴庆涛.嵌入式Java虚拟机实现中的代码优化.河南科技大学学报,2013(1):57-60.

虚拟机技术应用研究 篇5

谭春茂

张金华

周玉春

(上海农林职业技术学院,上海松江:201600)

摘要:采用虚拟机来进行计算机辅助教学,是近年来在计算机教学领域被广泛应用的一种教学辅助方法,也是各计算机教学工作者比较热衷探讨的一个应用课题。本文介绍了虚拟机技术及软件,重点介绍了利用VMware虚拟机软件进行Linux操作系统教学的具体应用。关键词:虚拟机;Vmware;Linux操作系统

引言

在计算机教学中,加强学生实践技能的培养是最受重视的问题,目前在计算机教学过程中基本上都采用多媒体课件教学以及结合教师演示来进行,教师配合课件及当场的操作演示,让学生可以更好学习和掌握实践技能,然而,在教学中也遇到一些问题,尤其是操作系统课程的教学中,主要原因如下:

1)学校的机房通常都由机房管理员进行统一安装,通常都通过硬盘保护卡来实现对计算机系统的保护,所以机房的计算机一般是不允许学生动手来安装操作系统,更不准对系统和硬盘进行更改设置操作。

2)即使学生自己有计算机,配置也比较高,但也很少有学生在自己的计算机上进行频繁分区,格式化,安装操作系统等操作。如果经常对计算机硬盘进行分区和格式化,也会影响到计算机的硬盘使用是。如果想在系统里面进行一些操作系统有关的“危险”性操作,在学生自己的计算机上操作很可能就会破坏原来的系统,甚至数据。

3)学生在只有一台计算机的情况下,通常做网络实验就无法进行,至多也就是做一些上网实验。

比如:在Linux操作系统的教学中,系统安装由于各种实验条件的限制使用得学生无法去进行,在对系统作各种操作时,可能还会由于学生的误操作引起系统无法启动的问题,在对grub引导管理器进行修复这些实验时,对于初学Linux而言通常都是比较“危险”的操作,在进行网络服务器的设置时,学生没有比较好的网络环境,无法当场与windows系统之间进行很好的网络通信等。以上的这些问题不仅仅影响到教师的教学演示,同时也影响到学生的实验操作效果,对于学生更好的掌握Linux操作系统的技能造成了一定的难度。近几年来,随着虚拟机技术的出现,这个问题得到了很好的解决。从而使用教学质量也有明显的提高。虚拟机技术及软件介绍

[作者简介]2006-07-09 [作者简介]谭春茂(1977-),男,硕士,上海农林职业技术学院应用系助教,从事计算机网络技术方面教学和研究工作。所谓虚拟机就是由虚拟机软件模拟出来的计算机,或称为逻辑上的计算机(Guest OS)。每个虚拟机都具有模拟出来的同物理计算机相同的运行环境,包括硬件层,驱动接口,操作系统及应用层,都建立在PC机的应用环境下,属于用户级的软件。同时利用虚拟机软件可以在一台物理计算机上模拟出来多个逻辑上的计算机,运行多个操作系统,还可以将这些计算机相互连接起来形成网络,虚拟计算机能同时运行的数量多少由计算机本身配置决定。而且在虚拟机的环境下,用户可以在同时运行的多台虚拟机中来回切换,而无需重新启动系统。

目前,应用广泛的虚拟机软件主要有VMware公司的VMware workstation及connectix公司设计的Virtual PC,这两个虚拟机软件应用功能基本相同,它们有如下特点:

(1)不需要对物理硬盘进行分区或重新开机就能够在一台PC机上安装使用多种操作系统。

(2)完全隔离并且保护不同操作系统的操作环境及所有安装在不同操作系统上面的各种应用软件和资料,并且硬盘还原功能。

(3)不同的操作系统之间能够进行互动操作,包括网络、周边设备,文件共享等。(4)能够设定并且随时修改操作系统的操作环境,如:内存、硬盘、其它外设等。(5)二者所安装的系统都是可以移动的,即可能通过移动设备虚拟机安装的文件拷贝的方式在其它的装有对应的虚拟机软件的计算机上使用。3 VMware在Linux操作系统教学中的应用

在Linux操作系统的教学中要涉及到系统安装,系统各种设置及网络服务等操作,其中有几个比较危险的实验操作在真正的物理计算机上来实现有一定的难度和不现实性,如:系统安装,硬盘配额,文件系统的创建与使用,grub的修改与安装实验,系统启动模式设置和网络服务等,这些操作会改变甚至破坏计算机系统,使计算机无法正常工作,则学生在做相关实验时更具有这种特点,因为Linux操作系统的入门学习难度比windows系统的入门学习难度要大一些,通常情况下,Linux操作系统都是在文本模式下进行教学,因为Linux的服务器在实际应用中,基本上都是远程维护,远程维护就只能使用文本操作方式,同时文本运行方式比图形方式运行效率方面而言要好一些。这样对于初学学生而言,在这种环境下做实验,更容易造成对计算机系统的破坏。这都严重影响到教学效果,采用虚拟机技术后,这些问题已经得到很好解决,同时也提高了教学质量和学生的学习效果。

通过前面的分析和一些资料显示,Linux在VMware下的运行效果要比较Virtual PC略佳,并且VMware支持的Linux版本比Virtual PC多。所以在Linux操作系统的教学中选用VMware较好。

虚拟机教学过程(下面是以Red Hat Linux9.0为例):

(1)在宿主计算机(Host OS)上安装VMware软件(目前的最新版是5.5),一般而言的配置主要要求内存稍大一些即可,最好在256M以上。

(2)启动VMware,创建虚拟机,在创建虚拟时要注意选择Linux的版本,在VMware 中对Linux的版本分得比较仔细,这里尤其要注意选择,否则会造成无法安装系统或无法启动系统的情况。

(3)系统安装

在Linux操作系统的学习过程上,通常情况下,第一件要做的事就是安装操作系统,在虚拟机环境下,可以完全通过系统的镜像文件来进行安装,这样的安装方式带来极大的方便,镜像文件安装可以省掉大量的光盘,也可以不要求机房的计算机上安装有真正的物理光驱就可以进行,这同真正的物理计算机相比,在练习操作系统安装上使用VMware带来极大的方便。

(4)快照和回复功能在Linux操作系统教学中的使用

VMware的一个非常有用的新功能就是快照和回复。可以在任意时刻为虚拟机进行快照,然后在任意时刻回复到虚拟机任何一个快照的状态。在虚拟机启动关闭或暂停时都可以进行快照。快照将保存进行快照时刻的虚拟机的所有状态,包括虚拟硬盘上的所有数据状态及是否处于虚拟机启动,关闭和暂停状态。如果虚拟机的操作系统正在运行,对它进行快照并不会影响客户操作系统的运行。如果在进行一系列的操作后,想回复到快照时刻的状态,那么只需要还原快照,这样从进行快照到回复快照之间的所有对虚拟机的操作的任何变化都会撤消。

在Linux操作系统的系统设置及修改实验时,涉及到实验比较多,比如用户管理,磁盘管理,文件系统创建,磁盘配额,引导管理器Grub的修复及设置等诸多实验,其中有几个对系统而言具有相当的“危险”性,这对于宿主计算机而言,即虚拟机上的操作系统完全损坏,也不会造成什么危害,但是这会对实验带来很大的麻烦,在VMware中能利用上面所述的快照和回复功能能很好的解决这一问题。这样,当学生在操作过程中因不当操作而造成对系统破坏时,就可以利用保存的快照来对系统恢复,这一点对于初学用户而言非常有用,同真正的物理计算机上操作如果出现这种情况比较,这种虚拟机的方式显然要好很多。

(5)网络服务器的配置,网络环境的构建

众所周知,Linux的功能主要就是网络功能,也就是做网络服务器,服务器的配置往往需要有一个网络环境,也就是最好Linux做服务器,一个windows系统做客户端来测试服务器的运行效果。如果在教室里当然有比较好的网络环境,但是同时就需要开两台计算机,一台Linux,另一台是windows,这样一来,就造成演示上的不方便,虽然Linux同宿主计算机之间有可以直接通信的,但是在windows下有一个记忆功能,在没有注销或者关闭系统前,上次访问信息会记住,这样会造成测试服务器有些时候没法进行,如samba服务器。利用VMware可以安装多个虚拟机的特点,就可以很好的实现,我们可以再装一个windows的虚拟机来形成一个网络环境。这时候只需要设置Linux和windows在同一个网段就可以形成一个网络满足我们做这样实验的要求,而不需要去启动多台计算机。4 结语

利用虚拟机VMware软件来辅助Linux教学,创建教学中的实验环境,使得教师演示和学生的实验操作都可以非常方便的进行,由于是通过软件来实现的一个逻辑上的计算机,这样对硬件上的操作对计算机并不造成损害,实现了传统的教学手段在Linux教学中某些无法完成的操作,不但保证了教学质量,又节省经费。同时,在虚拟机上的操作时可以暂停,继续,甚至保存在某一个状态,可以很好的控制教学的进度和实验的每一个环节。同时可以得用VMware的捕获电影功能可以把教师的操作录制成电影,让学生可以据其需要而使用。本校开设的《Linux操作系统》课程利用虚拟进行教学已经一年有余,在这一年多的教学中,其效果是令人满意的。总之虚拟机VMware对于改进Linux操作系统教学和提高教学质量提供了一种新辅助教学的手段。

参考文献

[1]王春海.虚拟机配置与应用完全手册[M].北京:人民邮电出版社,2003 [2]Time创作室.虚拟机典型应用技巧[M].北京:人民邮电出版社,2003 [3]刘恩博.虚拟机应用软件VMware在计算机辅助教学中的应用[J].兵团教育学报,2005(7)[4]http://A、CCNP实验。

Boson公司为Boson NetSim软件定制了一些现成的软件试验包,其中包括CCNA级别的实验项目和CCNP级别的实验项目。这些试验包内置了实验拓补图、部分正确配置的配置文件。教师通过Boson NetSim的实验导航器可以有计划、循序渐进地进行实验练习,给学生思科认证考试提供一个平台。

4.2.3网络故障排除实验。

网络管理员在网络组建完成之后,要使网络保持平稳运行,就必须对网络不断维护,并及时排除故障,这需要非常丰富的经验。在以往的教学中,学生在故障排除时大多数停留在讲步骤、记方法的基础上,缺乏实战。利用模拟器,我们可以设置一些软件故障点,并以文件形式保存后打包发给学生,让学生分析故障所在,边做边学,积累排除故障的经验[5]。

5.结语

采用虚拟技术构建的网络实验室,克服了硬件实验室经费投入大、管理与维护困难等方面的问题,最大限度地满足了计算机网络实验课程的要求,提高了教学质量。但是,虚拟实验不能完全代替真实的实验环境,它只是起到辅助作用,可以提高学生操作的熟练程度,但是如果想让学生真正掌握技术,还需要在真实的环境中进行体验。因此,在实践教学中应注意“虚实”结合[6]。

参考文献:

[1]王春海.非常网管——典型网络实验[M].北京:人民邮电出版社,2007.[2]关全胜,白永军.虚拟机技术在中职计算机教学中的应用浅谈[J].科技信息,2009,(1).[3]韩瑛,李斌.虚拟现实技术在网络教学中的研究与应用[J].现代教育技术,2006,(1).[4]龚自康.虚实结合的网上交互式虚拟实验研究[J].技术应用,2005.9.[5]史书明.借助NetSim辅助计算机网络教学[J].计算机教学与教育信息化,2008.4.[6]付晓深,王自强,张文华等.虚拟教学存在的问题及应对思路[J].生物学教学,2005,(7).关于计算机网络安全教学中虚拟机技术应用的探讨

来源:

摘要:虚拟机技术作为一种新的教学辅助手段在计算机网络安全教学中具有很好的应用前景。同时,采用虚拟机技术模拟真实网络环境授课也是提高教师教学效果和保证教学质量的一种有效手段。正是基于此,本文对计算机网络安全教学中虚拟机技术应用做了深入的探讨。

关键词:虚拟机;网络安全教学;应用

一、虚拟机技术及其虚拟网络环境概述

(一)虚拟机(Virtual Machine)技术

虚拟机(VM)是支持多操作系统并行在单个物理服务器上的一种系统,能够提供更加有效的底层硬件使用。在虚拟机中,中央处理器芯片从系统其它部分划分出一段存储区域,操作系统和应用程序运行在“保护模式”环境下。如果在某虚拟机中出现程序冻结现象,这并不会影响运行在虚拟机外的程序操作和操作系统的正常工作。在真实计算机系统中,操作系统组成中的设备驱动控制硬件资源,负责将系统指令转化成特定设备控制语言。在假设设备所有权独立的情况下形成驱动,这就使得单个计算机上不能并发运行多个操作系统。虚拟机则包含了克服该局限性的技术。虚拟化过程引入了低层设备资源重定向交互作用,而不会影响高层应用层。通过虚拟机,客户可以在单个计算机上并发运行多个操作系统。每个虚拟机由一组 虚拟化设备构成,其中每个虚拟机都有对应的虚拟硬件。客户操作系统和应用程序可以运行在虚拟机上。而不需要提供任何交互作用的网络适配器的支持。虚拟服务器只是物理以太网中的一种软件仿真设备。从服务器整合到越来越多的Windows2003升级行动,再到防止黑客、蠕虫和其它威胁的软件测试的不断增长的需求,虚拟技术已经无处不在。虚拟化造成了跨越计算机体系结构的技术糅合。

在一台电脑E将硬盘和内存的一部分拿出来虚拟出若干台机器,每台机器可以运行单独的操作系统而互不干扰,这些“新”机器各自拥有自己独立的CMOS、硬盘和操作系统,你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网络。在虚拟系统崩溃之后町直接删除不影响本机系统,同样本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统。同时它也是唯一的能在Windows和Linux主机平台上运行的虚拟计算机软件。虚拟机软件不需要重开机,就能在同一台电脑使用好几个OS,不但方便,而且安全。虚拟机在学习技术方面能够发挥很大的作用。虚拟操作系统模式虚拟化解决方案同样能够满足一系列的需求:安全隔离、计算机资源的灵活性和控制、硬件抽象操作及最终高效、强大的管理功能。

(二)虚拟机软件概述

目前主流的虚拟机的软件有VMWare和Visu—alPC,一般专业用户选择VMware,最求简单方便和兼容性的Windows用户选择Viaual PC。考虑到VMWare的Vmware Workstation能创建多个主机轻松组网、网络性能测试容易,方便实现模拟网络环境,在本课程中选择了VMware Workstation搭建网络环境。

VMWare是一个“虚拟机”软件。它在一个操作系统上虚拟出多台虚拟机环境,从而可以在一台物理机器上同时运行多个操作系统。它使你可以在一台机器上同时运行2个或更多WIN2000/WINNTWIN9X/DOS/LINUX系统。运行VMware的平台称为主机,在VMware上运行的系统称为客户机。从客户机的角度来看,它是一个完整的系统,从主机的角度来看,每个客户机分别是一个软件应用进程,每个客户机的硬盘就是一个大的文件或者分区。与“多启动”系统相比,VMWare采用了完全不同的概念。

多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMware是真正“同时”

运行,多个操作系统在主机的平台上,就象标准的Windows应用程序那样切换。由此可见,利用VMware可以让一台机器实现一个局域网的功能,可大大节省硬件设备和物理空间,管理方便、安全性高,特别适合做网络安全实验。

二、虚拟网络环境的构建及其教学中的应用

(一)虚拟机网络教学和实验环境的构建过程以及注意事项

首先是下载和安装Vmware软件,目前最新版本是Vmware Workstation6.5。然后再去运行Win—dows(WinNT以上)和Linux操作系统的实体机上安装VMware Workstation;其次是启动VMware Work—station,根据需要创建多个虚拟机;再次是对虚拟机进行操作系统的安装;最后是对每台VMware Work—station进行网络参数设置连网。同时,我们在进行虚拟机网络教学和实验环境构建过程中也要注意一些事项:一是预先规划虚拟网络的虚拟机的数蕈,在一个硬箍分区中,为每台虚拟机的映像文件预留足够的硬盘空间。Windows2000 Professional的虚拟机映像文件约占900MB,Windows2003 Server的虚拟机映像文件约占1.7GB,Linux Red hat的虚拟机映像文件约占2.5GB。在新建虚拟机向导中指定磁盘容量时,磁艋大小可用默认的8GB,无需立刻分配所有磁盘空间,让其根据应用程序的安装的多少而增大。二是在新建虚拟机向导中配置网络模式时,一般用户选择网络地址转换模式(NAT),这种方式主机不用做任何的设置虚拟机就可以利用主机上网。我们这键使用桥接模式(bridged),使虚拟机是局域网中的一个独立的主机系统,手工为虚拟机配置IP地址、子网掩码和网关,而且还要和实体主机处于同一网段,以实现通过局域网的网关或路由器访问巨联网。三是安装操作系统之前,根据实际内存大小来调整内存容量,设最 大不超过实际内存的一半。除此之外,光驱要选择一个物理驱动器,否则会弹出无法找到光驱的信息,操作系统将不能进行光盘安装。四是在实体机上,专门创建存放“虚拟机硬盘映像文件”

的文件夹,用于存放映像文件。如果要备份该虚拟系统,只要备份这个文件夹。

(二)虚拟机技术在网络安全课堂教学中和学生实验中的应用

在计算机网络安伞课程中,对于一些黑客工具的使厢(如扫描器、Sniffer工具、木马、Dos工具等)、网络操作系统的安全配置(Windows)、网络服务器的安全配置(IIS)、数据加密系统的应用(PGP),需要在网络中实现。如果只采用PowerPoint文档讲解和演示,非常抽象,没有现场感,不便于学牛理解,学生听多了也不感兴趣。采取PowerPoint文档演示结合虚拟机教学,可以让学生看到实际的操作过程,掌握各种工具的具体如何使用。从各种攻击工具具体对系统产生的危害结果,以及采取的相关防范措施中,学生可以一起思考和分析,进一步提高学习兴趣和加深理解,起到很好的教学效果。同时如果离开了现场网络安全操作的演示也缺乏对学生的说服力。

在学生实验中,黑客工具的使用、网络操作系统的安全配置、网络服务器的安全配置、数据加密系统的应用等实验都可以在虚拟机的环境下完成。学院可以基于原有的网络实验设备,只需极少的资金就能为大量的学生提供实用的实验环境,也町以避免因为网络设备故障以及网络设备的连接问题影响学生实验的效果和减少设备的损坏和维护的工作量。

同时在真实网络环境中学生需要2人或者多人一组一起连网实验,虚拟机网络环境下,可以一人单独实验,便于学生独立完成实验。

当然,在实际使用中,虚拟机网络环境技术的应用也有自身的不足,如:一是在教学时,当启动的虚拟机较多时,对硬件的要求较高(如内存)。教学前应先规划好,避免在启动虚拟机卜浪费授课时间。二是在学生实验时,缺乏对真实网络的操作,也无法体会到实际网络中如掉线等情况引起的网络故障。

虚拟机技术在高校机房管理中的应用 篇6

关键词:机房管理  虚拟化技术

1 概述

大部分的机房的电脑都是由机房管理员统一安装系统和软件。但是由于学院机房计算机数量多,管理人员少,学生的计算机使用水平不一致,机器使用频度高,学生会有意无意的修改系统文件,对计算机系统造成破坏而导致无法运行,这大大加重了机房管理人员的负担。而传统的机房不可能装齐了所有软件,一有教学要求,又需要新增软件,特别的不方便。虚拟化技术,是用软件模拟现实的计算机系统的技术。利用虚拟机技术,可以在现有计算机的主操作系统上建立几个逻辑上的计算机,运行多个操作系统,还可以将多个操作系统进行网络连接,特别适合学生动手能力的培养。

2 举例说明虚拟机技术在高校机房管理中的应用

2.1 虚拟机技术在一台电脑上可模拟多个虚机

2.1.1 机房的一台电脑上最多只能装两个操作系统,而且极易出现系统故障,电脑的使用频率过高,电脑又极易中毒,给机房的维护带来很大的工作量。就教学层面来说,特别是计算机专业的学生,学习电脑硬件及网络知识的时候,需要对一台电脑进行分区,装操作系统,装各种软件,连接上网,这些知识都需要学生通过动手来学习。如果用普通的电脑来操作,反复格式化装机,会对电脑硬件造成损伤。如果采用虚拟机技术,这个矛盾就解决了。只要一台主机内存够大,想在上面装几台虚拟机都可以。每一台虚拟机拥有自己的独立的操作系统,你的这台真实的主机就变成了一个小型机房,就可以对每台虚拟机器做出任何改动,随意测试各个软件,非常实用和方便,而且对机器零损伤。

2.1.2 多硬件的复制,软件的虚拟化,真实有效的操作,是非常适合教学开展的。学院的一些课程是需要学生亲自去实践,才能真正掌握具体知识的。由于学校的公共机房计算机台数有限,设备的配置也有限,计算机网络实验中,一个学生使用一台电脑。但是实际教学的是需要一个学生需要多台计算机组合,起码也是一台服务器一台客户端,才能完成相关任务。

利用虚拟机技术,在一台计算机上可以虚拟出若干台计算机,还能虚拟出交换机、网卡等设备。学生就可以在自己所使用的计算机上搭建一个虚拟的网络环境进行测试,还可以将网络中的某些虚拟机作为服务器,将另一些虚拟机作为客户端,来进行深刻的学习。虚拟机技术将计算机资源的利用放大了。

2.2 虚拟机技术比物理意义上电脑更安全

2.2.1 只要电脑处于联网的情况下,就不得不面对安全问题。电脑病毒、木马,无时不刻不在威胁着网络的安全,一台电脑中毒,牵一发而动全身,会影响到一整个机房。当虚拟机技术使用以后,虽然安全隐患依然存在,但是中毒的危险大大降低了。虚拟机虽然是可以真实使用的,但是它可以用一个虚拟的环境来模拟真实的中毒反应。

2.2.2 但是虚拟机是百分百安全的吗?当然不是。我们仍应当作出相当的措施去保障它的安全。明智之举就是,从保护物理服务器和网络环境的一套现有安全工具入手,然后运用到虚拟环境。在现有主机上做好安全防护工作,安装及时升级的杀毒软件和防火墙。如果赋予了访问虚拟机的管理员级别权限,也就是赋予了访问该虚拟机上所有数据的权限。

2.3 虚拟化技术提高了机房管理的效率

2.3.1 以前的机房管理,一台电脑装了好多个软件,软件用多了自然出问题,一有问题就修复软件,再来就重做操作系统,周而复始,机房管理的效率不高。我们可以用虚拟化技术来优化机房管理,在一台电脑上分别按照不同专业不同方向,安装相应的操作系统和应用软件,去建立虚拟机。例如按网络专业方向,设计专业方向,软件专业方向来区分,需要的软件就各不相同。在主机上建立如上分类的几个虚拟机,具体哪个专业的学生来上课时,就开自己专业所对应的虚拟机。里面所需要的软件及配置一应俱全。

2.3.2 虚拟机如果出现了故障呢,系统文件损害或软件使用出错呢,如何去维护?一个机房里的主机配置一般来讲一样的。我们只需要将本机配置作一个备份,再将主机上装的每一个虚拟机再作好克隆备份。若某个虚拟机出现了故障,甚至不用去修复,直接将此虚拟机删除,再复制粘贴一个克隆的虚拟机上去就可以使用了,由此,大大减少了机房管理人员的工作量,大大提高了机房管理的效率。

2.3.3 虚拟机的使用改善了以前的机房管理模式。一个好的机房管理人员,以前需要懂十八般武艺,装机拆机要快,硬盘对拷要熟练,对主机部件故障点要熟练,常见的软件故障更是要烂熟在心。基本上每天都要对出故障的机器进行杀毒,再不灵就重装系统。现在,当然可以对虚拟机做如上操作,但是一般来讲,只需要删除出故障的虚拟机,再重制一个,就完成任务了,很大程度上简化了机房的管理。

3 结束语

随着计算机应用的大量普及,高校各专业各课程对机房的需求和依赖日益增多。因此,高校建了很多计算机机房,来满足高校教学的需要,计算机管理人员可以不断学习并大胆采用新技术,如文中提到的虚拟机技术,来提升机房管理效率,为高校广大师生提供一个宽松、舒适、高效的机房环境。

参考文献:

[1]周萍.虚拟机技术在计算机机房管理中的应用[J].计算机光盘软件与应用,2012(21).

[2]刘坤.利用虚拟机技术构建计算机网络实验教学环境研究[J].网络安全技术与应用,2010(10).

[3]刘坤.虚拟机在网络技术应用课程中的应用[J].黑龙江科技信息,2009(36).

虚拟机技术应用研究 篇7

如果能有办法利用现有的数量与种类较少的设备模拟出数量与种类更多的设备,同时又能比较方便地对其进行管理,就能较好地解决以上问题。通过大量的研究和试验,笔者认为采用虚拟机技术搭建虚拟实验环境进行计算机网络实验可以获得事半功倍的效果。

1 虚拟技术

1.1 虚拟技术的工作性质

虚拟技术主要基于软件技术,从工作性质的角度可划分为3种类型。

1)设备共享。模拟软件接受用户发送的请求和参数,使用参数配置与之连接的硬件设备,由硬件设备进行实验,并将实验果返回给用户。这种技术使用真实的物理设备,通过虚拟多个终端实现设备共享。典型的应用如超级终端等。

2)模拟过程。模拟软件接受用户发送的请求和参数,分析和处理参数,经过模拟软件自身的模拟实验过程,并将最终结果返回给用户,整个过程不涉及具体的硬件设备。这种技术的模拟软件功能一般比较单一,仅能实现有限的实验,可扩展性较差。典型的应用如Boson公司推出的Boson Net Sim等。

3)硬件模拟这是最真实的一种虚拟技术,模拟的是硬件环境,如CPU、存储器、输入输出设备等,在此虚拟硬件设备的基础上可以安装和运行相关的软件。典型的应用如VMware、Qmenu等。

三种虚拟技术中:“模拟过程”最容易实现,但不可扩展是其最大的弊端;“设备共享”的实验结果最为真实,但有其他方面的限制,如各个登录的用户之间会相互干扰;“硬件模拟”是完全模拟硬件的执行指令,相当于拥有了一台“软设备”,虽然性能上会有一定的损失,但是已经能够满足一般实验的要求。

1.2 硬件模拟的虚拟技术类型

根据虚拟层次的不同,硬件模拟的虚拟技术可划分为5种类型。

1)指令集架构层。用软件的方式模拟了目标系统指令集中的每一条指令,可以在基于A指令集的系统上支持基于B指令集的应用程序的运行。这种虚拟技术的虚拟效率低,但是在新操作系统与驱动程序开发、兼容性测试等方面有不可替代的价值。典型应用如Bochs、Crusoe、Qmenu等。

2)硬件抽象层。用软件的方式模拟了通常的计算机系统中CPU、存储器、输入输出设备等所有主要的硬件设备。这种虚拟技术允许在同一台物理计算机上同时运行多个不同的操作系统或同一种操作系统的不同版本,但是这种虚拟技术涉及到对各虚拟机中操作系统特权指令的处理,中间环节较多,虚拟机性能损失较大。典型应用如VMware的系列产品等。

3)操作系统层。这种虚拟技术让各虚拟机共用宿主系统中已安装的操作系统内核,通过一个位于操作系统之上的虚拟层为用户提供多个相互隔离、相互独立的虚拟环境。由于虚拟机与宿主使用相同的操作系统内核,大大降低了虚拟机的性能损耗。典型的应用如运行SWSoft开发、可工作在Windows和Linux平台上的Virtualzoo等。

4)用户函数库层。这种技术的核心思想通过编写特殊的函数库,在A系统上提供B系统的应用程序二进制接口从而允许以B系统为目标的应用程序在A系统上运行。典型的应用如在Unix和Linux环境运行Windows程序的Wine等。

5)应用程序层。这种技术的核心思想是在应用程序层创建一个虚拟机,提供了一套完整的自定义指令集,为用这种指令集编写的程序扮演传统机器的角色。典型的应用如Sun的Java虚拟机等。

综上所述,只有硬件抽象层虚拟技术———虚拟机技术更适合于构建计算机网络的虚拟实验环境。

2 虚拟实验环境的设计

2.1 虚拟实验环境的整体规划

虚拟实验环境的整体规划的思想是:在物理主机的基础上构建一个安全、稳定、灵活和方便的虚拟实验环境。

1)物理主机的硬件性能选择。基于硬件抽象层虚拟技术的虚拟机技术对于物理机器的硬件性能要求较高,特别是同时运行多台虚拟机时对物理机器的CPU和内存的要求很高。因此,物理主机的CPU主频最好不要低于2GHz,内存不要低于1GB,最好是2GB以上。

2)物理主机的磁盘分区规划。物理主机的硬盘一般要80GB以上,可分为3个分区:第一分区为20~40GB,用于安装物理主机的操作系统和虚拟机软件以及实验所需其他的软件;第二分区为20~40GB,用于保存物理主机的系统备份文件和虚拟机的相关文件;第三个分区为剩余的磁盘空间,用于实验人员实验保存数据等。第一、二分区必须进行保护。

2.2 虚拟机的规划与安装

1)虚拟机的规划。出于对虚拟实验环境的安全性、稳定性及方便性的考虑,应该把虚拟机软件、虚拟机的相关文件和虚拟机操作系统的安装光盘镜像文件存放在具有系统还原的磁盘分区,这样即使发生了实验人员的无意或有意的破坏,只要重新启动物理主机便可以恢复。

2)虚拟机的安装和配置。虚拟机的安装一般都有图形界面的安装向导,操作较为简单,在此就不详细叙述;在创建和配置虚拟机时,要注意内存和硬盘的分配、网络连接类型的选择。内存一般以虚拟机操作系统的推荐配置为准;硬盘文件最好使用动态分配形式;网络连接类型一般选择与物理主机组建成私有的虚拟网络。

3)虚拟机操作系统的安装。虚拟机操作系统的安装与物理主机的安装基本一致,为了保证实验的顺利进行,可以根据需要选择是否对其进行优化。另外,只需要在一台物理主机的虚拟机上创建虚拟机和安装虚拟机的操作系统,其他物理主机通过复制虚拟机的相关文件即可使用。

3 虚拟实验环境的优点

1)安全性。这里的安全性有两个方面:一是虚拟机软件提供的安全保证,因为在虚拟机中,虚拟硬盘只是对应物理主机磁盘中的一个文件,用户在虚拟机操作系统里的操作只是针对该文件,物理主机的其他文件均不会受到影响;二是系统还原软件提供的安全保证,实验过程中的任何改动,通过重新启动物理主机即可恢复。

2)稳定性。虚拟机为了保证虚拟机系统的兼容性和稳定性,把所有的虚拟设备都虚拟成了标准的、兼容性最好的设备,比真实环境具有更好的稳定性。在真实的环境中进行实验时,通常会由于设备的故障导致实验失败。这样,对于实验人员来说,由于可能不知道问题出在哪里而影响到实验的效果,而用虚拟机搭建实验环境时,实验人员无需考虑网络设备及其连接问题,因为这些设备都是“虚拟”的并且已经按照要求连通。

3)灵活性。在虚拟机的操作系统中,整个操作系统都是开放的,只要不重新启动物理主机,实验人员针对虚拟机及虚拟机操作系统的改动都会生效,即使部分需要重新启动操作系统的操作也能够进行。另外,对于部分需要长时间多次实验才能完成的项目,可以将虚拟机的相关文件复制到没有受到保护的磁盘分区中。

4)有效性。因为硬件抽象层虚拟技术提供的是一个近于真实的环境,只要能在虚拟机上完成的实验,就一定能够在真实的机器上完成,所以实验质量得到保证,并且能够在一定程度上保证每个学生都有动手实践的机会,符合教学要求。

4 应用虚拟实验环境需要注意的问题

1)不能完全依赖虚拟实验,取消真实实验。既然可以采用虚拟实验,那么是否可以完全由虚拟实验来替代真实实验呢?答案自然是否定的。虚拟实验是虚拟的环境,缺少“实物感”。像交换机、路由器等网络设备的型号非常多,在虚拟实验中,实验人员是无法接触到这些设备的。如果将来真正操作这些网络设备时可能会感到无从下手。因此,在具体实施中,应该遵循先虚拟实验后真实实验的顺序,有目的有计划地安排实验人员在真实环境中进行实验操作,让他们对相关的设备或网络环境有亲身体会,这样印象会更加深刻,从而能够进一步保证实验的效果。

2)积极接纳而不是拒绝虚拟实验。有的人认为,虚拟机实验总是虚拟的,不真实,因此不愿意接受虚拟机技术,更不愿意推广虚拟实验。但是经过多年的实践表明,大多数的虚拟实验都能起到真实实验的效果,而且采用虚拟实验在减少设备维护、激发实验人员兴趣等方面具有非常大的优势。

5 结束语

通过大量的实践证明,一个完善的虚拟实验环境的安全性、稳定性、灵活性和有效性正在日益得到了广大高等学校师生的充分肯定。当然,虚拟机技术除了应用于计算机网络实验外,还可用于很多方面,如其他课程的教学、软件测试等。随着计算机硬件性能的提高和虚拟机技术的发展,虚拟机技术也已经应用到实际生产环境中。

参考文献

[1]王文学,沈文华.虚拟网络设备实验室的设计与实现[J].职业教育研究,2009(2).

[2]洪勇军.用操作系统级虚拟技术搭建网络实验平台[J].连云港职业技术学院学报,2008(3).

[3]农坚,徐红.使用“虚拟机”技术搭建虚拟实验环境研究[J].计算机应用与软件,2008(12).

虚拟机检测与反检测技术研究 篇8

对于恶意代码进行分析的研究人员来说,虚拟机是一个非常有用的工具。研究人员可以在虚拟机中执行恶意代码的样本,然后对其行为进行分析。一旦分析结束,可以迅速恢复系统,而且对真实主机没有丝毫危害。它提供了一种确认程序是否是恶意代码的安全手段。然而攻击者为了提高恶意程序的隐蔽性以及破坏真实主机的成功率,他们都会在恶意程序中加入检测虚拟机的代码,以判断程序所处的运行环境。当发现程序处于虚拟机(特别是蜜罐系统)中时,它就会改变操作行为或者中断执行,甚至进行拒绝服务攻击和渗透攻击。本文主要对当前的虚拟机检测技术及其检测的准确率进行研究,然后针对当前一些恶意代码使用的虚拟检测技术进行反检测研究。

1 虚拟机技术

本文所指的虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机环境(Virtual Machine Environment),比如VMware、Virtual PC、Xen、BOCHS以及用户模式下的Linux,你可以在一台宿主计算机上模拟出一台或多台虚拟的寄宿计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问真实或虚拟设备以及访问网络资源等等,虚拟机在宿主主机中的位置如图1所示。

2 虚拟机检测常用技术

通过虚拟机架构图可知,在恶意软件分析中,虚拟机技术提高了木马、病毒等恶意样本分析过程的安全性以及硬件资源的节约性,因此虚拟机技术在恶意软件领域中是应用越来越广泛。因此,攻击者为了让自己的代码运行在真实的系统中而不是虚拟机中,其就必须有检测虚拟机的机制。另外,当前,许多蜜罐系统也利用虚拟机进行部署,攻击者为了避免样本程序被蜜罐系统捕获,于是产生远程虚拟机检测技术。

2.1 本地虚拟机检测技术

在本地,检测虚拟机,攻击者有不少选择。当前,检测本地虚拟机有以下四种策略。

(1)在进程、文件系统或注册表中搜索VME特征;

(2)在内存中搜索VME特征;

(3)在VME中搜索特定的虚拟硬件;

(4)在VME的处理器中搜索特殊的指令和攻能。

仔细考虑一下,现代的计算机都是由文件系统、内存、各种硬件部件以及处理器,检测的方法主要包括以下几种方式。本地的虚拟机检测机制包括了计算机系统的各个方面。

2.1.1 在进程、服务、文件系统或注册表中搜索VME特征

虚拟环境(VME)软件为了便于识别,往往都会向寄宿系统中添加一些明显的特征。添加的范围包括正在运行的进程和服务、文件与目录系统以及注册表项。许多恶意代码就是通过这种到上述项目中找VMware相关特征来检测的。

在一个VMware虚拟环境下的Win Xp寄宿系统中,有开启的VMtools服务,在文件系统中有超过50多个与“VMware”和“vmx”等字符串有关的特征项,而且在注册表中也有超过500项与“VMware”这样字符串相关的特征。在这些项目中,有足够多的特征被攻击者用来检测VMware。

虽然这种方法利用的范围很大,但是该方法利用性有限,容易被欺骗。恶意代码分析人员可以通过一些Rootkit技术挂钩系统服务函数,欺骗恶意代码,从而使其虚拟机检测模块失效。

2.1.2 在内存中搜索VME特征

寄宿系统中的内存映射与宿主系统中的内存映射之间有许多的不同,因而,攻击者可以到内存中去寻找虚拟机的痕迹。实验证明,在VMware虚拟环境下的win xp寄宿系统中,用dd命令查看RAM寄存器,在内存中可以找到1500多项与“VMware”有关的内容。当然,在整个内存中去搜索这些类似的特征并不是明智之举,将搜索范围缩小到特定的内存区域则是一个可行的方法,这样,不但容易实现检测算法,而且效率也较高。虚拟环境中的安装的操作系统,一些关键的操作系统表指针都是重定位的,从而内存位置不同,因此对这些关键部件的内存位置进行检测显然事半功倍。例如,中断描述表(Interrupt Descriptor Table),其用于管理系统的各式各样的中断操作,他在宿主系统(真实主机)中的内存位置要比在寄宿系统(虚拟机)中的内存位置低。通过利用检测IDT所处的内存位置等相关技术,程序可以很快检测出是否运行在虚拟系统中,再者,由于IDT这些系统核心部件是系统构架的一部分,不容易改变,因此该种检测技术比较不容易被欺骗。除此之外,它是一种通用方式,对VMware和Virtual PC等虚拟环境均适用,且适用Linux和Windows操作系统。

“红色药丸”是Joanna Rutkowska于在2004年11月实现的一种IDT-检测虚拟机的技术。它通过SIDT指令查看IDTR,Rutkowska发现在VMware虚拟环境下的寄宿系统中,IDT基本位于在0xff XXXXXX附近,然而在Visual PC虚拟环境下的寄宿系统下,IDT位于0xe8XXXXXX附近,在宿主操作系统中,IDT则处于很低位置的内存里。根据这个特征,“红色药丸”检测IDTR的指针地址是否大于0xd0000000,如果大于则说明该代码运行在寄宿主机上,如果小于则声称“红色药丸”在宿主主机上运行。红色药丸可以检测各样的虚拟环境,包括Visual PC和VMware,而且可以在各式的操作系统下运行,包括winxp、win2000、linux。不过在一些linux操作系统中,由于一些安全机制阻止从ring3到ring0层的调用,这样就会导致红色药丸产生段错误,无法正常进行检测。

“红色药丸”的算法如下所示:

当然,操作系统中像IDT这种关键系统结构有许多,可以通过检查其它的一些类似结构来检测程序运行环境是否是虚拟环境,如检测全局描述符表(GDT)和本地描述符表(LDT)这样的结构。Tobias Klein实现的Scoopy就是分别用SIDT、SGDT、SLDT这些命令去查看IDT、GDT和LDT的内存位置。Klein发现在宿主系统中,IDT位于在0xc0XXXXXX附近(“红色药丸”用于检测的阀值是0xd0XXXXXX),Scoopy运行检查,如果发现IDT地址以0xc0开头,则说明是运行环境是在宿主系统下,否则表示是在寄宿系统下。同样,经过实验分析,可发现在真实系统中GDT位于0xc0XXXXXX附近,而LDT位于0x0000附近,通过检测这三个系统结构的内存位置,不但可以很容易检测出程序是否运行在虚拟环境中,而且检测结果更加准确。

2.1.3 搜索VME特殊的虚拟硬件

第三种检测策略是搜索虚拟环境下特殊的虚拟硬件,例如NIC卡(通过VMware的MAC地址,它经常以00-05-69,00-0C-29或00-50-56开头)、USB控制器和声音设备等,还有,一些虚拟环境下引入的SCSI设备也可以用于检测。一些虚拟环境还会引起系统时钟的异常,在虚拟环境中运行程序的效率没有在真实硬件上高,执行速度要比在真实环境中慢。因为虚拟机模拟硬件,中间有翻译或拦截,增加了流程,也增加了执行的时间。因此也可以通过基于执行时间差异来检测虚拟环境。

Scoopy的作者Tobias Klein实现的DOO工具就是利用搜索VME特殊的虚拟硬件的技术检测虚拟机。在Linux版本的DOO中,其在IO、port以及SCSI等相关的目录下寻找“VMware”字符串,或者通过使用dmesg命令在内核中查找是否有有关VMware硬件的信息。

在Windows下的DOO,其主要是在注册表中搜索VMware SCSI适配器和VMware硬件类号的键值。这些特殊的键值如下:

2.1.4 在VME的处理器中搜索特殊的指令和能力

在虚拟环境检测领域中最令人感兴趣的是分析处理器是否含有虚拟机的行为特征。当前,有两种在虚拟环境下的处理异常被用来识别虚拟机:观察在虚拟环境下执行非标准x86指令的结果和识别宿主和寄宿主机之间的通信管道。

VMDetect就是一款利用在VME的处理器中搜索特殊的指令和能力技术检测虚拟机的工具。在Visual PC环境下,一条用于真主机与虚拟机之间通讯的非标准x86指令能够正常被执行,然而在真实主机上执行该命令时则会产生异常,导致应用程序和系统崩溃。同样在VMware环境下,它使用“IN”指令来读取特定端口的数据以进行两机通讯,但由于IN指令属于特权指令,在处于保护模式下的真机上执行此指令时,除非权限允许,否则将会触发类型为“EXCEPTION_PRIV_INSTRUCTION”的异常,而在虚拟机中并不会发生异常,在指定功能号0A(获取VMware版本)的情况下,它会在EBX中返回其版本号“VMXH”;而当功能号为0x14时,可用于获取VMware内存大小,当大于0时则说明处于虚拟机中。VMDetect正是利用这种观察在虚拟环境下执行非标准x86指令的结果来检测虚拟机的存在,其检测代码分析如下:

检测是否运行在Visual PC环境下

另外,虚拟机为了方便宿主系统与寄宿系统之间操作的方便,可以允许文件共享(VMware中通过.host命令访问宿主系统中设置的共享目录)、共享剪贴板等“后门”都为虚拟机检测提供了条件,当然这些也都可以通过虚拟机配置以对抗虚拟机检测。

2.2 远程虚拟机检测技术

攻击者在进行远程攻击、渗透时,为了避免攻击目标不是虚拟机部署的蜜罐系统,于是产生了远程虚拟机检测技术。当然本地检测技术同样适合进行远程虚拟机的检测,然而直接通过网络进行检测,那将大大提高了检测效率和成本。通过网络,目前一种最有前途的检测方式就是在ICMP、TCP协议数据中的时间戳上寻找时间异常,这是因为程序在真实系统中运行时间和在虚拟机中运行时间有比较明显的误差。第二种方法是检测IP包编号异常。因为在Windows系统的IP包编号是自动增加的,而Linux系统的IP包编号则是随机的。如果此时我们有一台虚拟机是Windows系统,而宿主系统是Linux系统,它们之间采用NAT连接方式。此时一个源地址将会出现既有不少自动递增的IP包编号,还有许多随机的IP包编号,通过这种IP编号异常,程序就基本可以判断这个源地址有虚拟机的存在。目前,远程虚拟机检测技术还不够成熟,准确率也不高,但是,由于其远程检测的优越性,必然会吸引众多学者的研究,检测技术得到迅速的发展。

3 反虚拟机检测技术

网络信息的攻与防就是一个博弈的过程,由于虚拟机检测技术的出现,恶意代码分析人员为了成功顺利的对这类带有虚拟机检测技术的样本就行分析,反虚拟机技术的也就孕育而生。本文介绍几种比较典型的反虚拟机检测技术:

首先就是替换特殊字符。这种技术就是以最快的速度查找“VMxh”等虚拟机特征,然后将其替换成其他的值。Tom Liston实现的VMmutate就是这样利用这样的技术是实现的一款反检测虚拟机的工具。

Hook技术同样适合于反虚拟机检测技术。该技术主要是对SIDT、SGDT、SLDT以及虚拟机的一些后门指令进行挂钩,一旦发现恶意样本调用这些指令,就则自动对相应的寄存器和内存地址就行修改,以达到欺骗虚拟检测程序的目的,“REFORM”是利用此种技术的代表。

最后就是通过虚拟机相应的配置文件来禁止获取虚拟机的后门指令(如获取VMware的版本指令),Tom Liston给出了一系列的配置选项来防止对虚拟机的检测。

VMware配置选项

通过修改虚拟机的配置文件,如“红色药丸”等检测方法都将失效。

4 结束语

随着网络安全事件的逐年增加,网络安全得到极大的关注,恶意代码分析成为网络与信息安全领域一个热点。作为恶意代码分析人员必将竭尽全力去分析每一个样本,随着技术研究的深入,相信反虚拟机检测技术将得到快速发展。同样,作为攻击者,为了延长恶意代码的寿命,提高攻击的成功率,同样会加快虚拟机检测技术的研究,虚拟机检测技术与反检测技术之间的博弈将永无休止。

摘要:目前恶意代码研究领域普遍使用虚拟机来动态分析恶意代码,然而众多恶意代码都使用了虚拟机检测的技术来对抗。本文首先简单介绍了虚拟机技术,然后对虚拟机检测技术及其相应检测算法进行了研究,最后介绍了一些反虚拟机检测技术。

关键词:恶意代码分析,虚拟机,虚拟机检测

参考文献

[1]Joanna Rutkowska,Red Pill or how to detect VMM using(almost)one CPU instruction http://invisiblethings.org/papers/redpill.html.

[2]Tobias Klein,scoopy doo-VMware Fingerprint Suite http://www.trapkit.de/research/vmm/scoopydoo/scoopy doo.htm.

[3]http://www.codeproject.com/system/VmDetect.asp.

[4]Jason Franklin,Mark Luk etc.Remote Virtual Machine Monitor Detection.ppt.

[5]Matthew Carpenter,Tom Liston,Ed Sloudis.Hiding virtualization from attackers and malware[J].IEEE Security&Privacy.2007.

虚拟机技术应用研究 篇9

数据中心通常使用虚拟化技术为用户提供各种云存储或计算服务[1]。虚拟化技术可以将多台虚拟机放置于同一台物理机上,并能透明地把虚拟机从一台物理机迁移到其它物理机[2],这样,数据中心开启的物理机数量大幅减少,提高了硬件资源使用率,降低了能耗[3]。高效运营云数据中心,需要灵活、方便地管理成千上万台虚拟机。虚拟机管理包括虚拟机选择和放置两个重要步骤,涉及许多指标,如资源使用(CPU、内存、网络IO以及磁盘IO)、应用性能和电源能耗等。

目前,目的主机选择方法大多只考虑资源使用、应用性能和电源能耗3个指标中的某一个,只能最大程度地降低温度或者提高资源使用率或者减少电能消耗,但不能同时有效兼顾。然而,高效的云数据中心,需要在满足用户应用性能的同时,最大程度地降低电能消耗,这就需要综合考虑资源使用、应用性能和电源能耗[4]三者的关系。但将这些状态指标放在一起考虑并非易事,因为它们之间会相互冲突、互相制约。例如,整合虚拟机到少量的物理机上并关闭空闲物理机,能有效减少能耗,但是虚拟机的整合会导致物理资源的竞争,从而影响应用性能,并有可能造成服务器热点。

目的主机选择算法研究,就是要综合考虑温度、资源使用、应用性能和电能消耗等多个状态因素,优化虚拟机放置,使数据中心在有效保证应用性能的同时,获得较低的温度、较高的资源使用率和较少的电能消耗。

1 相关工作

国内外已有不少学者对虚拟机放置问题进行了研究。文献[5]着重研究了数据中心硬件资源管理及应用性能保证问题,通过分析资源使用率与应用性能的关系,构建了两者的关系模型,提出了基于在线迁移技术的虚拟机动态放置算法。文献[6]指出当前数据中心快速增长的计算密集型应用负载使得处理器的温度越来越高,热能分布失衡,从而增加冷却系统的电能消耗,缩短了服务器的使用寿命。为了有效平衡数据中心各计算节点的处理器温度,作者提出关闭热点节点的思想。文献[7]针对数据中心的热点问题,使用低复杂度的线性热循环模型定义基于峰值温度的负载分配问题,旨在降低处理器峰值温度以最小化冷却成本。文献[8]将云计算数据中心虚拟化的结点整合描述为随机装箱优化问题来处理,但是只考虑了处理机资源,没有考虑内存。文献[9]提出了云计算中虚拟机放置的自适应管理框架,提出了带应用服务级目标约束的虚拟机放置多目标优化遗传算法,用于制定框架中的虚拟机放置策略,但是没有考虑能耗问题,没有将资源控制和能耗控制结合起来。文献[10]在考虑相关电力成本以及短暂冷却效果的基础上提出了动态负载分配政策,提出了不同的冷却策略来处理负载高峰问题,比较了动态成本行为,并探讨了参数设置的影响。文献[11]提出应把虚拟机迁往温度最低的物理机而忽略资源使用等因素。为了节约电能,研究将运行的虚拟机尽可能集中在有限的物理机上,关闭空闲机器或者使其处于休眠状态[12]。但是在应用负载集中的同时,其性能却未得到保证。为了最大限度保证服务质量,将空闲物理机作为迁移虚拟机重新放置目的主机,但这会增加物理机的资源浪费和电能消耗。

上述研究工作在虚拟机管理方面取得了一定的成果,但是存在以下不足:

(1)大多数放置策略研究都是基于某准则下的单目标优化,这样得到的最优放置也只是某一定条件的最优解,无法进行各准则下最优放置的相互比较。有效的放置策略应考虑多个目标并进行权衡和折中。

(2)各状态因素之间存在着相互冲突、制约关系,没有建立统一优化模型进行优化处理。

2 目的主机选择数学模型

目的主机选择的最终目标是得到一个最佳迁移方案,根据该方案将台迁移虚拟机重新分配到台物理机上运行,使得优化目标达到最优。该问题描述如下:定义迁移虚拟机集合{VM1,VM2...VMi...VMN}和目的主机{PM1,PM2...PMj...PMM}集合,求得虚拟机集合到目的主机集合的映射关系:f:VMi→ PMj。用<VMi,PMj>表示虚拟机VMi运行在物理机PMj中。虚拟机运行都有代价,此处用表达式Cost(VMi,PMj)表示虚拟机VMi在物理机PMj上运行的代价。运行代价是一个多目标优化的综合数值,要考虑温度、资源使用、应用性能以及电能消耗4个方面。Cost(VMi,PMj)值越大,表明VMi运行在PMj上的代价越大,需找到使Cost(VMi,PMj)值小的物理机PMk来重新放置VMi。目的主机选择问题数学模型:求得最佳的虚拟机迁移方案,使得数据中心所有迁移虚拟机的运行代价之和∑1≤i≤N,1≤j≤MCost(VMi,PMj)最小。各迁移虚拟机是基于其运行代价Cost(VM ,PM)值的大小进行目的主机选择的。

3 虚拟机运行代价计算

虚拟机运行代价所涉及的状态因素包括温度、资源使用、应用性能和电能消耗4个方面。

3.1 温度

数据中心计算节点温度过高会产生热点,长时间热点可导致节点的使用时限缩短,系统性能受损,冷却系统能耗增大,更为严重的后果是出现宕机,致使服务的可靠性无法保证。数据中心计算节点的温度主要来自半导体元件,如CPU、高速缓存、DRAM以及系统互连设备等。CPU是计算节点的核心,所以主要考虑CPU半导体元件的温度。应尽可能选择温度最低的物理机作为目的主机。

定义虚拟机VM运行在物理机PM上的温度代价为:

式(1)中变量T为VM迁移到PM后的物理机温度。TC为常量,可动态调节温度代价的大小,在本实验环境中取值为0℃。温度代价的值域为(0,1),具有如下性质:由于存在以e为底的指数函数,当PM的温度急剧上升时,其温度代价CostTemp(VM ,PM)急剧增大;反之,温度急剧下降时,温度代价亦急剧减小。因此,仅考虑温度因素时,目的主机选择算法应尽可能选择温度代价最小的物理机作为目的主机,使得虚拟机迁移后目的主机的温度最低。

3.2 电能消耗

数据中心计算节点的电能消耗主要来自CPU等半导体元件以及大型空调等冷却系统。物理机的电能消耗主要包括静态能耗和动态能耗两部分。其中静态能耗是指物理机处于空闲状态下的能耗,大约占满负载状态下物理机能耗的60%。为了有效削减静态能耗,采取通过整合虚拟机以关闭空闲物理机的方法。此时,目的主机选择算法应尽可能选择能耗最多的物理机作为目的主机。因此,定义物理机能耗的效率值:

其中,能耗效率值UEne表示物理机单位电能消耗下所承载的负载运行量。load表示虚拟机VM迁移到PM后的物理CPU使用率,energy表示能耗值,p1为服务器空闲时的电能消耗,p2为服务器满负载时的电能消耗与空闲时的电能消耗之差,p1和p2两者均为常量,与具体处理器及服务器的型号有关。(p1+p2)用来将UEne调整到[0,1]区间。当UCPU取最大值100%时,UEne取到最大值1。物理机的动态能耗主要来自CPU。定义物理机处于空闲状态时电能的效率值UEne低于10%,定义条件变量CVEne如下:

基于变量UEne和CVEne,定义VM运行在PM上的电能代价为:

由式(4)可知,电能代价CostEne(VM ,PM)的取值区间为[0,1]。当PM的电能效率值UEne小于10%时,CVEne取值为1,CostEne(VM ,PM)取到最大值1,此时说明电能浪费最严重。UEne取值越大,则电能代价CostEne(VM ,PM)的值就越小。CostEne(VM ,PM)最小可取0,此时表示PM的电能效率最高。

3.3 资源使用

数据中心要尽可能提高硬件资源的使用率,目的主机选择算法需选择资源使用最充分的物理机作为目的主机。CPU、内存、网络IO以及磁盘IO是物理机的重要硬件资源。准确获取物理机的资源使用率是研究虚拟机放置技术的重要前提,如果误差较大,会严重影响物理机的系统状态。为此,设计状态监控器准确获取各物理机资源使用率。状态监控器采集的状态数据进行如下处理:

监控数据采集:通过Shell脚本获取cpu、mem、disk、net使用率。读取/proc目录和top命令,使用iostat工具获取物理机信息。脚本通过virsh命令,调用libvirt接口获得虚拟机信息。

监控数据传递:通信方式采用简单的Socket通信,通信格式是JSON数据格式。

监控数据存储:监控数据一般是100KB量级的数据,直接缓存到内存,每个时间点数据以键值对格式存储到HashMap散列表。

用UCPU、UMem、Uio以及UNet分别表示虚拟机VM运行于物理机PM后各硬件资源的使用率。物理机中任何硬件资源剩余都说明存在资源浪费的现象,定义PM总的资源剩余量为:

由式(5)可知,PM的资源剩余量URes的值域为[0,4]。定义VM运行在PM上的资源代价CostRes(VM ,PM)为:

其中,资源代价的值域为[0,1],变量URes_max和URes_min为资源剩余量URes的最大值与最小值。 资源代价CostRes(VM ,PM)取值越小,则VM运行于PM后的硬件资源使用率越高,反之,则意味着资源浪费越严重。

3.4 应用性能

为了有效保证虚拟机迁移对象和目的主机的应用性能,有必要在虚拟机迁移前确定目的主机是否有足够的系统资源。否则,会因资源竞争而引发虚拟机多次迁移,致使目的主机系统开销增加。CPU、内存、网络IO以及磁盘IO中任意硬件资源的不足都可能使物理机产生性能瓶颈。为了有效避免上述情况的发生,应阻止虚拟机迁移到资源不足的物理机上。因此,定义虚拟机VM运行在物理机PM上的性能代价CostPer(VM ,PM)为:

其中,UMax(VM ,PM)定义为VM迁移到PM后的最大物理机资源使用率。例如,一台物理机上运行三台虚拟机,CPU的使用率为70%,网络IO的使用率为60%。为了同时保证物理资源CPU和网络IO的供应量,UMax(VM ,PM)应取值为70%。若UMax(VM ,PM)取值大于0.9,则赋值VM运行在物理机PM上的性能代价CostPer(VM ,PM)为无穷大,以阻止VM在PM上运行,从而减少虚拟机的迁移次数,优化物理机的系统开销。资源使用率的阈值要考虑迁移引发的状态波动以及虚拟化的性能开销,通过多组实验证明阈值取值0.9时算法性能较稳定,所以定义最大资源使用率的阈值为0.9。

3.5 虚拟机运行代价

综合考虑上述状态因素,定义虚拟机VM在物理机PM上的运行代价为以上各代价的加权和,如式(8)所示。其中wi为各代价的权重系数,可针对不同的应用需求设置不同的权重。基于实验数据的变化范围,公式中各系数均取值为50。VM在PM上的运行代价愈大,则PM选为目的主机的可能性就愈小。反之,运行代价愈小,则选为目的主机的可能性就愈大。运行代价的大小直接决定目的主机的选择。由此可见,准确计算虚拟机的运行代价对目的主机选择算法设计至关重要。

4 算法设计

由上述建立的数学模型可知,目的主机选择算法的输入参数包括各服务器的温度、资源使用和电能消耗等状态数据,而输出结果则是最优的虚拟机迁移方案。

4.1 状态变化

当虚拟机VMi从源物理机PMj迁移到目的主机PMk上运行时,会对物理机PMj与PMk的系统状态造成影响,从而使得相应的迁移虚拟机运行代价发生变化,具体表现为:(1)VMi的运行代价从Cost(VMi,PMj) 变化到Cost(VMi,PMk);(2)运行在源物理机PMj和目的主机PMk上的其它迁移虚拟机运行代价发生变化。由上可知,任何虚拟机的迁移均会引起相关迁移虚拟机运行代价的变化。在目的主机选择算法中,认为一次虚拟机迁移表示一次状态变化,发生状态变化时需及时更新各迁移虚拟机的运行代价。

4.2 算法核心思想

目的主机选择算法的优化目标是使如下函数取得最小值:

其中N表示迁移虚拟机台数,M表示物理机台数。为了求解迁移虚拟机的最佳迁移方案,目的主机选择算法采用如下贪心思想:首先假设当前迁移虚拟机VMi(i=1,2,3,...,N)和物理机的映射关系为VMi→ f(VMi)。然后针对每台迁移虚拟机选择出最佳的目的主机PMk使得如下函数取值最小:

从得到的所有函数值中选择最小值对应的有序偶对<VMbest,PMbest>,其中VMbest和PMbest分别表示算法每次迭代所选定的迁移虚拟机和目的主机,记录该有序偶对并更新当前的虚拟机迁移方案。算法开始循环迭代执行上述步骤直到求得最优的虚拟机迁移方案。算法每次迭代后均会引发状态变化,下面详细介绍目的主机选择算法如何通过矩阵求解来描述这种状态变化。

N台虚拟机和M台物理机之间的有序偶对<VMi,PMj>共有N×M种组合。每一个<VMi,PMj>都唯一对应虚拟机VMi在物理机PMj上的运行代价Cost(VMi,PMj)。定义如下M行N列的二维矩阵CostMatrix来表示各迁移虚拟机在某一状态下的运行代价:

其中CostMatrix的第M行表示第M台物理机,第N列表示第N台迁移虚拟机,第j行第i个元素Cji则表示运行代价Cost(VMi,PMj)。结合定义的代价矩阵,描述目的主机选择过程如下:首先通过式(11)计算得到运行代价矩阵CostMatrix ,然后将矩阵CostMatrix中的第i(i=1,2,3,...,N)列元素值同时减去Cost(VMi,f(VMi))得到代价差值矩阵。在代价差值矩阵中,值为正表示迁移虚拟机VMi从物理机f(VMi)迁移到其它物理机后运行代价增加,反之则表示运行代价减少。然后根据代价差值矩阵中的最小负值找到对应的有序偶对< VMbest,PMbest>,存储该有序偶对并更新当前的最佳迁移方案。虚拟机迁移方案的更新会引发状态变化,需重新计算代价矩阵CostMatrix中受影响的元素值。代价矩阵更新后,目的主机选择算法开始循环迭代执行上述步骤,记录每次迭代产生的有序偶对<VMbest,PMbest>,直到代价差值矩阵中不存在负值或算法达到了预定的边界条件。算法最后输出最优的虚拟机迁移方案,并根据该迁移方案有效指导所有迁移虚拟机的迁移。

目的主机选择的思想属于典型的贪心思想。Hillclimbing算法是人工智能领域典型的贪心局部搜索算法,该算法的主要思想是:在每次迭代过程中,当前节点总是被最好的邻居节点所替换。如果没有更好的邻居节点,则搜索结束并返回当前最优节点。 文献[15]使用hillclimbing贪心搜索算法较好地解决了在极大解空间中搜索近似最优解的问题。

4.3 算法运行实例

为了更好地理解目的主机选择算法,下面详细描述最佳目的主机选择过程。假设共有8台迁移虚拟机和5台物理机,目的主机选择算法需解决如下问题:找到最优的虚拟机迁移方案,将8台虚拟机迁移到5台物理机中运行。首先算出各个迁移虚拟机VMi在物理机PMj上的运行代价Cost(VMi,PMj),通过计算所得值构建运行代价矩阵CostMatrix 。实例说明目的主机选择算法工作流程,假设初始状态下运行代价矩阵CostMatrix如表1 所示。

假设各虚拟机和物理机的对应关系为<VM1,PM1>,<VM2,PM2>,<VM3,PM3>,<VM4,PM4>,<VM5,PM5>,<VM6,PM5>,<VM7,PM4>以及<VM8,PM3>。将矩阵CostMatrix中的第i(i=1,2,3,...,N)列元素值同时减去Cost(VMi,f(VMi))得到如表2的代价差值矩阵。

该矩阵中的最小负值为-10.4,即将虚拟机VM5从物理机PM5迁移到PM2上运行,可节省大小为10.4的运行代价。需保存有序偶对<VM5,PM2>并更新当前的迁移方案。迁移方案更新后会发生状态变化,需重新计算代价矩阵CostMatrix中第PM2与PM5行的值。代价矩阵更新后,目的主机选择算法开始循环迭代至最后输出最优的虚拟机迁移方案。

5 结语

本文针对虚拟机放置技术进行了相关研究。首先对虚拟机各状态信息进行采集;然后基于给定的优化目标函数及虚拟机代价运算模型,对目的主机选择问题进行数学建模;最后基于该模型求解最优的虚拟机迁移方案。基于上述思想设计的目的主机选择算法,能在较短时间内找到一个近似最优解。与全局搜索算法查找整体最优解相比,算法不仅有更高的搜索效率,而且能得到较好的虚拟机迁移方案。

摘要:提高数据中心系统性能和减少能耗的关键问题是要将虚拟机放置到合适的物理结点上。要综合考虑数据中心的温度、电能消耗、资源使用、应用性能等状态因素,实现数据中心的温度、资源使用、应用性能等状态因素的最佳折中。研究了高效的目的主机选择方法,以解决数据中心虚拟机放置问题。

虚拟机技术应用研究 篇10

如果用虚拟技术在一台电脑上虚拟出若干台虚拟PC,每台虚拟PC运行独立的操作系统而互不干扰。进而用构建的多台虚拟机来搭建一个小型的网络环境,让学生在这个模拟的网络环境中学习不同操作系统、软件测试、学习网络的通讯原理,进而有能力进行网络应用的开发。

目前流行的虚拟机软件有VMware和Virtual PC,它们都能在Window s系统上虚拟出多个计算机。本文以VMw are为基础,来介绍虚拟网络实验室搭建中的一些关键技术基础。

1 虚拟机的优点

1)一般不会损坏本PC的操作系统和软件,因虚拟机的硬盘通常是本PC上的一个文件,虚拟机在硬盘上的操作只在这个文件上进行。

2)可同时在同一台PC上运行多个操作系统,每个OS都有自己独立的一个虚拟机,就如同网络上一个独立的PC。

3)可在单机上组建网络,它提供了虚拟网络设备如交换机、网卡和虚拟建网的方式。

4)容易安装和备份,可在虚拟机上容易地安装不同的操作系统然后备份,使用这些备份可更快速地安装其他虚拟机。

2 VMwareWorkstation安装、配置

在VMware环境中,将真实的操作系统称为主机系统,将虚拟的操作系统称为客户机系统或虚拟机系统。主机系统和虚拟机系统可以通过虚拟的网络连接进行通信,从而实现一个虚拟的网络实验环境。

具体的安装和配置过程相对简单,本文不做详细阐述。

3 虚拟机使用注意事项

本文不打算过多介绍Vmware Workstation虚拟机软件的使用,为了做好网络实验,建议主意以下几点:

1)为了更好地管理和使用虚拟机系统,建议在安装完一个操作系统之后立即对系统建立快照,并使用简单易记的名字进行命名。在对虚拟机系统进行了重要配置之后,也应该建立相应的快照。在每次做实验之前,将已经安装好的的虚拟机创建一个“克隆”(链接),在创建的克隆链接的虚拟机中做实验,在实验之后,确认不再使用后,删除克隆后的虚拟机。

2) Vm w are Works tation提供了网络实验中所需要的虚拟交换机、工作站和服务器,对于网络实验中所需要的虚拟路由器,则由主机提供。

3)设置VMw are Works tation的联网方式有四种,每种都有不同的意义:

第一种,Use bridged networking,其意义在于使用VMnet0虚拟交换机,此时虚拟机相当于网络上一台独立的计算机,与主机一样,拥有一个独立的IP地址。具体操作方法是:第一步,把虚拟机连接到虚拟交换机上,方法是在网卡的网络设置中选“桥接”选项,它就默认连接到虚拟交换机VMnet0上。第二步,将主机连接到虚拟交换机上,当把虚拟机桥接到某一个虚拟交换机时主机就自动和该虚拟交换机相连了。

第二种,Use network address translation,其意义在于使用VMne t8虚拟交换机,此时虚拟机可以通过主机单向访问网络上的其他工作站(包括Internet网络),其他工作站不能访问虚拟机。具体操作方法是:第一步,把虚拟机连接到虚拟交换机上,方法是在网卡的网络设置中选“网络地址翻译”选项,它就默认连接到虚拟交换机VMnet8上,而且自动将NAT服务功能赋予给虚拟交换机VMnet8。如果要选用其它虚拟交换机,必须将NAT服务功能赋予这个虚拟交换机,然后才能选用此虚拟交换机。第二步,将主机连接到虚拟交换机上,方法与仅主机模式相似。第三步,在虚拟机上安装拨号连接。

第三种,Use host-onlynetworking,其意义在于使用VMnet1虚拟交换机,此时虚拟机只能与虚拟机、主机互联,网络上的其他工作站不能访问。具体操作方法是:第一步,将主机连接到虚拟交换机上。方法是给主机系统添加一块虚拟网卡,只能是虚拟网卡VM net1-9中的一块。VMware给主机添加虚拟网卡同时会给主机添加一个“网络连接”,这时主机系统就和相应的虚拟交换机相连了。如选择虚拟网卡VMnet2,它就连到了虚拟交换机VMnet2。第二步,把虚拟机连接到虚拟交换机上,方法是在网卡的网络设置中选“仅主机”选项,它就默认连接到虚拟交换机VMnet1上。但如果主机不是连接到虚拟交换机VMnet1上时,就要选“自定义”选项,并指定连接到所需的虚拟交换机(如虚拟交换机VMnet2),否则无法通讯了。因为主机和虚拟机系统没有连到同一个虚拟交换机上。

第四种,Donotuse anetworkconnection,相当于虚拟机中没有网卡,等于“单机”。

4 使用组(team)创建实验环境

组中的“LANSegment”与VMnetl~VMnet9虚拟交换机不同之处在于,VMnetl~VMnet9虚拟交换机都连接到主机,而“LANSegm e nt”虚拟交换机并不连接到主机,而是独立于主机及主机所属局域网的交换机。

如果有的虚拟机添加多块网卡,添加多块网卡的虚拟机可以连接多个虚拟交换机。图1中,LAN1和LAN2虚拟交换机并没有直接的网络连接,而是通过一台添加了3块网卡的虚拟机相联在一起,如果LAN1和LAN2中的其他计算机 (不包括添加3块网卡的虚拟机) 想要通信,只能通过添加3块网卡的Windows Server2003虚拟机(可以通过启用“路由和远程访问”中的“路由器”实现)进行转发。我们甚至可以使得LAN1或者LAN2成为独立的网络,不与添加3块网卡的Window s Se rve r2003虚拟机相连。进而让学生在多样的环境中学习和了解网络。

5 总结

本文重点分析的是虚拟机软件中网络的概念,没有着重介绍虚拟机软件本身的使用,包括虚拟机器的建立,设置等。不过可以看出通过灵活使用VMware软件,可以建立各种符合实验要求和开发需要的网络环境。使用虚拟机软件一方面可以解决学生学习过程中资金及网络环境方面的欠缺,另一方面可以满足教学活动中对网络灵活性的要求。是网络教学,尤其是网络实验中非常有力的助手。

参考文献

[1]欧阳星明, 姚小龙, 谢欣荣.网络虚拟实验室的设计与实现[J].计算机工程, 2004.

上一篇:90后婚恋观时代性下一篇:新疆维吾尔