openstack 虚拟化技术

KVM(Kernel-based Virtual Machine)基于内核的虚拟机

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

openstack 虚拟化技术

图3 KVM虚拟化平台架构

Xen

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

openstack 虚拟化技术

图4 Xen虚拟化平台架构

QEMU

QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。

KVM 和 QEMU 的关系

准确来说,KVM 是 Linux kernel 的一个模块。可以用命令 modprobe 去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是 远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚拟化软件 QEMU。

说起来 QEMU 也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出可运行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两大部分(qemu和kvm)三个文件(KVM模块、QEMU工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级 QEMU 工具。这就是 KVM 和 QEMU 的关系。

openstack 虚拟化技术

图5 KVM 和 QEMU 关系

以上是 openstack 虚拟化技术 的全部内容, 来源链接: utcz.com/z/264789.html

回到顶部