虚拟化技术概览

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

虚拟化技术概览

您的评价: 收藏该经验

阅读目录

• 1. 全虚拟化(Full Virtualization)

• 2. 半虚拟化(Para Virtualization)

• 1. KVM

• 2. Xen

• 3. Hyper-V

• 4. Vmware ESXI

• 5. QEMU

• 6. KVM和QEMU的关系

• 1. Linux虚拟化技术Xen和KVM的优势特点对比

• 2. 虚拟化Xen和虚拟化KVM在Linux下的区别

• 3. VPS 选择

本篇文章所有资料均收集自网上,本文仅做了一下梳理和汇总。本文首先介绍了虚拟化技术:全虚拟化和半虚拟化,然后介绍了KVM、Xen、Hyper-V、VMWARE EXSI的原理和架构,接着重点对KVM和Xen做了比较,并对两者的未来发展提供了一些业界人士的观点,最后对Google、Amazon、IBM、Microsoft的云计算产品进行了介绍。

一、虚拟化技术:全虚拟化、半虚拟化

1. 全虚拟化(Full Virtualization)

全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些受保护指令必须由Hypervisor (虚拟机管理程序)来捕获处理。

全虚拟化模型

全虚拟化的运行速度要快于硬件模拟,但是性能方面不如裸机,因为Hypervisor需要占用一些资源

回到顶部2. 半虚拟化(Para Virtualization)

半虚拟化是另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的guest操作系统集成了虚拟化方面的代码。该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作。

半虚拟化模型

半虚拟化需要guest操作系统做一些修改,使guest操作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原操作系统相近的性能。

二、KVM、Xen、Hyper-V、VMware EXSI原理和架构

回到顶部1. KVM

KVM全称是Kernel-based Virtual Machine,即基于内核的虚拟机。

KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT 或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。

KVM虚拟化平台架构

KVM 是一个独特的管理程序,通过将KVM 作为一个内核模块实现,在虚拟环境下Linux 内核集成管理程序将其作为一个可加载的模块可以简化管理和提升性能。在这种模式下,每个虚拟机都是一个常规的Linux 进程,通过Linux 调度程序进行调度。

回到顶部2. Xen

Xen 是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化,Xen支持hypervisor和虚拟机互相通讯,而且提供在所有Linux版本上的免费产品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise Server。Xen最重要的优势在于半虚拟化,此外未经修改的操作系统也可以直接在xen上运行(如Windows),能让虚拟机有效运行而不需要仿真,因此虚拟机能感知到hypervisor,而不需要模拟虚拟硬件,从而能实现高性能。

1)XEN 的发展与现状

XEN 最初是作为剑桥大学的一个项目,目前 社区在负责它的开发及维护,它已经在开源社区中得到了极大的发展。XEN 是一种直接运行在硬件上一层软件,它可以让电脑硬件上同时跑多个用户的操作系统。由于对x86, x86-64, Itanium, Power PC, 和ARM 这些处理器的支持,所以XEN 管理工具可以支持的操作系统有Linux, NetBSD,FreeBSD,Solaris, Windows 和其他一些运行在XEN 上的正常的操作系统。如下图所示XEN 在系统中的位置:

XEN 在系统的位置

Xen 目前具有以下几种产品:

•Xen Hypervisor ——后面会详细讲解,在此不作赘述。会导致转换有问题;

•XCI ——种嵌入式管理工具,基于Xen Hypervisor 的基础之上修改而来,相对于标准的Xen Hypervisor,它使用的库更小,目前主要用在笔记本以及一些移动设备上,可以使用Intel 或者AMD 的架构;

•Xen Cloud Platform ——目前它为ISVs 和服务提供商提供了一套基于强大的管理栈的云架构平台,这个栈是基于开放的标准API;

•还有一些 上的项目,再此就不一一列举了。

2)XEN 体系结构

XEN 体系结构图

一个XEN 虚拟机环境主要由以下几部分组成:

•XEN Hypervisor;

•Domain 0 ——Domain Management and Control(XEN DM&C);

•Domain U Guest(Dom U)

1.PV Guest

2.HVM Guest

下图显示除了各部分之间的关系:

Xen 三部分组成之间关系图

•XEN Hypervisor :

XEN Hypervisor 是介于操作系统和硬件之间的一个软件描述层。它负责在各个虚拟机之间进行CPU 调度和内存分配。XEN Hypervisor 不仅抽象出虚拟机的硬件,同时还控制着各个虚拟机的执行。XEN Hypervisor 不会处理网络、存储设备、视频以及其他I/O.

•Domain 0:

Domain 0 是一个修改过的Linux kernel,是唯一运行在Xen Hypervisor 之上的虚拟机,它拥有访问物理I/O 资源的权限,同时和系统上运行的其他虚拟机进行交互。Domain 0 需要在其它Domain 启动之前启动。

•Domain U:

运行在Xen Hypervisor 上的所有半虚拟化(paravirtualized)虚拟机被称为“Domain U PV Guests”,其上运行着被修改过内核的操作系统,如Linux、Solaris、FreeBSD 等其它UNIX 操作系统。所有的全虚拟化虚拟机被称为“Domain U HVM Guests”,其上运行着不用修改内核的操作系统,如Windows 等。

相关文档
最新文档