虚拟化类型
全虚拟化(Full)
全虚拟化也成为了最初的虚拟化技术。该模型使用虚拟机来协调客户操作系统和原始硬件。VMM为了协调来宾操作系统和裸硬件之间的工作,一些受保护的指令必须由虚拟机管理程序(hypervisor)捕获并处理。
图1全虚拟化模型
全虚拟化运行速度比硬件模拟快,但性能不如裸机虚拟化,因为Hypervisor要占用一些资源
半虚拟化(Para)
半虚拟化是另一种类似于全虚拟化的技术。它使用虚拟机管理程序来共享对底层硬件的访问,但其客户操作系统集成了虚拟化方面。这种方法不需要重新编译或陷阱,因为操作系统本身可以很好地与虚拟进程配合使用。
图2半虚拟化模型
半虚拟化要求来宾操作系统进行一些更改,让来宾操作系统了解自己处于虚拟化环境中,但半虚拟化提供的性能与此类似原来的操作系统。
虚拟化技术
Kernel-basedVirtualMachine(KVM)基于内核的虚拟机
KVM是集成到Linux内核中的hypervisor。它是X86架构,硬件支持使用虚拟化技术(IntelVT或AMD-V)的Linux完整虚拟化解决方案。它是Linux的一个小模块,利用Linux来做很多事情,比如任务调度、内存管理、与硬件设备交互等。
图3KVM虚拟化平台架构
Xen
Xen是第一类运行在裸机上的虚拟化管理程序(Hypervisor)。支持全虚拟化和半虚拟化。Xen支持虚拟机管理程序和虚拟机之间的通信。它还提供所有Linux版本的免费产品,包括RedHatEnterpriseLinux和SUSELinuxEnterpriseServer。Xen最重要的优势是半虚拟化。此外,未经修改的操作系统也可以直接在Xen上运行(如Windows),从而使虚拟机无需模拟即可有效运行。因此,机器虚拟化使虚拟机管理程序意识到需要模拟虚拟硬件,从而实现高性能。
图4Xen虚拟化平台架构
QEMU
QEMU是FabriceBellard编写的一套模拟处理器的免费软件。它与Bochs和PearPC类似,但具有后两者所不具备的一些特性,例如高速和跨平台功能。通过开源加速器kqemu,QEMU可以模拟接近真实计算机的速度。
KVM与QEMU的关系
准确的说,KVM是Linux内核的一个模块
。您可以使用modprobe命令加载KVM模块。加载模块后,您可以通过其他工具进一步创建虚拟机。但仅有KVM模块是不够的,因为用户无法直接控制内核模块执行操作。您还需要有一个在用户空间中运行的工具。对于这个用户空间工具,KVM开发人员选择了已经成熟的开源虚拟化软件QEMU。顺便说一句,QEMU也是一个虚拟化软件。它的特点是可以虚拟出多个CPU。例如,PowerCPU可以在x86CPU之上虚拟化,并可用于编译可以在Power上运行的程序。KVM使用了QEMU的一部分,并稍加修改,成为能够控制KVM的用户空间工具。然后你会看到官方的KVM下载有两个(qemu和kvm)和三个文件(KVM模块、QEMU工具以及两者的集合)。换句话说,您可以仅更新KVM模块或仅更新QEMU工具。这就是KVM和QEMU的关系。
图5KVM与QEMU的关系
虚拟化提供了IT资源的逻辑抽象和统一表示,在管理和提供大型数据中心解决方案方面发挥着重大作用,是支撑云计算伟大思想的最重要的技术基础。本书以在数据中心构建利用服务器虚拟化技术的云计算平台为主题,全面阐述了虚拟化和云计算的背景、发展现状和主要技术。本书体系完整、内容丰富,帮助读者了解信息产业未来发展的总体背景。
上一篇:虚拟化技术和云计算的关系
下一篇:论服务器虚拟化与云计算