服务器虚拟化软件选型如何做到心中有数?
2009-02-18 16:55:01 来源:WEB开发网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了,这大大减少了系统开销。
最大区别体现在对I/O设备的处理上
VMware ESX服务器的架构是建立在直接执行(直接在硬件上运行用户级的虚拟机编码)和二进制译码(对特权级别编码进行动态编译)的基础上,从根本上说,它是把一个完整的x86平台导出到虚拟机上。ESX服务器可以使大多数能在x86上执行的操作系统都能在虚拟机上运行,而不需要进行任何修改。
Xen的架构中使用了一种Para虚拟化技术(Para Virtualization),对虚拟出来的客户操作系统(Guest OS)进行修改,使它知道自己是在虚拟环境下运行。
更多精彩
赞助商链接