如何甄别Xen和VMware两种服务器虚拟化软件

目前Xen和VMware是市场上主流的两大虚拟化产品。这两大产品背后的架构区别,将带来不同的应用体验。
● VMware
VMware是业界著名的虚拟机产品,其主打产品是VI3 (VMware Infrastructure 3)软件套装。VI3以其杰出的管理能力,受到了广大数据中心的青睐。
在VMware中,最核心的软件是 ESX Server。ESX Server直接安装在裸机上,在硬件和操作系统之间形成一个虚拟化层。ESX Server将一台物理服务器划分为多个可移植的虚拟机环境。VMFS(Virtual Machine File System)则是封装ESX Server的存储载体。ESX的虚拟层级实际上包裹了硬件,ESX创建了一个硬件接口层Hardware Interface Layer,所有虚拟机如果想跟硬件通信,必须经过这个硬件接口层,完成诸如内存偏移转换的工作。这里需要强调的是,ESX的特点是完全包裹硬件,不允许程序直接访问硬件。
当然,ESX只是VMware最基础的技术,VI3中其余的工具,用于完善虚拟化和可视化管理。其中,DRS(Distributed Resourced Scheduler)可以将多个ESX Server资源合并为群集,同时,按照假定所有资源都在一台主机上的方法,简单管理群集。Virtual SMP可以让单个虚拟机同时使用多个处理器。VMware Vmotion可以使虚拟机从一台物理服务器迁移到另一台物理服务器,迁移过程中不用宕机。此外,它也提供虚拟的双机热备和集成备份等功能。最后,所有虚拟化复杂的管理,都可以由Virtual Center虚拟中心控制台轻松完成。
● Xen
Xen VMM(Virtual Machine Monitor)是由剑桥大学计算机实验室开发的一个开源项目,它能够让我们创建更多虚拟机,每一个虚拟机都是运行在同一个操作系统上的实例。
这些客户OS可以是修补过的Linux 2.4或2.6内核,也可以是修补过的NetBSD/FreeBSD内核。用户应用程序就运行在这些客户OS上,并不需要修改任何代码。但是,随着将来的处理器能支持虚拟化的特性,内核也就不需要打补丁了。比如Intel的VT和AMD的Pacifica处理器都将包括这种功能。
在Xen中, “系统管理程序”运行在0环,客户OS运行在1环,应用程序运行在3环。这种关系对于x64有一点不同,就是客户内核和应用程序都运行在3环上。
Xen自称为”系统管理程序”,是因为它比客户OS所需的系统管理代码运行的特权级还高。当系统引导的时候,Xen装载到0环的内存中。它在1环上启动修补过的内核,称做domain 0(domain是指一个运行中的虚拟机,在其上有一个guest OS在执行)。从这个domain开始,可以创建更多的domain,也可以销毁它们,还可以进行domain迁移、设置参数等。系统创建的那些domain也运行在1环内核中,用户应用程序运行在3环。
目前,修补过的Linux 2.4和2.6内核可以作为domain 0。据Xen开发者所说,将来domain 0仅支持2.6的内核补丁。构造domain 0的大部分工作是在xen/arch/x86/domain_build.c中的construct_dom0()方法中实现的。物理设备驱动程序只能运行在特权级,也就是domain 0上。Xen依靠Linux或其他修补过的OS内核对它所管理的设备提供虚拟化支持。这样的好处就是Xen的开发者不必再去开发设备驱动程序。在一个有标签TLB的处理器上使用Xen能够大大提高性能。标签TLB能够把ASID(Address Space Identifier)放在TLB入口处。有了这个特性,当处理器在系统管理程序和客户OS之间切换时就不需要刷新TLB了,这大大减少了系统开销。

鹏鹏鸟  发表于: 2010-01-24

我要回答

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

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

相关推荐