VMware与微软大打口水战 虚拟化究竟谁更优?(1)
在虚拟化技术市场中可选择的产品和解决方案其实并不多,因为活跃在其中的技术提供商也就那么有限的几家,如提供独立软件解决发难的VMware和微软,还有配合自身硬件产品使用如SUN和IBM。但正因为是可选方案不多,同样基于硬件虚拟化架构不同厂商的技术究竟是谁优谁劣,在业界中存在多种声音,矛头直指竞争对手,这往往使刚接触虚拟化技术的用户一头雾水,或者在竞争中并不存在优或劣,但架构也好,技术也好,都是存在很大的差异,本文综合各方意见,看看这些虚拟化技术究竟存在哪些差别,还有这些差些对用户的选择会有拿些影响。
现在市面上流行的虚拟化技术大概四种。一种是比较熟悉的VMware,VMware是市场领先者,因为它是很早就开始推广虚拟技术。从免费的workstation到高端的ESX,VMware的主要技术体现在用软件模拟硬件的东西,把所有硬件彻底的抽象出来。所以VMware上的一个应用程序用起来的时候跟物理硬件不直接发生调度关系。在VMware上面可以运行各种各样的操作系统,比如可以运行Windows、可以运行Linux,各种各样的系统。
![]() |
VMware虚拟架构
VMware的ESX Server在每台物理机上加载一个“服务控制台”,来管理和操控Hypervisor的动作,解决了传统x86硬件管理中的ring转换问题,支持所有x86兼容OS,且系统无须更改设置。虽然这种通过软件模拟硬件服务的做法具有较大的灵活性,但代价是会导致较大幅度的性能损耗用户虚拟系统中的硬件抽象层。
另外一个就是微软,微软因为2003年的时候买了一个虚拟化技术公司,并2008年正式推出基于硬件层之上的虚拟化产品,在这点上微软已经赶上了VMware。微软的虚拟化产品Hyper-V以前被称作Viridian或者WSV。
![]() |
2008上的Hyper-V的基本架构
同样采用Hyperisor内核架构的Hyper-V可以提供高效的分区间通信机制,并在此基础上创建高性能的虚拟I/O架构,并且充分利用Windows驱动模型,以便提供广泛的硬件支持,因为Hypervisor可以把单个服务器分割为多个CPU和内存的容器。目前,大多数子操作系统都还没有意识到虚拟化。它们以为是直接在服务器硬件上运行,因此需要使用hypervisor提供的硬件模拟。这个道理跟电影《黑客帝国》中不能分辨真实虚幻的人们一样,虚拟服务器会认为操作系统是构建在真实硬件之上,但作为父分区的Windows Server 2008,虽然它看似是物理系统,但实际上也是一个特殊的虚拟机,不过他的控制力能象电影里的Neo一样能透过hypervisor的隔离层。
还有一种是IBM的很早有一个大型机的那种技术,IBM也是虚拟化技术的领先者。是可以一部分一部分的分出来,然后在上面各个系统运行不同的东西,变成多台虚拟的服务器。
另外,现在业界关注的还有被思杰(Citrix)并购的Xen。Xen虚拟化管理程序非常小,代码量不超过5万,把大批量以前专业系统做的那些虚拟化需要做的东西上移到操作系统。这样充分利用操作系统的功能,比如说设备驱动程序,像VMware它是通常运行Windows,那么下面所有的设备驱动程序都要完全模拟出来。如果另外一个系统是运行Linux的,要全部的Linux设备驱动程序模拟出来。这样导致下面的虚拟程序非常庞大,Xen是所有的驱动设备只有一个,全部用Linux的方式。比如说全部用RedHat的管理程序,驱动程序。
新品面世,自卖自夸:
看完基础架构,再一起来看看Hyper-V的体系结构:
![]() |