当前位置:首页 > 虚拟化 > 正文

kvm虚拟化介绍与演示(kvm虚拟化使用教程)

Hyper-V和kvm区别,作为虚拟化都有哪些区别。欢迎各位高手解答,谢谢!

分层虚拟化,也称为para-V

openstack的虚拟化技术有个kvm,什么是kvm?什么qemu,libvirt

所谓KVM技术,实际上应用了两个东西:qemu+kvm
Kvm负责CPU虚拟化+内存虚拟化,实现了CPU和内存的虚拟化,但是Kvm无法模拟其他设备;
Qemu是一个模拟I/O设备(网卡、硬盘)。添加kvm和qemu后,就可以实现真正的服务器虚拟化。
因为用到了上面两个东西,所以一般称为qemu-kvm。
libvirt调用KVM虚拟化技术接口进行管理。使用libvirt进行管理很方便,但是直接使用qemu-kvm接口就太麻烦了。

虚拟化技术KVM和XEN的区别

虚拟化的类型
全虚拟化(FullVirtualization)
全虚拟化也成为最初的虚拟化技术。该模型使用虚拟机来编排来宾作和本机硬件。VMM为了在来宾作和硬件之间进行协调,虚拟机管理程序必须捕获并处理一些受保护的命令。
图1全虚拟化模型
全虚拟化运行速度比硬件模拟快,但由于虚拟集的原因,其性能不如机虚拟化需要占用一些资源资源
ParaVirtualization(ParaVirtualization)
ParaVirtualization是另一种类似于全虚拟化的技术。它使用虚拟机管理程序来共享对底层硬件的访问,但其客户作集成了虚拟化代码。这种不需要重新编译或陷阱,因为作本身可以很好地与虚拟进程配合使用。
图2半虚拟化模型
半虚拟化要求来宾作进行一些修改,以使来宾作识别出它处于虚拟化环境中,但半虚拟化提供了类似的性能到本机作。
虚拟化技术
KVM(Kernel-basedVirtualMachine)基于内核的虚拟机
KVM是集成到Linux内核中的Hypervisor,是X86架构适用于Linux的完整虚拟化解决方案,具有虚拟化技术(IntelVT或AMD-V)的硬件支持。这是一个小型的Linux模块,它使用Linux来做很多事情,比如任务调度、内存管理以及与硬件设备交互。
图3KVM虚拟化平台架构
Xen
Xen是类运行在机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和并行虚拟化。Xen支持虚拟机管理程序和虚拟机之间的通信,并在所有Linux版本上提供产品,包括RedHatEnterpriseLinux和SUSELinuxEnterpriseServer。Xen最重要的优点是半虚拟化,此外,未经修改的作也可以直接在Xen上运行(如Windows),允许虚拟机无需模拟即可高效运行,因此虚拟机无需模拟虚拟硬件即可到达hypervisor,从而实现高性能。
图4Xen虚拟化平台架构
QEMU
QEMU是由FabriceBellard编写的处理器模拟软件套件。它与Bochs和PearPC类似,但它具有这两种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关系