机房360首页
当前位置:首页 » 服务器虚拟化 » IaaS关键:实现技术之服务器虚拟化

IaaS关键:实现技术之服务器虚拟化

来源:机房360 作者:Lily编辑 更新时间:2011-4-29 15:01:28

摘要:在服务器虚拟化技术中,被虚拟出来的服务器称为虚拟机(Virtual Machine,VM)。运行在虚拟机里的操作系统称为客户操作系统,即Guest OS。负责管理虚拟机的软件称为虚拟机管理器,缩写为VMM,也称为Hypervisor。

  服务器虚拟化通常有两种架构,分别是寄生架构(Hosted)与裸金属架构(Bare-metal)。
  
  (1)寄生架构。
  
  一般而言,在使用计算机之前,首先要安装操作系统,该操作系统称为宿主操作系统,即Host OS。如果采用虚拟机技术,则需要在操作系统之上再安装一个VMM,然后利用这个VMM创建并管理虚拟机。这种后装模式称为寄生架构,因为VMM看起来像是“寄生”在操作系统上的。例如,Oracle公司的Virtual Box就是一种寄生架构。
  
  (2)裸金属架构。
  
  顾名思义,裸金属架构是指将VMM直接安装在物理服务器之上而无须先安装操作系统的预装模式。在安装了VMM之后,再在VMM上安装其他操作系统(如Windows、Linux等)。由于VMM“看起来”是直接安装在物理计算机上的,所以称为裸金属架构,例如KVM、Xen、VMware ESX。
  
  目前,普遍认为裸金属架构的性能要比寄生架构高。很多资料都宣传说,裸金属架构是直接运行在物理硬件之上的,无须通过Host OS,所以性能更高。
  
  图3-1为Xen的工作流程,其中有3个Domain。一开始,很多人会将Domain误认为是CPU的一种特殊状态,这是因为在很多文档里会用一些比较模糊的措辞,例如“此时,系统会进入Domain0状态”,从而让人产生误解。其实,Domain在虚拟化技术里表示的不是CPU的状态,而是“域”,更通俗地说,就是一台虚拟机。
  
  虽然从图3-1上看,Xen是运行在硬件之上的,但实际上,Xen严重依赖于一个特殊的Domain,那就是Domain0。其实,Xen在发布其裸金属版本的时候,里面就包含了一个裁剪过的Linux内核,它为Xen提供了除CPU调度和内存管理之外的所有功能,包括硬件驱动、I/O、网络协议、文件系统、进程通信等所有其他操作系统所做的事情。这个Linux内核就运行在Domain0里面。这就是为什么当启动裸金属架构版的Xen时会自动启动Domain0。因为没有这个Linux内核,Xen将无法工作。事实上,基于裸金属架构的VMM中往往包含了一个经过修改的Host OS。


图3-1Xen的工作流程

  
  因此,裸金属架构其实并不说明VMM能够抛开Host OS在硬件之上运行。如果我们把图3-1中的Domain0放到与Xen Hypervisor平级的位置,或者放到Xen Hypervisor下面,Domain0就与寄生架构没有区别了,如图3-2所示。而事实上,即使是寄生架构的产品,例如Virtual Box,在Host OS里面也会有一个运行于核心的驱动程序,它可以直接与物理设备打交道。
  
  如果仔细看图3-2,会发现Domain 1和Domain 2与Domain 0之间还有一些通信。这与传统的寄生架构一样,Guest OS有时也是需要访问Host OS的。所以,裸金属架构本身不会给Guest OS的性能带来任何提升。
  
  从目前的趋势来看,虚拟化将成为操作系统本身功能的一部分。例如,KVM就是Linux标准内核的一个模块,微软的Windows2008也自带Hyper-V。


图3-2 寄生架构

  
  责任编辑:Lily

本文地址:http://www.jifang360.com/news/2011429/n908820112.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
更多
推荐图片