热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

XEN与VMware等虚拟化技术优劣势对比

Update:13-11-2008关于xenHypervisor个人理解的一点补充.xenhypervisor类似一个linux的kernel.位于/boot/下名字xen-3.2-gz.系统启动的时候它先启动。然后它在载入dom0.所有对其他domainU的监控管理操作都要通过domain0.因为hypervisor
Update: 13-11-2008
关于xen Hypervisor个人理解的一点补充.
xen hypervisor 类似一个linux的kernel .位于/boot/下 名字 xen-3.2-gz.
系统启动的时候 它先启动 。 然后 它在载入dom0.
所有对其他domainU的监控 管理 操作都要通过domain0.
因为hypervisor 只是一个 类kernel. 没有各种application. 需要借助domain0的application 比如xend xenstore
xm 等。
个人猜想 ,hypervisor 能集成一些简单的管理程序 也是可能的。 vmware好像也正在作植入硬件的hypervisor
将来的发展 可能是是 hypervisor 会和bios一样 在每个服务器上集成了。然后每台服务器 买来后 就自动支持
可以启动数个操作系统了。 彻底打破 一台裸机 只能装一个操作系统的传统。
-----------------

虚拟化技术(Virtualization)和分区(Partition)技术是紧密结合在一起,从60年代Unix诞生起,虚拟化技术和分区技术就开始了发展,并且经历了从“硬件分区”->“虚拟机”->“准虚拟机”->“虚拟操作系统”的发展历程。最早的分区技术诞生自人们想提升大型主机利用率需求。比如在金融、科学等领域,大型Unix服务器通 常价值数千万乃至上亿元,但是实际使用中多个部门却不能很好的共享其计算能力,常导致需要计算的部门无法获得计算能力,而不需要大量计算能力的部门占有了 过多的资源。这个时候分区技术出现了,它可以将一台大型服务器分割成若干分区,分别提供给生产部门、测试部门、研发部门以及其他部门。
    几种常见的虚拟化技术代表产品如下:
类型 代表产品
硬件分区 IBM/HP等大型机硬件分区技术
虚拟机 (Virtual Machine Monitor) EMC VMware Mircosoft Virtual PC/Server Parallels
准虚拟机 (Para-Virtualization) Xen Project
虚拟操作系统 (OS Virtualization) SWsoft Virtuozzo/OpenVZ Project Sun Solaris Container HP vSE FreeBSD Jail Linux Vserver

硬件分区技术
    硬件分区技术如下图所示:硬件资源被划分成数个分区,每个分区享有独立的CPU、内存,并安装独立的操作系统。在一台服务器上,存在有多个系统实例,同时启动了多个操作系统。这种分区方法的主要缺点是缺乏很好的灵活性,不能对资源做出有效调配。随着技术的进步,现在对于资源划分的颗粒已经远远提升,例如在IBM AIX系统上,对CPU资源的划分颗粒可以达到0.1个CPU。这种分区方式,在目前的金融领域,比如在银行信息中心得到了广泛采用。

虚拟机技术
    在虚拟机技术(Virtual Machine Monitor)中,不再对底层的硬件资源进行划分,而是部署一个统一的Host系统。在Host系统上,加装了Virtual Machine Monitor,虚拟层作为应用级别的软件而存在,不涉及操作系统内核。虚拟层会给每个虚拟机模拟一套独立的硬件设备,包含CPU、内存、主板、显卡、网卡等硬件资源,在其上安装所谓的Guest操作系统。最终用户的应用程序,运行在Guest操作系统中。如下图所示。


这种虚拟机运行的方式有一定的优点,比如能在一个节点上安装多个不同类型的操作系统;但缺点也非常明显,虚拟硬件设备要消耗资源,大量代码需要被翻译执 行,造成了性能的损耗,使其更合适用于实验室等特殊环境。其代表产品有EMC旗下的VMware系列、微软旗下的Virtual PC/Server系列等

准虚拟机技术

    为了改善虚拟机技术(Virtual Machine Monitor)的性能,一种新的准虚拟化技术(Para-Virtualizion)技术诞生了。这种虚拟技术以Xen为代表,其特点是修改操作系统的 内核,加入一个Xen Hypervisor层。它允许安装在同一硬件设备上的多个系统可以同时启动,由Xen Hypervisor来进行资源调配。

在这种虚拟环境下,依然需要模拟硬件设备,安装Guest操作系统,并且还需要修改操作系统的内核。Xen相对于传统的Virtual Machine Monitor,性能稍有提高,但并不十分显著。为了进一步提高性能,Intel和AMD分别开发了VT和Pacifica虚拟技术,将虚拟指令加入到了 CPU中。使用了CPU支持的硬件虚拟技术,将不再需要修改操作系统内核,而是由CPU指令集进行相应的转换操作。

操作系统虚拟化技术 (就是时下非常流行的VPS啦....蹦不路磅按)
    最新的虚拟化技术已经发展到了操作系统虚拟化,以SWsoft的Virtuozzo/OpenVZ和Sun基 于Solaris平台的Container技术为代表,其中Virtuozzo是商业解决方案,而OpenVZ是以Virtuozzo为基础的开源项目。 他们的特点是一个单一的节点运行着唯一的操作系统实例。通过在这个系统上加装虚拟化平台,可以将系统划分成多个独立隔离的容器,每个容器是一个虚拟的操作 系统,被称为虚拟环境(即VE,Virtual Environment),也被称为虚拟专用服务器(即VPS,Virtual Private Server)。如下图所示:

在操作系统虚拟化技术中,每个节点上只有唯一的系统内核,不虚拟任何硬件设备。此外,多个虚拟环境以模板的方式共享一个文件系统,性能得以大幅度提升。在生产环境中,一台服务器可根据环境需要,运行一个VE/VPS,或者运行上百个VE/VPS。所以,操作系统虚拟化技术是面向生产环境、商业运行环境的技术。


从最早的硬件分区到现阶段的虚拟机和虚拟操作系统,虚拟化技术已经发展了好几代,不同的技术路线也带来了不同的优劣势。选择什么样的技术和产品,用户还是应该结合自身的预算和应用实践来决策


推荐阅读
author-avatar
鱼儿什么都知道丶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有