openstack 虚拟化技术
KVM(Kernel-based Virtual Machine)基于内核的虚拟机
KVM 是集成到 Linux 内核的 Hypervisor,是 X86 架构且硬件支持虚拟化技术(Intel VT 或 AMD-V)的 Linux 的全虚拟化解决方案。它是 Linux 的一个很小的模块,利用 Linux 做大量的事,如任务调度、内存管理与硬件设备交互等。
图3 KVM虚拟化平台架构
Xen
Xen 是第一类运行在裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化,Xen支持 hypervisor 和虚拟机互相通讯,而且提供在所有 Linux 版本上的免费产品,包括Red Hat Enterprise Linux 和 SUSE Linux Enterprise Server。Xen 最重要的优势在于半虚拟化,此外未经修改的操作系统也可以直接在 xen 上运行(如 Windows),能让虚拟机有效运行而不需要仿真,因此虚拟机能感知到hypervisor,而不需要模拟虚拟硬件,从而能实现高性能。
图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 的关系。
图5 KVM 和 QEMU 关系
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: openstack 虚拟化类型
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论