`

ubuntu 虚拟化 KVM QEMU libvirt

 
阅读更多
KVM QEMU libvirt三者的关系大致如下:

qemu,kvm,qemu-kvm,xen,libvir 区别
引用

QEMU

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

QEMU本身可以不依赖于KVM,但是如果有 KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。


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 的关系。

QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。 而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,不妨称之为:KVM+QEMU.

KVM用户空间虚拟机管理工具有kvm, kvm-img, kvm-nbd ,kvm-ok 和kvm_stat,实际上kvm就是一个指向qemu-system-x86_64的符号链接,kvm-img则是指向qemu-img的符号链接。从适用的范围来讲, QEMU虚拟化方案除了支持x86架构外,还支持其他很多架构,比如qemu-system-m68k,qemu-system-mips64, qemu-system-ppc64, qemu-system-arm等等。但是目前提到KVM,一般指x86上基于Intel VT和AMD SVM的解决方案,虽然目前将KVM移植到ARM, PPC的工作正在进行中。


当然由于redhat已经开始支持KVM,它认为KVM+QEMU'的方案中用户空间虚拟机管理工具不太好使,或者通用性不强,所以redhat想了一个libvirt出来,一个用来管理虚拟机的API库,不只针对KVM,也可以管理Xen等方案下的虚拟机。


KVM (kernel-based virtual machine)中文含义:基于内核的虚拟机

(1)是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的linux [全虚拟化] 解决方案。

(2)它包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko 或 kvm-AMD.ko)。

(3)kvm还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。

(4)kvm能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(ps:它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。

(5)在主流的linux内核,如2.6.20以上的内核均包含了kvm核心。



qemu 全称Quick Emulator 。kvm并不需要qemu进行虚拟处理,只是需要它的上层管理界面进行虚拟机控制。虚拟机依旧是由kvm驱动。
分享到:
评论

相关推荐

    Libvirt Qemu KVM 教程大全

    本文档介绍了虚拟化的基础知识、不同类型的虚拟化技术以及 KVM、Qemu 和 Libvirt 之间的关系。通过了解这些核心概念和技术细节,您可以更好地理解如何在实际环境中部署和管理虚拟化环境。接下来的章节将深入探讨 ...

    Libvirt Qemu.pptx

    通过以上介绍可以看出,Libvirt、Qemu和KVM三者相互协作,共同构建了一个高效且灵活的虚拟化平台。Libvirt提供了高级别的管理接口,Qemu作为模拟器处理除CPU指令外的其他硬件模拟任务,而KVM则专注于优化CPU指令处理...

    Ubuntu 12.10 KVM虚拟化安装指导,内容较全

    **Ubuntu 12.10 KVM虚拟化安装指南** KVM(Kernel-based Virtual Machine)是一种基于Linux内核的全虚拟化解决方案,它允许Linux操作系统作为宿主机运行多个虚拟机。本指南旨在帮助用户在Ubuntu 12.10上安装和配置...

    大二下学期KVM虚拟化实践与编程实验报告.zip

    在大二下学期的KVM虚拟化实践与编程实验中,学生将深入理解并操作虚拟化技术,特别是基于Kernel-based Virtual Machine (KVM) 和 QEMU 的环境。这个实验涵盖了虚拟化环境的搭建、虚拟机的启动与管理、虚拟化应用的...

    vmdashboard:QEMU和KVM虚拟机的基于Web的开源虚拟化管理界面

    **虚拟化技术与QEMU、KVM** 虚拟化技术已经成为现代数据中心的核心,它允许在一个物理服务器上运行多个独立的操作系统实例,从而提高了硬件资源的利用率。QEMU(Quick Emulator)和KVM(Kernel-based Virtual ...

    Qemu使用手册中文版

    libvirt是一个API库,用于管理和控制虚拟化平台,包括QEMU/KVM。virsh是基于libvirt的命令行工具,可以方便地创建、管理虚拟机。通过virsh,你可以执行如`virsh start domain_name`来启动虚拟机,`virsh list`查看...

    LibvirtQemuKVM

    Libvirt、QEMU和KVM是当前流行的虚拟化技术工具,它们各自扮演着不同的角色,相互协作,共同实现了虚拟化的多种应用。 首先,虚拟化技术可以分为几种基本类型,包括无虚拟化、半虚拟化(Paravirtualization)、全...

    Ubuntu12.04配置KVM方法操作步骤20150901.pdf

    接着,安装KVM本身和相关的管理工具,如`kvm`、`qemu`、`virtinst`、`python-libvirt`、`virt-viewer`、`virt-manager`,这些都是KVM虚拟化环境中不可或缺的部分。 配置网络连接对于KVM来说也非常重要。在本例中,...

    Ubuntu12.04配置KVM方法操作步骤20150901.docx

    【标题】:Ubuntu12.04配置KVM虚拟化环境详解 【描述】:本文将详细介绍如何在Ubuntu 12.04操作系统上配置并使用KVM(Kernel-based Virtual Machine)虚拟化技术,包括硬件支持检测、软件安装以及网络配置等关键...

    实验四 混合虚拟化之KVM.pdf

    实验四的焦点是混合虚拟化技术,特别是KVM(Kernel-based Virtual Machine),这是一种在Linux操作系统上的开源虚拟化解决方案。KVM依赖于Intel VT或AMD-V等硬件虚拟化扩展来实现虚拟化功能。在这个实验中,目标是...

    《云计算与虚拟化》课程实验教学设计.pdf

    QEMU是一个开源的模拟器和虚拟化软件,支持KVM作为其虚拟化后端。当QEMU与KVM结合时,可以实现高性能的虚拟化。 Libvirt是一个开源的API、守护进程和管理工具集,它提供了一组用于管理虚拟化的工具和库,主要用在...

    qemu-kvm配置bridge

    - libvirt:提供虚拟化管理的库和API。 - qemu-kvm:KVM虚拟机的运行时环境。 3. 配置桥接网络接口:创建一个新的网络配置文件,设置一个桥接设备br0,将其绑定到物理网络接口p3p1上,以实现桥接模式。 - 编辑...

    KVM虚拟化技术:实战与原理解析

    KVM不仅支持传统的基于QEMU的虚拟化,还集成了QEMU来处理I/O设备模拟,提供图形化界面和网络连接。 在实战方面,KVM虚拟化技术的实施步骤通常包括以下几点: 1. 安装和配置KVM兼容的Linux发行版,例如Ubuntu、...

    3-准备 KVM 实验环境 1

    1. `qemu-kvm` 和 `qemu-system`:这两个是KVM的核心组件,它们利用Linux内核的虚拟化扩展(如Intel VT或AMD-V),提供CPU、内存和I/O虚拟化功能。 2. `libvirt-bin`:这是libvirt库的二进制版本,用于管理和控制...

    kvm虚拟机安装介绍,KVM

    Libvirt支持多种虚拟化技术,包括KVM、Xen等。通过Libvirt,用户可以使用统一的接口来管理不同类型的虚拟机。其中,virsh是一个基于文本的管理虚拟机的命令行工具,而virt-manager则是一个图形界面的虚拟机管理工具...

    详解Ubuntu 16.04 搭建KVM环境

    KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它允许将Linux操作系统转变为一个全功能的虚拟化平台。在Ubuntu 16.04上搭建KVM环境,可以创建多个独立运行的虚拟机,这些虚拟机可以在同一台主机上...

    8 Ubuntu KVM安装配置.pdf

    "8 Ubuntu KVM安装配置" KVM(Kernel-based Virtual Machine)是一种开源的虚拟机软件,用于在...安装和配置 KVM 需要确认 CPU 是否支持虚拟化,配置国内镜像源,安装 KVM 及相关依赖包,确认 Libvirtd 服务已经启动。

    QEMU安装包.zip

    在Ubuntu中,这些可能包括`libvirt`, `kvm`(如果希望进行硬件虚拟化),以及其他的库和工具。运行`sudo apt install -y libvirt-dev qemu-kvm libvirt-daemon-system`等命令来安装它们。 4. **安装QEMU**:一旦...

    KVM-Virtualization-Ubuntu-20_04-master.zip

    【标题】"KVM-Virtualization-Ubuntu-20_04-master.zip" 提供的是一个关于在Ubuntu 20.04上部署和管理KVM(Kernel-based Virtual Machine)虚拟化的教程或资源包。KVM是Linux内核中的一个模块,允许将Linux系统转换...

    Qemu Kvm 搭建DPDK实验平台.pdf

    QEMU/KVM是开源虚拟化解决方案,支持在Linux系统上运行虚拟机;而DPDK是一套用于快速处理数据包的库和驱动程序集合,它能够帮助应用程序绕过常规内核处理流程,直接在用户空间操作网络数据包,提高数据包处理的速度...

Global site tag (gtag.js) - Google Analytics