A Survey of Virtual Machine System: Current Technology and Future Trends

来源:互联网 发布:飞天侠淘宝客9.0 编辑:程序博客网 时间:2024/06/05 05:22


     虚拟机的系统安全:当前技术和未来的趋势

 

     摘要:随着计算机技术的发展,虚拟机器已经成为一个主流的研究主题。理解虚拟机的当前技术和未来的发展趋势特别有助于提高系统的安全性能。因此,我们在论文中描述了当前技术并展示了虚拟机的将来的趋势。在当前的虚拟机技术中,我们主要描述了虚拟化技术、资源调度(resource scheduling)技术,迁移(migration)技术、安全(security)技术和性能评估(performance evaluation)技术。在未来虚拟机发展趋势中,我们主要陈述了(present)将来cpu技术的概述、未来内存和资源的管理模式、未来多虚拟机系统系统安全和性能评估方法的维护方法(the maintaining method).

 

关键字:虚拟机系统(virtualmachine system);资源调度(resource schedule);迁移(migration);安全(security);性能评估(performance evaluation)

 

1.介绍

  随着计算机技术的发展,虚拟机器已经成为一个主流的研究主题。通过使用虚拟机技术,计算机技术能够聚合(aggregate)各种各样的数据资源,软件资源和硬件资源并且使得这些资源为不同的任务提供服务。而且,虚拟化技术能够分离硬件和软件的管理并提供有用的特征,包括性能隔离、服务加固(consolidation)和动态迁移(live migration),除此之外,虚拟技术能够为现代计算机系统提供可移植的环境。因此,虚拟化技术具体化的新计算理论和模型有很普遍的使用。

   通常,如图1所示为虚拟机系统体系结构,在体系结构中,多虚拟机(VMs)共享了相同的“物理机器”或者主机(host).最底层是硬件层,主机操作系统内核或虚拟机给虚拟机提供了资源配置,每一个虚拟机,多个任务(服务)运行于“客户”操作系统之上,客户操作系统反过来会提供高层抽象的(customary set)惯用设置,比如文件访问和对运行于虚拟机之上的应用的网络支持。事实上,虚拟机是一个拥有与真实主机几乎相同体系结构并在主机内部运行着一个操作系统的逻辑机器。一个虚拟机器系统运行着多虚拟机,在一个单一额真实主机上每个虚拟机可以运行一个操作系统。虚拟机允许用户区创建,拷贝,保存(checkpoint),读,修改,共享,迁移并滚回到带有所有减缓操作文件(all theease of manipulating a file)的执行状态.这些灵活性为用户和管理者提供了重要的数据。


   传统上,虚拟机系统会完全在域间共享处理器资源。然而,这会引起系统服务质量的低下或(和)不可预知的问题。随着硬件和软件资源的快速增加,虚拟系统中资源服务的性能评估开始变的越来越重要,因此,提高虚拟机系统的服务性能成为一个关键因素。

     在这篇论文中,我们尝试描述当前技术还有未来虚拟化趋势。在当前的虚拟机技术中,我们主要描述了虚拟化技术、资源调度(resource scheduling)技术,迁移(migration)技术、安全(security)技术和性能评估(performance evaluation)技术。在未来虚拟机发展趋势中,我们主要陈述了(present)将来cpu技术的概述、未来内存和资源的管理模式、未来多虚拟机系统系统安全和性能评估方法的维护方法(the maintaining method).

论文余下部分按以下方式组织:第二部分描述了当前技术。第三部分陈述了未来的虚拟化趋势。第四部分得出总结。

 

二.当前技术

    在当今,虚拟机系统中,虚拟技术资源调度技术、迁移技术和安全技术在决定虚拟化技术的全部的清晰度(fairness)和性能上是很关键的。为了理解虚拟机系统的发展状态,我们分别在下面展示了这些关键技术。

A.虚拟化

   虚拟化最先是1960年被IBM发展起来的,最初是划分大型主要的计算机为多个逻辑实例(instances)并且作为一个主机(host)运行在一个单一的物理主机(大型机)上。随着时间的发展,虚拟技术在计算方面很快流行。事实上,对当今计算它被证明为基础的构建模块。

   虚拟化层是一个软件,用来负责hosting和管理在虚拟机器监视器的所有虚拟机器。当前,虚拟化系统使用一个主机(hosted)结构或者hypervisor的结构。一个主机结构像一个应用在操作系统的顶层安装并运行了虚拟化层,并且主机结构支持最大范围的硬件配置(configuration)。相反,超虚拟化会直接安装虚拟化层于一个基于x86清晰的系统之上。依赖计算机的需求和目标,以下讨论一些技术,这些是支持虚拟化物理资源来处理密集和特权指令的交替(alternative)技术

1)完全虚拟化(Fullvirtualization)

   在这种方法中,内核代码用一个新的序列的指令(对虚拟的硬件有必要的影响)被翻译来代替非虚拟化的指令。客户操作系统部会意识到它正在被虚拟化并且不需要修改。超级监管者仿真了完全独立的虚拟机的多个逻辑实例,它缓存了将来使用的结果,然而用户级指令会以本地速度运行未修改的指令。虚拟机资源包括I/O端口和DMA通道。因此,任何一个虚拟机会运行任何由底层硬件支持的操作系统。

   全虚拟化,通过在虚拟监控器中模拟物理设备I/O设备被分配给客户机;然后在虚拟环境中和这些设备的交互通过客户操作系统驱动或者通过“hypervisor driver”直接指向真实物理设备。因此,任何一个虚拟机会运行任何由底层硬件支持的操作系统。

 2)超虚拟化(Paravirtualization)

   在这种方法中,为了在虚拟机中能被操作客户操作系统应该被修改。不想全虚拟化,半虚拟化是服务器虚拟化的一个子集(subset),它在主机硬件和修改的客户OS之间提供很薄的软件接口。半虚拟化涉及修改OS内核来替换带有直接和虚拟化层的“hypervisor”的“hypercall”非虚拟化指令.

   Xen是半虚拟化的一个例子。它使用修改的Linux和使用经典客户系统(OS)设备驱动来虚拟化I/O设备它虚拟化了处理器和存储器。

3)硬件辅助虚拟化

   硬件辅助虚拟化是一种新的CPU执行模式。在新的CPU执行模式,允许VMM在根模式下运行。此外,该模式允许特权和敏感的调用自动捕获到系统管理程序,为二进制翻译或半虚拟化删除的必要性。当英特尔和AMD公布了他们内置的硬件的处理器支持虚拟化,近来收到广泛的关注。此外,硬件支持虚拟化架构创建一个受信任的“根模式”和一个不可信的”非根模式”。用这种方式[6]。vt- xAMD_V是一个支持硬件辅助虚拟化例子[7]。

4)资源虚拟化

   在虚拟化系统中,“存储卷、名称空间和网络资源”被视为资源虚拟化[8]。有各种各样的执行资源的虚拟化方法。例如,单个组件可能聚合成一个更大的资源池和比如磁盘空间这样单个的资源可以被划分为大量更小资源并方便地访问相同类型的资源。类型。实际上,存储虚拟化是一种资源虚拟化的形式,这种形式是通过抽象所有被分散在网络上的物理存储资源创建逻辑存储虚拟化。首先是物理存储资源聚合

   形成一个存储池然后形式逻辑存储。对于用户这些聚合分散物理资源的逻辑存储的似乎是一个独立的存储设备。其他资源虚拟化是类似于存储虚拟化。

B .迁移

    有很多虚拟机迁移的原因,对应的内存和文件系统。例如,从系统管理员的角度来看,在硬件上迁移整个虚拟机的能力简化了服务问题。管理员迁移一个操作系统到中级并且采取主要计算机离线达到服务目的,其中包含运行在主要计算机上的一个web服务器。为了提高虚拟机的可靠性,虚拟机技术迁移、内存迁移技术和文件系统移植技术被提出了。这些技术可以简单地显示为遵循

1)虚拟机迁移

   在本节中,简要描述一些不同的架构,这些架构实现虚拟机迁移技术。这些技术可以描述如下。

   Xen是一个x86虚拟机监视器。在这个虚拟机监控下,多个商用的操作系统在一个安全的和资源管理方式下(ina safe and resource managed fashion)共享管理时尚。Xen hypervisor(VMM)直接访问硬件,上面是Xen域(VMs)来运行客户操作系统实例。每个客户操作系统使用预先配置好的物理内存共享。一个特权域叫Domain0(或Dom0)),执行任务的创建、终止或迁移其他客户vm。Xen使用基于vm功能转移能力的发送/ recv模型,实现一个标准的“双边”(two-sided)接口。

   文章描述了一个新的系统透明迁移应用[9]。它支持遗留和网络虚拟化应用程序透明迁移并在操作系统之上提供了一个薄层的虚拟化层,它这个引进了一个过程域(pod)抽象(aProcess Domain)。在这种系统中,每个域代表具有相同的虚拟视图系统和私有名称空间的一个过程组。这个虚拟视图将虚拟标识符与操作系统资源联系在一起,如PIDS和网络地址操作系统资源。这个分离过程从主机依赖关系在一个分离并形成迁移的基本单位。(This decouples processes in a pod from host dependencies, and forms the basic unitof migration.

   在[10]中,作者提出一种不同的方法迁移虚拟机。而不是传统的主机驱动迁移,作者提出self-migration虚拟当虚拟机和称以这种方式迁移虚拟机有额外的好处。例如,由于VMM和虚拟机之间的通信导致的开销更少并且增加安全性的好处。网络和CPU执行的成本迁移是由于客户操作系统,而不是主机环境。可移植性是自我迁移的另一个好处。因为迁移在没有虚拟机监控程序的参与下可以发生,这一点方法是不依赖于系统管理程序(thehypervisor)的语义(semantics)并且可以在不同的虚拟机监控程序和微核中移植。

   虚拟机迁移。一般来说,内存迁移可以分为三个阶段:即push阶段,停止-and-copy阶段和pull阶段。在推进阶段,源当某些页面跨网络的被推向新目的地的同时虚拟机继续运行。为确保传输一致性,传输过程期间页面修改过程必须重发。停止与复制阶段,源虚拟机停止,页面复制到目标虚拟机,然后新的虚拟机器启动。在提取阶段,新的虚拟机开始执行,如果它在网络上从源虚拟机访问一个没有被复制的页面,那么这一页是有缺陷的页。(if itaccesses a page that has not yet been copied, this page is faulted in, acrossthe network from the source virtualmachine.)

   实用的解决方案范例包括计划合并主要是一个或两个以上的阶段。例如,互联网suspend-resume技术使用纯停止与复制的内存迁移模式。此外,这种技术适用于某些基本启发式为了减少内容被迁移。同样,demand-migration技术使用停止与复制转移基本内核数据结构到目的地,这是基于正在被转移的现场的页面错误。预先复制技术结合迭代推动阶段和停止与复制阶段,复制阶段持续很短持续时间[10]。简而言之,页面在一轮‘n’次过程中被转移只是那些被踩在“n- 1”。但是,有一个特定的页面集,它反复的被更新以便指令集不通过纯预先复制迭代来服务。

   借用的虚拟时间(BVT)调度算法描述在[11]中。该算法的必要性是fair-share的基于虚拟时间的概念的调度器。第一,以最小的虚拟时间来调度可运行虚拟机。此外,该算法为实时和交互式应用程序支持低延迟的,允许延迟敏感的客户来“wrap”在虚拟时间来获得调度优先级。客户端有效地从其未来CPU分配“借”虚拟

时间。

C..资源调度

   在虚拟机系统中,系统资源是通过一个虚拟机监视器被管理和控制。通过使用资源调度算法每一个虚拟机为不同的任务安排不同的系统资源,这些调度算法由虚拟机监视器提供。这些资源调度算法可以简单如下所示:

   简单的最早期限第一(SEDF)调度算法在[12]。在该算法中,每个域指定其CPU需求。毕竟runnable域收到他们的CPU共享,SEDF会以公平的方式分发这种松弛时间。事实上,时间粒度的定义影响公平调度器。

信贷调度算法在13描述。这是跨物理cpu上SMP主机,Xen最新自动比例共享调度器担任自动加载负载均衡的虚拟cpu。一个CPU空闲之前,它将考虑其他CPU目的是为了找到任何可运行虚拟CPU(VCPU)。这方法保证当在系统中有可运行的工作时没有CPU闲置。

   在[14]中,作者提出一个新颖的虚拟I/ O调度器,通过在操作系统和应用程序间公平共享I /O系统资源,(VIOS)虚拟化提供了绝对的性能虚拟化,并在面对I / O流变化的特点时提供了性能隔离。调度器,VIOS控制粗粒度磁盘的时间分配到不同的操作系统实例和输出调度程序,这可以确定来自相应的操作系统到存储系细粒度(fine-graininterleaving of requests)的交错请求。

D.安全

  在一个虚拟机系统中,被正在虚拟化的计算机很容易受到所有传统的攻击利用常见的正常环境和利用,这些攻击和利用对正常的环境是很常见的。因此,对虚拟机系统安全的期望比在正常环境下更高。此外,还有可能的入口点,更多的漏洞补丁和更多的互连点。为了确保虚拟机的安全系统,给出了一些安全机制和方法。这些安全机制和方法可以描述如下。

   使用虚拟机的安全经验介绍了在[15]中。摘要Revirt被定义为监控和主机系统之间的一个中间层,和捕获的数据通过的虚拟机syslog(标准的UNIX日志守护进程)的过程被发送到主机系统。然而,如果虚拟系统受损,日志消息可以被入侵者,因此没有更好的可靠。在[16]中,VMI-IDS(虚拟机器自检入侵检测系统)描述搜索入侵证据。在系统,虚拟机直接在硬件之上执行,入侵检测系统在特权虚拟机中执行并执行在扫描从其他的虚拟机提取的数据。安全管理程序(sHype)项目[17]的目标在控制平台支持虚拟机之间共享资源,比如内存、CPU周期和网络带宽。上述项目不考虑VMM本身的安全。

E.性能评估

   随着虚拟机技术的发展,虚拟机的性能开始被广泛关注。为了研究虚拟机的性能当前有很多的方法并有了很大的进步。这些方法涉及很多领域的虚拟机系统。他们可以简单地显示如下。

   Menasc´e模型提出了一种分析性能通用虚拟系统[18]。在分析性能模型中,作者使用了一个分析排队方法来评估虚拟环境的性能。Bolker和Ding[19]论述了虚拟分析排队模型系统。他们专注于模型的处理器利用率并最后通过benchmark测试了他们的模型研究的VMware基准。在[20],梅农等人关于xen虚拟环境里资源调度提出诊断性能开销的方法。在这种方法中,一个工具包用于分析由Xen虚拟机中运行的应用程序产生的网络性能开销。该工具包使协调系统中多个vm的性能分析(profiling)来获得硬件时件的分配,比如时钟周期和缓存和TLB。在[21]中,作者分析和比较CPU调度程序在Xen虚拟机监视程序(VMM)中和在传统的工作负载管理器上下文中。他们使用的开源Xen虚拟机监控执行比较评价三种不同的CPU调度程序虚拟机和分析CPU调度程序和对应用程序性能上的资源分配的影响。在[22]中,这种监控方法用于评性能一个虚拟化系统的性能。在监测方法中,xm和Xenoprof是实现系统分析的强大工具。

      在[23],Baba等人提出了一个磁盘访问吞吐量评估方法,这个方法是用在多个独立的虚拟机共享一个共同的物理共享磁盘驱动器的虚拟机环境中。在[24],你们等人提供一个框架来分析虚拟机系统的性能,这是基于排队网络模型。在框架中,虚拟机器不运行或只是代替hypervisor监视虚拟机器。

 

三.未来的趋势

   由于大多数现代CPU体系结构不能被设计已达到虚拟化,虚拟机的发展技术非常缓慢。仅仅有一个新的执行模式被添加到处理器,英特尔Vanderpool技术和AMD的帕西菲卡(Pacifica)技术可以支持x86CPU虚拟机监视器。新的处理器可以让VMM安全、透明地使用直接执行运行虚拟机。为了提高性能,对未来模式来减少实现虚拟机所需的陷阱来和要执行陷阱所花的时间是有必要的。只有这些技术可用,直接-纯执行虚拟机(direct-execution-onlyvirtual )监视器在x86处理器上才会是可能。

   对于未来的研究资,源管理领域拥有更大的潜力。有很多工作仍处对虚拟机系统和客户操作系统的调查方式来做出和谐的资源管理决策。此外,研究必须在整个数据中心水平考虑资源管理,我们期望在未来十年这一领域将会有显著进步。

  硬件和软件资源的快速增长,对虚拟机系统管理成为越来越多的困难。此外,需要人解决的问题

越来越复杂。此外,资源的利用率和服务性能随着计算机系统规模的增长会降低。因此,在如何扩大计算机系统的规模扩大以及如何提高资源服务的实时性能和利用率之间有两个不一致因素。为了调度系统资源并有效的提高资源的服务性能,有必要在未来模式为虚拟机监视器下多个虚拟机系统建立了一个实时互动策略。

 

 

                                                                                                                         参考文献

[1]D. Gupta, L. Cherkasova, R. Gardner, andA. Vahdat. “EnforcingPerformance Isolation across VirtualMachines in Xen”. In Proceedingsofthe 7th International Middleware Conference, LNCS Press, 2006.pp.342-362

 

[2]C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C. Limpach, I. PrattandA. Warfield. “Live Migration of Virtual Machines”. Proceedings ofthe 2nd Symposium on Networked SystemsDesign and Implementation,Boston, Massachusetts, USA,May 2005.

 

[3]K. Fraser, S. Hand, R. Neugebauer, I. Pratt,A. Warfield, and M.Williamson. “Safe Hardware Access with the Xen VirtualMachineMonitor”. Proceedings of the 1st Workshopon Operating System andArchitectural Support for the on demand ITInfraStructure (OASIS),Boston,MA,October 2004.

 

[4]P.Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, R. N. Alex Ho, I.Pratt, andA. Warfield, “Xen and the Art of Virtualization”. Proceedingsof the 19th ACM Symposium on OperatingSystems Principles, ACMPress, October 2003, Bolton Landing, NY,USA, pp.164-177

 

[5]W.Huang, Q. Gao, J. Liu, and D. K. Panda, “High Performance VirtualMachineMigration with RDMA over Modern Interconnects”,Proceedings of IEEE Conferenceon Cluster Computing (Cluster 2007),Austin,Texas.September2007,pp.11-20,doi:10.1109/CLUSTR.2007.4629212

 

[6]P.Apparao, S. Makineni, D. Newell, “Characterization of NetworkProcessingOverheads in Xen”. First International Workshop onVirtualizationTechnology in Distributed Computing, Nov. 2006, pp.2-2

 

[7]G.Vallee, T. Naughton, C. Engelmann, O. Hong, S. L. Scott, "System-LevelVirtualization for High Performance Computing". Proceeding ofthe 16th EuromicroConference on Parallel,Distributed andNetwork-Based Processing, Feb. 2008, pp.636-643, doi: 10.1109/PDP.2008.85

 

[8]C.H. Huang, P. A. Hsiung, "Hardware Resource Virtualization forDynamicallyPartially Reconfigurable Systems". IEEE EmbeddedSystems Letters, May 2009,Vol. 1, No. 1, pp.19-23, doi:10.1109/LES.2009.2028039

 

[9]S. Osman, D. Subhraveti, G. Su, and J. Nieh, The DesignandImplementation of Zap: A System forMigrating ComputingEnvironments, 5th Symposium on OperatingSystems Design andImplementation (OSDI 2002), Boston, MA,December 2002

 

[10]J. G. Hansen, and E. Jul,“Self-migration of Operating Systems”,Proceedings of the 11st ACM SIGOPSEuropean Workshop, Leuven,Belgium, September 2004, pp.23

 

[11]B. Lin, P. A. Dinda. “TowardsScheduling Virtual Machines Based OnDirect User Input”.First InternationalWorkshop on VirtualizationTechnology inDistributed Computing, IEEE Press, November 2006,pp.6-6, doi:10.1109/VTDC.2006.15

 

[12]K. Korotaev, “Hierarchical CPUSchedulers for Multiprocessor Systems,Fair CPU Scheduling and ProcessesIsolation”, IEEE InternationalConference on Cluster Computing, IEEE Press,September 2005, pp.1-1

 

[13]J. F. An, X. Y. Fan, S. B. Zhang, etal. “An Efficient VerificationMethodfor Microprocessors Based on the Virtual Machine”, FirstInternational Conference on EmbeddedSoftware and Systems, LNCSPress, August 2005, Vol.3605/2005, pp.514-521

 

[14]S. R. Seelam, P. J. Teller, “Virtual I/O Scheduler: aScheduler ofSchedulers for Performance Virtualization”.Proceedings of the 3rdInternational Conference on Virtual ExecutionEnvironments (VEE2007), San Diego, California, USA,ACM press, June 2007, pp.105-115,

doi: 10.1145/1254810.1254826

[15]G. Dunlap, S. King, S. Cinar, M. Basrai, P. Chen, “ReVirt: EnablingIntrusion Analysisthrough Virtual-Machine Logging and Replay”.Proceedings of the OperatingSystems Design and Implementation(OSDI), Boston, Massachusetts, USA, Dec. 2002.

 

[16]T. Garfinkel, M. Rosenblum, “A VirtualMachine Introspection BasedArchitecturefor Intrusion Detection”. Proceedings of the Network andDistributed System Security Symposium(NDSS), 2003.

 

[17]R. Sailer, T. Jaeger, E. Valdez, R. Caceres, R. Perez, S. Berger, J. L.Griffin, L. Doorn, “Buildinga Mac-based Security Architecture for theXen Open-source Hypervisor”.Proceeding of the 2005 AnnualComputer Security Applications Conference, Dec.2005, pp. 276–285,

doi: 10.1109/CSAC.2005.13

 

[18]D.A. Menasc´e, “Virtualization: Concepts, Applications, andPerformance Modeling”, Proc. 31th Int.Computer Measurement GroupConf, 2005, pp. 407–414,

 

[19]E.Bolker and Y. Ding, “Virtual Performance won’t Do CapacityPlanning for Virtual Systems”, Proc. 31thInt. Computer MeasurementGroup Conf, 2005, pp. 1-39,

 

[20]A.Menon, J. R. Santos, Y. Turner, G. J. Janakiraman, and W.Zwaenepoel,“Diagnosing Performance Overheads in the Xen VirtualMachineEnvironment”, Proceedings of the 1st International Conferenceon Virtual Execution Environments (VEE2005), June 11-12, 2005,

Chicago, IL, USA, pp.13-23, doi: 10.1145/1064979.1064984

 

[21]L.Cherkasova, D. Gupta, and A. Vahdat. “Comparison of the ThreeCPU Schedulers in Xen”. SIGMETRICSPerformance EvaluationReview, 2007, 25(2), pp.42-51

 

[22]P.Willmann, J. Shafer, D. Carr, etc, “Concurrent Direct Network Accessfor Virtual Machine Monitors”, Proceedingsof the IEEE 13thInternationalSymposium on High Performance Computer Architecture,IEEEPress,February2007,pp.306-317,doi:10.1109/HPCA.2007.346208

 

[23]T.Baba, and A. Tanaka, “Simple and Practical Disk PerformanceEvaluation Method in Virtual MachineEnvironments”, InternationalSymposium on Performance Evaluation ofComputer andTelecommunication Systems, 2008. SPECTS2008. June 2008, pp.338-345

 

[24]D. S. Ye, Q. M. He, H. Chen, and J. H. Che,“A Framework to Evaluateand Predict Performances in VirtualMachines Environment”, IEEE/IFIPInternationalConference on Embedded and Ubiquitous Computing,2008. EUC '08. Dec. 2008, Vol.2, pp.375-380, doi:

10.1109/EUC.2008.42

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击