虚拟化的类型
全虚拟化
全虚拟化也成为了自己的虚拟化技术。该模型使用虚拟机来协调来宾操作系统及其自身的硬件VMM。一些受保护的指令必须由虚拟机管理程序捕获和处理,以实现来宾操作系统和裸硬件之间的工作协调。
图1全虚拟化模型
全虚拟化运行速度比硬件模拟快,但需要较少的hypervisor占用,性能不如裸机。一些空间资源
ParaVirtualization
ParaVirtualization是另一种类似于完全虚拟化的技术,它使用虚拟机管理程序来实现,但该来宾集成了虚拟化代码。这种方法不需要重新编译或陷阱,因为操作系统本身可以与虚拟进程配合良好。
图2半虚拟化模型
通过半虚拟化,客户操作系统将需要对您的系统进行一些更改。是的,但是半虚拟化提供了与原始操作系统类似的性能。
虚拟化技术
KVM(Kernel-basedVirtualMachine)基于内核的虚拟机
KVM是集成到Linux内核中的hypervisor,是一个X86的架构。使用虚拟化技术(IntelVT或AMD-V)并具有硬件支持的完整Linux虚拟化解决方案。它是Linux的一个小模块,利用Linux来做很多事情,比如任务调度、内存管理、硬件设备交互等。
图3KVM虚拟化平台架构
Xen
Xen是第一种运行在裸机上的KVM虚拟化平台。它是一个虚拟化管理程序(hypervisor)。Xen支持完全虚拟化和半虚拟化,支持虚拟机管理程序和虚拟机相互通信,并且在所有Linux版本上免费提供,包括RedHatEnterpriseLinux和SUSELinuxEnterpriseServer。Xen最重要的好处是它的半虚拟化,这使得它可以直接在虚拟硬件上运行未经修改的操作系统,从而获得高性能。
图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关系