分享:Xen虚拟化技术提升软硬件性能

虚拟化的概念是把一个主机分割成多个操作系统的虚拟机(VMs)来支持并发程序,虚拟化以硬件和软件的方式出现。IBM在上世纪60年代应用System 360/67 技术引入了硬件虚拟化而且将继续在其z/VM大型主机操作系统上开发软件虚拟化。目前对虚拟化的信任主要来自Microsoft、VMware 和开源项目 Xen(应用于X86和X64)。
虚拟化是目前在所有的IT行业最热点的话题之一。为什么呢?每个VM可以有一个或多个负载同时多个VM可以存在于一个主机上这样就可以增加服务器利用率,减小硬件开销和潜在的软件授权许可成本。UNIX的主机利用率典型情况下只有15%-20%之间,其它的服务器特别是Windows的主机没有被充分利用,因为它们被设置成只运行一个应用程序。
IDC预测虚拟化应用上的花费2009年在世界范围内将达到150亿美元。其中大部分的花费是在运行虚拟化软件的硬件设备。IDC同时预测所有员工超过 500人的公司中有75%将会部署虚拟服务器-运行虚拟化软件的服务器。S/390, OS/400 和UNIX系统占了大部分到用户在虚拟化方面的花费,但是基于X86/X64的Linux和Windows系统的虚拟化费用将会显著增长。
虚拟机架构
软件虚拟化是由一层虚拟化软件实现的,也就是VM监视器它实现了对很多VM的实现。一个VM包括客户操作系统,一个或多个安装的应用程序,管理工具,防病毒软件和其它的工具.每个VM 拥有主机的部分或全部功能,客户操作系统主机操作系统的驱动程序和其它功能。
主机系统分区来支持并发执行多个操作系统的功能带来很多挑战:
VM必须彼此隔离;
支持不同操作系统来容纳流行应用程序的异构性是十分重要的;
花费在虚拟化方面的花销尽可能小。
当今处于主导地位的VM架构已经显示在图1中,虚拟化软件层管理主机和客户操作系统间的资源。 开源的Xen2.0和微软的Virtualization Server 2005 是虚拟化软件层的两个例子。
图2展示了一个基于hypervisor的VM架构,Xen 3.0是应用Hypervisor技术的例子。
hypervisor是一个集成在主机操作系统(Windows/Linux)中的虚拟化软件。在基于hypervisor的环境中, hypervisor将在主机系统中首先引导。hypervisor可以被看做是在硬件和虚拟资源例如CPU和内存的上层结构。
虚拟化实现
在传统上虚拟化实现中一个VM拥有主机的全部功能。这被称作完全虚拟化。 它有一个优势就是不用修改客户操作系统。VMware ESX 是完全虚拟化的例子。但是这样有很多问题: 一些操作系统超级用户的指令必须被VMM正确的虚拟化,这可能导致一些操作如创建一个新的进程的性能开销严格的很大。
另外一个实现虚拟化的方法是部分虚拟化。部分虚拟化通过充分利用底层硬件相似而不完全相同的VM抽象层来避免性能的缺陷。一般来说实现部分虚拟化需要客户操作系统在运行前被修改。这种方法禁止独立客户操作系统和虚拟化软件层的独立性,这样就不需要修改应用程序。Xen的hypervisor是基于部分虚拟化。

大大人物  发表于: 2010-01-24

我要回答

电子邮件地址不会被公开。 必填项已用*标注

敬请读者进行回答,本站保留删除与本问题无关和不雅内容的权力。

相关推荐